|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-3.10 bisection] complete test-amd64-i386-freebsd10-amd64
branch xen-unstable
xen branch xen-unstable
job test-amd64-i386-freebsd10-amd64
test guest-saverestore
Tree: linux
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.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: 2addb502cdb50bab00514b9723bf6e09c88ff75e
Bug not present: 65fc9b78ba3d868a26952db0d8e51cecf01d47b4
commit 2addb502cdb50bab00514b9723bf6e09c88ff75e
Merge: 1e1a328 65fc9b7
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Jun 3 17:52:59 2014 +0000
Merge remote-tracking branch 'xen-staging/master' into xen-for-4.5-temp
commit 1e1a3289f473a460bee7a8745574f61c9e2f8506
Author: Olaf Hering <olaf@xxxxxxxxx>
Date: Wed May 7 13:40:04 2014 +0000
xen_disk: add discard support
Implement discard support for xen_disk. It makes use of the existing
discard code in qemu.
The discard support is enabled unconditionally. The tool stack may
provide a property "discard-enable" in the backend node to optionally
disable discard support. This is helpful in case the backing file was
intentionally created non-sparse to avoid fragmentation.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 0b981bbcfeb4714969e96457c2f0497d584a309b
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Wed May 7 13:48:37 2014 +0000
pass an inclusive address range to xc_domain_pin_memory_cacheattr
xc_domain_pin_memory_cacheattr expects an inclusive address range:
adjust the parameters.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit afcd39182fdeee6638a216936bae24b9b63285d7
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Wed May 7 13:47:29 2014 +0000
xen: factor out common functions
So common functions used by both HVM and PV are factored out from
xen-all.c to xen-common.c.
Finally rename xen-all.c to xen-hvm.c, as those functions are only
useful to HVM guest.
Create *-stub files and modify Makefile.target to reflect the changes.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit a8aef208921d5a76d5ac2e2706ab300971abf9c8
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Wed May 7 13:43:39 2014 +0000
xen: move Xen HVM files under hw/i386/xen
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 276a6063748dcc54da6b0580161f7acb6b11cb63
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Wed May 7 13:43:37 2014 +0000
xen: move Xen PV machine files to hw/xenpv
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 5ecf46031c88d78fb29e6c8b1cff0e8266c6f1b2
Author: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
Date: Wed May 7 13:41:48 2014 +0000
qemu-xen: free all the pirqs for msi/msix when driver unload
Pirqs are not freed when driver unload, then new pirqs are allocated when
driver reload. This could exhaust pirqs if do it in a loop.
This patch fixes the bug by freeing pirqs when ENABLE bit is cleared in
msi/msix control reg.
There is also other way of fixing it such as reuse pirqs between driver
reload,
but this way is better.
Xen-devel: http://marc.info/?l=xen-devel&m=136800120304275&w=2
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 84bfadbb79d6301b5e03dfa6bc7ce65431226242
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed May 7 13:40:39 2014 +0000
exec: Limit translation limiting in address_space_translate to xen
The address_space_translate() function cuts the returned plen (page size)
to hardcoded TARGET_PAGE_SIZE. This function can be used on pages bigger
than that so this limiting should not be used on such pages.
Since originally the limiting was introduced for XEN, we can safely
limit this piece of code to XEN. So does the patch.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit a9e8aeb3755bccb7b51174adcf4a3fc427e0d147
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 17 13:41:45 2014 +0100
Update version for v2.0.0 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 851627352c52b5beebf119785885391fa05a44c5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 14 17:45:11 2014 +0100
Update version for v2.0.0-rc3 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 50212d6346f33d6e19489e81b025b5c3bb8759be
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Apr 14 16:14:04 2014 +0400
Revert "fix return check for KVM_GET_DIRTY_LOG ioctl"
This reverts commit b533f658a98325d0e47b36113bd9f5bcc046fdae.
The original code was wrong, because effectively it ignored errors
from kernel, because kernel does not return -1 on error case but
returns -errno, and does not return -EPERM for this particular ioctl.
But in some cases kernel actually returned unsuccessful result,
namely, when the dirty bitmap in requested slot does not exist
it returns -ENOENT. With new code this condition becomes an
error when it shouldn't be.
Revert that patch instead of fixing it properly this late in the
release process. I disagree with this approach, but let's make
things move _somewhere_, instead of arguing endlessly whch of
the 2 proposed fixes is better.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Message-id: 1397477644-902-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c2b9af1d6c2dda4c58a1c0ff389d09dcd9601b9e
Merge: 940973a 8611224
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 14 14:02:12 2014 +0100
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi: SSDT update
This has a fix by Igor for a regression introduced by
bridge hotplug code.
Expected test files were updated accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 14 Apr 2014 13:13:35 BST using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
acpi-test: update expected files
acpi: fix incorrect encoding for 0x{F-1}FFFF
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 940973ae0b45c9b6817bab8e4cf4df99a9ef83d7
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Apr 12 22:59:50 2014 +0200
ide: Correct improper smart self test counter reset in ide core.
The SMART self test counter was incorrectly being reset to zero,
not 1. This had the effect that on every 21st SMART EXECUTE OFFLINE:
* We would write off the beginning of a dynamically allocated buffer
* We forgot the SMART history
Fix this.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Message-id: 1397336390-24664-1-git-send-email-benoit.canet@xxxxxxxxxxx
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
[PMM: tweaked commit message as per suggestions from Markus]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8611224a7b21db8fa1b0d12fdd053443543dd708
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 14 15:08:37 2014 +0300
acpi-test: update expected files
commit 58b035c7354afc0c5351ea62264c01d74196ec26
acpi: fix incorrect encoding for 0x{F-1}FFFF
changes the SSDT, update expected files accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 482f38b9488cb42939b92332ca7b5b42af882cd0
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Sun Apr 13 23:55:51 2014 +0200
acpi: fix incorrect encoding for 0x{F-1}FFFF
Fix typo in build_append_int() which causes integer
truncation when it's in range 0x{F-1}FFFF by packing it
as WordConst instead of required DWordConst.
In partucular this fixes a regression: hotplug in slots 16,17,18 and 19
didn't work, since SSDT had code like this:
If (And (Arg0, 0x0000))
{
Notify (S80, Arg1)
}
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 590e5dd98fcc926cc3b63aad35aed79235ca4c2a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 11 17:13:52 2014 +0100
configure: Make stack-protector test check both compile and link
Since we use the -fstack-protector argument at both compile and
link time in the build, we must check that it works with both
a compile and a link:
* MacOSX only fails in the compile step, not linking
* some gcc cross environments only fail at the link stage (if they
require a libssp and it's not present for some reason)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1397232832-32301-1-git-send-email-peter.maydell@xxxxxxxxxx
Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
commit f12d048a523780dbda702027d4a91b62af1a08d7
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:22 2014 +0300
vmxnet3: validate queues configuration read on migration
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-5-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3c99afc779c2c78718a565ad8c5e98de7c2c7484
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:21 2014 +0300
vmxnet3: validate interrupt indices read on migration
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-4-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9878d173f574df74bde0ff50b2f81009fbee81bb
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:20 2014 +0300
vmxnet3: validate queues configuration coming from guest
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-3-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8c6c0478996e8f77374e69b6df68655b0b4ba689
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:19 2014 +0300
vmxnet3: validate interrupt indices coming from guest
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-2-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 92b3eeadd9bc72f1f4e5ba1f62a289dc0190e88f
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Apr 10 14:47:38 2014 -0400
qom: Fix crash with qom-list and link properties
Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
'opaque' for link properties, but missed updating this call site.
Reproducer:
./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
./scripts/qmp/qmp-shell ./qmp.sock
(QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
Reported-by: Marcin GibuÅ?a <m.gibula@xxxxxxxxx>
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Message-id:
2f8f007ce2152ac3b65f0811199662799c509225.1397155389.git.crobinso@xxxxxxxxxx
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit edc243851279e3393000b28b6b69454cae1190ef
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Apr 11 15:18:08 2014 +0300
virtio-net: fix guest-triggerable buffer overrun
When VM guest programs multicast addresses for
a virtio net card, it supplies a 32 bit
entries counter for the number of addresses.
These addresses are read into tail portion of
a fixed macs array which has size MAC_TABLE_ENTRIES,
at offset equal to in_use.
To avoid overflow of this array by guest, qemu attempts
to test the size as follows:
- if (in_use + mac_data.entries <= MAC_TABLE_ENTRIES) {
however, as mac_data.entries is uint32_t, this sum
can overflow, e.g. if in_use is 1 and mac_data.entries
is 0xffffffff then in_use + mac_data.entries will be 0.
Qemu will then read guest supplied buffer into this
memory, overflowing buffer on heap.
CVE-2014-0150
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1397218574-25058-1-git-send-email-mst@xxxxxxxxxx
Reviewed-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 21e2db72601c48fa593ef7187faf17f324d925c5
Merge: 80fc7b1 5450466
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 11 14:07:24 2014 +0100
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches for 2.0.0-rc3
# gpg: Signature made Fri 11 Apr 2014 13:37:34 BST using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
block-commit: speed is an optional parameter
iscsi: Remember to set ret for iscsi_open in error case
bochs: Fix catalog size check
bochs: Fix memory leak in bochs_open() error path
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 80fc7b1755492a3698f78f7c4973751f6cf02e14
Merge: f516a5c 2d968ff
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 11 13:51:15 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-sdl-1' into staging
sdl2 relative mouse mode fixes.
# gpg: Signature made Fri 11 Apr 2014 11:36:46 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-sdl-1:
input: sdl2: Fix relative mode to match SDL1 behavior
input: sdl2: Fix guest_cursor logic
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5450466394c95cea8b661fb197ed215a4ab5d700
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Apr 10 19:36:25 2014 +0200
block-commit: speed is an optional parameter
As speed is an optional parameter for the QMP block-commit command, it
should be set to 0 if not given (as it is undefined if has_speed is
false), that is, the speed should not be limited.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cd82b6fb4daf87f17742f7971ba6cb90d23e6703
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Apr 10 09:33:55 2014 +0800
iscsi: Remember to set ret for iscsi_open in error case
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 715c3f60efa9801a777a71cd06eaf8efa7eaa2a8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 9 12:10:34 2014 +0200
bochs: Fix catalog size check
The old check was off by a factor of 512 and didn't consider cases where
we don't get an exact division. This could lead to an out-of-bounds
array access in seek_to_sector().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 28ec11bc882387e51c7450558af5a49b8be95a36
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 9 11:19:04 2014 +0200
bochs: Fix memory leak in bochs_open() error path
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 2d968ffbae6b7899064f9f86f8508d9c19021e39
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Apr 1 16:37:11 2014 -0400
input: sdl2: Fix relative mode to match SDL1 behavior
Right now relative mode accelerates too fast, and has the 'invisible wall'
problem. SDL2 added an explicit API to handle this use case, so let's use
it.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit afbc0dd649809b34583c52f2bc99b5c82c06fd53
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Apr 1 16:37:10 2014 -0400
input: sdl2: Fix guest_cursor logic
Unbreaks relative mouse mode with sdl2, just like was done with sdl.c
in c3aa84b6.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f516a5cc051db6e999e9e60dc968dcb5aeffe11f
Merge: 0a9077e 7754784
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 10 23:07:55 2014 +0100
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi: DSDT update
Two fixes here:
- Test fix to avoid warning with make check.
- Hex file update so people building QEMU
without installing iasl get exactly the same ACPI
as with.
Both should help avoid user confusion.
As it's very easy to check that the produced ACPI
binary didn't change, I think these are very low risk.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Thu 10 Apr 2014 17:09:43 BST using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
acpi: update generated hex files
tests/acpi: update expected DSDT files
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a9077ea144a7e6a6f456b94e2d2eaad21e74d34
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Apr 9 12:04:47 2014 +0100
configure: use do_cc when checking for -fstack-protector support
MacOSX clang silently swallows unrecognized -f options when doing a link
with '-framework' also on the command line, so to detect support for
the various -fstack-protector options we must do a plain .c to .o compile,
not a complete compile-and-link.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1397041487-28477-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 775478418a5244b28ce891e398e0232dc4e60b43
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Apr 10 19:03:18 2014 +0300
acpi: update generated hex files
commit f2ccc311df55ec026a8f8ea9df998f26314f22b2
dsdt: tweak ACPI ID for hotplug resource device
changes the DSDT, update hex files to match
Otherwise the fix is only effective if QEMU is built
with iasl.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 50329d3418c959ebce63c59d4c21473ac102d88f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 9 17:47:07 2014 +0300
tests/acpi: update expected DSDT files
commit f2ccc311df55ec026a8f8ea9df998f26314f22b2
dsdt: tweak ACPI ID for hotplug resource device
changes the DSDT, update test expected files to match
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit efcc87d9aedb590b8506cd1a7c8abe557c760f9e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 18:52:06 2014 +0100
Update version for v2.0.0-rc2 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7dc176bce49c61551b513508def136d5bb632b72
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 16:51:11 2014 +0100
hw/pci-host/prep: Don't reverse IO accesses on bigendian hosts
The raven_io_read() and raven_io_write() functions pass and
return values in little-endian format (since the IO op struct
is marked DEVICE_LITTLE_ENDIAN); however they were storing the
values in the buffer to pass to address_space_read/write()
in host-endian order, which meant that on big-endian hosts
the values were inadvertently reversed. Use the *_le_p()
accessors instead so that we are consistent regardless of
host endianness.
Strictly speaking the byte order of the buffer for
address_space_rw() is target byte order (which for PPC
will be BE) but it doesn't actually matter as long as we
are consistent about the marking on the IO op struct and
which stl_*_p().
This bug was probably introduced due to confusion caused by
the two different versions of ldl_p() and friends:
bswap.h defines versions meaning "host endianness access"
cpu-all.h defines versions meaning "target endianness access"
As a target-independent source file prep.c gets the bswap.h
versions; the very similar looking code in ioport.c is
compiled per-target and gets the cpu-all.h versions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1396972271-22660-1-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9bc1a1d817670702f642633a325da346047f7508
Merge: 093de72 f2ccc31
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 13:59:28 2014 +0100
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi bug fix
Here is a single last minute fix for 2.0
This changes the HID of the container used to claim
resources for CPU hotplug.
As a result, windows XP SP3 no longer brings up
an annoying "found new hardware" wizard on boot.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 08 Apr 2014 13:23:30 BST using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
dsdt: tweak ACPI ID for hotplug resource device
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f2ccc311df55ec026a8f8ea9df998f26314f22b2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Apr 6 12:47:37 2014 +0300
dsdt: tweak ACPI ID for hotplug resource device
ACPI0004 seems too new:
Windows XP complains about an unrecognized device.
This is a regression since 1.7.
Use PNP0A06 instead - Generic Container Device.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-By: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 093de72b9c226fe007f330c70a0d4ccb0baec17d
Merge: 9a4fb6a 800b0e8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 13:05:25 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-5' into staging
gtk: Implement grab-on-click behavior in relative mode
# gpg: Signature made Tue 08 Apr 2014 12:58:49 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-gtk-5:
gtk: Implement grab-on-click behavior in relative mode
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 800b0e814bef7cd14ae2bce149c09d70676e93fb
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Tue Apr 8 11:26:45 2014 +0200
gtk: Implement grab-on-click behavior in relative mode
This patch changes the behavior in the relative mode to be compatible
with other UIs, namely, grabbing the input at the first left click.
It improves the usability a lot; otherwise you have to press ctl-alt-G
or select from menu at each time you want to move the pointer. Also,
the input grab is cleared when the current mode is switched to the
absolute mode.
The automatic reset of the implicit grabbing is needed since the
switching to the absolute mode happens always after the click even on
Gtk. That is, we cannot check whether the absolute mode is already
available at the first click time even though it should have been
switched in X11 input driver side.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9a4fb6aa19d1aa8dfb3abb6210734b1a1df9e322
Merge: e792933 06f6e12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 10:58:31 2014 +0100
Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream'
into staging
Patch queue for ppc - 2014-04-08
This is the final queue for 2.0! It fixes a lot of bugs people have
seen during testing:
- Fix e500 SMP
- Fix book3s_64 DEC
- Fix VSX (new feature in 2.0) for LE hosts
- Fix PR KVM on top of pHyp (SLOF update)
# gpg: Signature made Tue 08 Apr 2014 10:24:18 BST using RSA key ID
03FEDC60
# gpg: Can't check signature: public key not found
* remotes/agraf/tags/signed-ppc-for-upstream:
PPC: Add l1 cache sizes for 970 and above systems
ppce500_spin: Initialize struct properly
PPC: Only enter MSR_POW when no interrupts pending
PPC: Clean up DECR implementation
target-ppc: Correct VSX Integer to FP Conversion
target-ppc: Correct VSX FP to Integer Conversion
target-ppc: Correct VSX FP to FP Conversions
target-ppc: Correct VSX Scalar Compares
target-ppc: Correct Simple VSR LE Host Inversions
target-ppc: Correct LE Host Inversion of Lower VSRs
target-ppc: Define Endian-Correct Accessors for VSR Field Access
target-ppc: Bug: VSX Convert to Integer Should Truncate
softfloat: Introduce float32_to_uint64_round_to_zero
pseries: Update SLOF firmware image to qemu-slof-20140404
PPC: E500: Set PIR default reset value rather than SPR value
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e792933ce1a9229d01b00f02caa39c39c30bcce8
Merge: 55519a4 9854202
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 10:41:30 2014 +0100
Merge remote-tracking branch 'remotes/mdroth/qga-pull-2014-4-7' into
staging
* remotes/mdroth/qga-pull-2014-4-7:
vss-win32: Fix build with mingw64-headers-3.1.0
Makefile: add qga-vss-dll-obj-y to nested variables
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 06f6e12491fd767b3b23573c438f925f6092e897
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 8 01:42:53 2014 +0200
PPC: Add l1 cache sizes for 970 and above systems
Book3s_64 guests expect the L1 cache size in device tree, so let's give
them proper values for all CPU types we support.
This fixes a "not compliant" warning with sles11 guests on -M pseries for
me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a2b3d89fa49ec060db646d196864a8fd15c10cf
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 7 16:48:42 2014 +0200
ppce500_spin: Initialize struct properly
The spinning struct is in guest endianness, so we need to initialize
its variables in guest endianness too.
This fixes booting e500 guests with SMP on x86 for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 05edc26c61d416831822b3186df099e8e21745b9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Apr 6 22:40:47 2014 +0200
PPC: Only enter MSR_POW when no interrupts pending
We were entering the power saving state even when interrupts (like an
external interrupt or a decrementer interrupt) were still in flight.
In case we find a pending interrupt, don't enter power saving state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Tom Musta <tmusta@xxxxxxxxx>
commit e81a982aa5398269a2cc344091ffa4930bdd242f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Apr 6 01:32:06 2014 +0200
PPC: Clean up DECR implementation
There are 3 different variants of the decrementor for BookE and BookS.
The BookE variant sets TSR[DIS] to 1 when the DEC value becomes 1 or 0.
TSR[DIS]
is then the indicator whether the decrementor interrupt line is asserted
or not.
The old BookS variant treats DEC as an edge interrupt that gets triggered
when
the DEC value's top bit turns 1 from 0.
The new BookS variant maintains the assertion bit inside DEC itself.
Whenever
the DEC value becomes negative (top bit set) the DEC interrupt line is
asserted.
So far we implemented mostly the old BookS variant. Let's do them all
properly.
This fixes booting pseries ppc64 guest images in TCG mode for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6cd7db3d92d44344d75feb432e3ece8587e1afd4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:03 2014 -0500
target-ppc: Correct VSX Integer to FP Conversion
This patch corrects the VSX integer to floating point conversion
instructions
by using the endian correct accessors. The auxiliary "j" index used by
the
existing macros is now obsolete and is removed. The JOFFSET preprocessor
macro is also obsolete and removed.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d1dec5ef550802f76ffb8cdec50e6d50467e877e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:02 2014 -0500
target-ppc: Correct VSX FP to Integer Conversion
This patch corrects the VSX floating point to integer conversion
instructions by using the endian correct accessors. The auxiliary
"j" index used by the existing macros is now obsolete and is removed.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6bbad7a91efe49b080391a45bc6305449050465a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:01 2014 -0500
target-ppc: Correct VSX FP to FP Conversions
This change corrects the VSX double precision to single precision and
single precision to double precisions conversion routines. The endian
correct accessors are now used. The auxiliary "j" index is no longer
necessary and is eliminated.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 50fc89e7b1a2837a2d92025aa2ed161d8439743b
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:00 2014 -0500
target-ppc: Correct VSX Scalar Compares
This change fixes the VSX scalar compare instructions. The existing
usage of "x.f64[0]"
is changed to "x.VsrD(0)".
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bcb7652e8dd185f2acc36fd2b9eb7b6dffcc8c47
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:59 2014 -0500
target-ppc: Correct Simple VSR LE Host Inversions
A common pattern in the VSX helper code macros is the use of "x.fld[i]"
where
"x" is a VSR and "fld" is an argument to a macro ("f64" or "f32" is
passed).
This is not always correct on LE hosts.
This change addresses all instances of this pattern to be "x.fld" where
"fld" is:
- "VsrD(0)" for scalar instructions accessing 64-bit numbers
- "VsrD(i)" for vector instructions accessing 64-bit numbers
- "VsrW(i)" for vector instructions accessing 32-bit numbers
Note that there are no instances of this pattern where a scalar
instruction
accesses a 32-bit number.
Note also that it would be correct to use "VsrD(i)" for scalar
instructions since
the loop index is only ever "0". I have choosen to use "VsrD(0)" instead
... it
seems a little clearer.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d359db00e6dfaf12cbdedd30e36f879110d4f9d1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:58 2014 -0500
target-ppc: Correct LE Host Inversion of Lower VSRs
This change properly orders the doublewords of the VSRs 0-31. Because
these
registers are constructed from separate doublewords, they must be inverted
on Little Endian hosts. The inversion is performed both when the VSR is
read
and when it is written.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80189035de73f30e42a7f933c45cccfc4b0c56e9
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:57 2014 -0500
target-ppc: Define Endian-Correct Accessors for VSR Field Access
This change defines accessors for VSR doubleword and word fields that
are correct from a host Endian perspective. This allows code to
use the Power ISA indexing numbers in code.
For example, the xscvdpsxws instruction has a target VSR that looks
like this:
0 32 64 127
+-----------+--------+-----------+-----------+
| undefined | SW | undefined | undefined |
+-----------+--------+-----------+-----------+
VSX helper code will use VsrW(1) to access this field.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0453099b7d20c9fc2946ed74f1d965ae4d173d19
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:56 2014 -0500
target-ppc: Bug: VSX Convert to Integer Should Truncate
The various VSX Convert to Integer instructions should truncate the
floating point number to an integer value, which is equivalent to
a round-to-zero rounding mode. The existing VSX floating point to
integer conversion helpers are erroneously using the rounding mode set
int the PowerPC Floating Point Status and Control Register (FPSCR).
This change corrects this defect by using the appropriate
float*_to_*_round_to_zero() routines fro the softfloat library.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a13d44896854329581ba48607d66c6b2aec157f7
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:55 2014 -0500
softfloat: Introduce float32_to_uint64_round_to_zero
This change adds the float32_to_uint64_round_to_zero function to the
softfloat
library. This function fills out the complement of float32 to INT
round-to-zero
conversion rountines, where INT is {int32_t, uint32_t, int64_t, uint64_t}.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3636226ae45a9b04af5202a18f445680c88473e7
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Apr 4 11:57:35 2014 +1100
pseries: Update SLOF firmware image to qemu-slof-20140404
The change log is:
> Isolate sc 1 detection logic
> build: auto-detect ppc64 architecture
> cas: increase hcall buffer size to accomodate 256 cpus
> usb: change device tree naming
> usb-core: adjust port numbers in set_address
> virtio-scsi: correct srplun comment
> Fix kernel loading
> Workaround to make grub2 assign server ip from dhcp ack packet only
> ELF: Enter LE binary in LE mode
> ELF loading should fail for virt != phys
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a450df9b8369c0cff7a1d6774d56f0862abd4e3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Apr 3 20:45:27 2014 +0200
PPC: E500: Set PIR default reset value rather than SPR value
We now reset SPRs to their reset values on CPU reset. So if we want
to have an SPR persistently changed, we need to change its default
reset value rather than the value itself manually.
Do this for SPR_BOOKE_PIR, fixing e500v2 SMP boot.
Reported-by: Frederic Konrad <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Tested-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
commit 9854202b57e0ac197cf2bee3d7fbf79ba58f16c5
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Mar 26 14:28:51 2014 -0400
vss-win32: Fix build with mingw64-headers-3.1.0
In mingw64-headers-3.1.0, definition of _com_issue_error() is added, which
conflicts with definition in install.cpp. This adds version checking for
mingw headers to disable the definition when the headers>=3.1 is used.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 577a67234dd7bef8b0443804f3a81977072f8657
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Mar 26 14:28:45 2014 -0400
Makefile: add qga-vss-dll-obj-y to nested variables
The build rule for qga/vss-win32/qga-vss.dll is broken by commit
ba1183da9a10b94611cad88c44a5c6df005f9b55, because it misses
qga-vss-dll-obj-y in the list of nested variables.
This fixes build of qga-vss.dll by adding qga-vss-dll-obj-y to the list.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 55519a4b244e4822774b593e36647ecf7598286b
Merge: 9c269f6 f85e345
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 7 17:57:23 2014 +0100
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* Relicensing of FWPathProvider interface
* Clean up all targets' qtests
# gpg: Signature made Mon 07 Apr 2014 17:56:13 BST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
tests: Update check-clean rule
fw-path-provider: Change GPL version to 2+
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f85e3457cea170b5a0c48e9aa67d316f9e3cbcba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Apr 7 18:33:22 2014 +0200
tests: Update check-clean rule
Only i386, x86_64, sparc and sparc64 qtests were cleaned up.
Make this more generic to not miss any newly tested targets.
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c269f6d7bfb81cbbf501576b979831478dac5d9
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Apr 5 18:25:46 2014 +0400
Makefile: remove bashism
When installing modules (when --enable-modules is specified for
./configure), Makefile uses the following construct to replace all
slashes with dashes in module name:
${s//\//-}
This is a bash-specific substitution mechanism. POSIX does not
have it, and some operating systems (for example Debian) does not
implement this construct in default shell (for example dash).
Use more traditional way to perform the substitution: use `tr' tool.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Message-id: 1396707946-21351-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dffacd4654ec8bf2898aed230852154c6ed755ed
Author: Don Slutz <dslutz@xxxxxxxxxxx>
Date: Tue Mar 18 12:29:34 2014 -0400
char/serial: Fix emptyness handling
The commit 88c1ee73d3231c74ff90bcfc084a7589670ec244
char/serial: Fix emptyness check
Still causes extra NULL byte(s) to be sent.
So if the fifo is empty, do not send an extra NULL byte.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx>
Message-id: 1395160174-16006-1-git-send-email-dslutz@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 20c50a955fdf02b02f8c75533f456e3fbdf13de1
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Mar 27 01:13:02 2014 +1100
fw-path-provider: Change GPL version to 2+
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd7ce902ab2b5e4f5cd53e1e032d89789b6932a8
Merge: e20c016 dc491cf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 7 12:48:34 2014 +0100
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-6' into
staging
spice: monitors_config: check pointer before dereferencing
# gpg: Signature made Mon 07 Apr 2014 11:19:19 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-6:
spice: monitors_config: check pointer before dereferencing
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e20c016e322e0c977ab332322c3a882c119eb1d4
Merge: 466e6e9 25eccc3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 7 12:27:10 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-4' into staging
gtk: pointer fixes from Takashi Iwai.
# gpg: Signature made Mon 07 Apr 2014 09:51:52 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-gtk-4:
ui: Update MAINTAINERS entry.
gtk: Remember the last grabbed pointer position
gtk: Fix the relative pointer tracking mode
gtk: Use gtk generic event signal instead of motion-notify-event
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dc491cfc14074064ed54a872b62cce6ca1330644
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Apr 7 12:15:44 2014 +0200
spice: monitors_config: check pointer before dereferencing
Reported-by: Fabio Fantoni <fabio.fantoni@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 25eccc37ff91254efdd123f5dafb37526a83a990
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Apr 7 10:42:03 2014 +0200
ui: Update MAINTAINERS entry.
With Amazon eating Anthonys time status "Maintained" certainly isn't
true any more. Update entry accordingly.
Also add myself, so scripts/get_maintainer.pl will Cc: me, to reduce
the chance ui patches fall through the cracks on our pretty loaded
qemu-devel mailing list.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ecce1929bcb0d8f4efde39df5ceb1aac42df75d4
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 4 12:41:23 2014 +0200
gtk: Remember the last grabbed pointer position
It's pretty annoying that the pointer reappears at a random place once
after grabbing and ungrabbing the input. Better to restore to the
original position where the pointer was grabbed.
Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587
Tested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e61031cdd81826c433a8bbfa3aca2bae4ffaf845
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 4 12:41:22 2014 +0200
gtk: Fix the relative pointer tracking mode
The relative pointer tracking mode was still buggy even after the
previous fix of the motion-notify-event since the events are filtered
out when the pointer moves outside the drawing window due to the
boundary check for the absolute mode.
This patch fixes the issue by moving the unnecessary boundary check
into the if block of absolute mode, and keep the coordinate in the
relative mode even if it's outside the drawing area. But this makes
the coordinate (last_x, last_y) possibly pointing to (-1,-1),
introduce a new flag to indicate the last coordinate has been
updated.
Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587
Tested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0d0e044dee0ed59628bb093a5be03528d6bde445
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 4 12:41:21 2014 +0200
gtk: Use gtk generic event signal instead of motion-notify-event
The GDK motion-notify-event isn't generated when the pointer goes out
of the target window even if the pointer is grabbed, which essentially
means to lose the pointer tracking in gtk-ui.
Meanwhile the generic "event" signal is sent when the pointer is
grabbed, so we can use this and pick the motion notify events manually
there instead.
Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587
Tested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 466e6e9d13d56bbb6da1d2396d7d6347df483af0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 17:33:02 2014 +0200
target-i386: reorder fields in cpu/msr_hyperv_hypercall subsection
The subsection already exists in one well-known enterprise Linux
distribution, but for some strange reason the fields were swapped
when forward-porting the patch to upstream.
Limit headaches for said enterprise Linux distributor when the
time will come to rebase their version of QEMU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1396452782-21473-1-git-send-email-pbonzini@xxxxxxxxxx
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8ae60ee85ceaea6bfc4c62fb8ed180a1ba8010a5
Merge: bae2c27 54bee5c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Apr 5 00:18:19 2014 +0100
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches for 2.0.0
# gpg: Signature made Fri 04 Apr 2014 20:25:08 BST using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
dataplane: replace iothread object_add() with embedded instance
iothread: make IOThread struct definition public
dma-helpers: Initialize DMAAIOCB in_cancel flag
block: Check bdrv_getlength() return value in
bdrv_append_temp_snapshot()
block: Fix snapshot=on for protocol parsed from filename
qemu-iotests: Remove CR line endings in reference output
block: Don't parse 'filename' option
qcow2: Put cache reference in error case
qcow2: Flush metadata during read-only reopen
iscsi: Don't set error if already set in iscsi_do_inquiry
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 54bee5c2b487250dcb8631ddff4307f329ec0541
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 20 15:06:32 2014 +0100
dataplane: replace iothread object_add() with embedded instance
Before IOThread was its own object, each virtio-blk device would create
its own internal thread. We need to preserve this behavior for
backwards compatibility when users do not specify -device
virtio-blk-pci,iothread=<id>.
This patch changes how the internal IOThread object is created.
Previously we used the monitor object_add() function, which is really a
layering violation. The problem is that this needs to assign a name but
we don't have a name for this internal object.
Generating names for internal objects is a pain but even worse is that
they may collide with user-defined names.
Paolo Bonzini <pbonzini@xxxxxxxxxx> suggested that the internal IOThread
object should not be named. This way the conflict cannot happen and we
no longer need object_add().
One gotcha is that internal IOThread objects will not be listed by the
query-iothreads command since they are not named. This is okay though
because query-iothreads is new and the internal IOThread is just for
backwards compatibility. New users should explicitly define IOThread
objects.
Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8c2664d86917c987944f1ca9770d1f7bbbf8eca8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 20 15:06:31 2014 +0100
iothread: make IOThread struct definition public
Make the IOThread struct definition public so objects can be embedded in
parent structs.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4d1cb6e6f51b0d8405f701806a203a73e7431fe5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 28 14:22:49 2014 +0000
dma-helpers: Initialize DMAAIOCB in_cancel flag
Initialize the dbs->in_cancel flag in dma_bdrv_io(), since qemu_aio_get()
does not return zero-initialized memory. Spotted by the clang sanitizer
(which complained when the value loaded in dma_complete() was not valid
for a bool type); this might have resulted in leaking the AIO block.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f187743acd39747cc8cc32111518142c924963b9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 4 17:07:19 2014 +0200
block: Check bdrv_getlength() return value in bdrv_append_temp_snapshot()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit b998875dcf2b21678cffa8b9a83c09930523861f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 12:09:34 2014 +0200
block: Fix snapshot=on for protocol parsed from filename
Since commit 9fd3171a, BDRV_O_SNAPSHOT uses an option QDict to specify
the originally requested image as the backing file of the newly created
temporary snapshot. This means that the filename is stored in
"file.filename", which is an option that is not parsed for protocol
names. Therefore things like -drive file=nbd:localhost:10809 were
broken because it looked for a local file with the literal name
'nbd:localhost:10809'.
This patch changes the way BDRV_O_SNAPSHOT works once again. We now open
the originally requested image as normal, and then do a similar
operation as for live snapshots to put the temporary snapshot on top.
This way, both driver specific options and parsed filenames work.
As a nice side effect, this results in code movement to factor
bdrv_append_temp_snapshot() out. This is a good preparation for moving
its call to drive_init() and friends eventually.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit bae2c270906475093e3d5f4c3103dbe67bf82009
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 4 17:42:56 2014 +0100
cpu-exec: Unlock tb_lock if we longjmp out of code generation
If the guest attempts to execute from unreadable memory, this will
cause us to longjmp back to the main loop from inside the
target frontend decoder. For linux-user mode, this means we will
still hold the tb_ctx.tb_lock, and will deadlock when we try to
start executing code again. Unlock the lock in the return-from-longjmp
code path to avoid this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andrei Warkentin <andrey.warkentin@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd7ccc83512a0cba5aa0c778e7507f267cfb1b16
Author: Andrei Warkentin <andrey.warkentin@xxxxxxxxx>
Date: Fri Apr 4 17:42:55 2014 +0100
page_check_range: don't bail out early after unprotecting page
When checking a page range, if we found that a page was
made read-only by QEMU because it contained translated code,
we were incorrectly returning immediately after unprotecting
that page, rather than continuing to check the entire range,
so we might fail to unprotect pages later in the range, or
might incorrectly return a "success" result even if later
pages were not writable.
In particular, this could cause segfaults in a case where
signals are delivered back to back on a target architecture
which uses trampoline code in the stack frame (as AArch64
currently does). The second signal causes a segfault because
the frame cannot be written to (it was protected because
we translated and executed the restorer trampoline, and the
unprotect logic did not unprotect the whole range).
Signed-off-by: Andrei Warkentin <andrey.warkentin@xxxxxxxxx
[PMM: expanded commit message a bit]
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d097696eba076da781967827e59f66a7857c8ecb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 4 17:42:34 2014 +0100
hw/arm/vexpress, hw/arm/highbank: Don't insist that CPU has reset-cbar
property
For the machine models which can have a Cortex-A15 CPU (vexpress-a15 and
midway), silently continue if the CPU object has no reset-cbar property
rather than failing. This allows these boards to be used under KVM with
the "-cpu host" option, since the 'host' CPU object has no reset-cbar
property.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Rob Herring <rob.herring@xxxxxxxxxx>
commit 3b418d0c45fccd850f9ad9eb4bf9bdcd96b8e6f7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 4 17:42:33 2014 +0100
hw/arm/highbank: Don't segfault on unknown CPU names
If the user passes an unknown CPU name via the '-cpu' option, exit
with an error message rather than segfaulting.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Rob Herring <rob.herring@xxxxxxxxxx>
commit cd40890816a40ba70d4cd2107629a417f0f3c648
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 12:48:38 2014 +0200
qemu-iotests: Remove CR line endings in reference output
qemu doesn't print these CRs any more. The test still didn't fail
because the output comparison ignores line endings, but the change turns
up each time when you want to update the output.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit e3fa4bfa72d5037bfc1de95cf243d8c57e38f5da
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 12:45:51 2014 +0200
block: Don't parse 'filename' option
When using the QDict option 'filename', it is supposed to be interpreted
literally. The code did correctly avoid guessing the protocol from any
string before the first colon, but it still called bdrv_parse_filename()
which would, for example, incorrectly remove a 'file:' prefix in the
raw-posix driver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 8885eadedd0ea8b57c1baa367ee2c2d616700bd9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 17:44:59 2014 +0100
qcow2: Put cache reference in error case
When qcow2_get_cluster_offset() sees a zero cluster in a version 2
image, it (rightfully) returns an error. But in doing so it shouldn't
leak an L2 table cache reference.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 4c2e5f8f46a17966dc45b5a3e07b97434c0eabdf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 13:47:50 2014 +0200
qcow2: Flush metadata during read-only reopen
If lazy refcounts are enabled for a backing file, committing to this
backing file may leave it in a dirty state even if the commit succeeds.
The reason is that the bdrv_flush() call in bdrv_commit() doesn't flush
refcount updates with lazy refcounts enabled, and qcow2_reopen_prepare()
doesn't take care to flush metadata.
In order to fix this, this patch also fixes qcow2_mark_clean(), which
contains another ineffective bdrv_flush() call beause lazy refcounts are
disabled only afterwards. All existing callers of qcow2_mark_clean()
either don't modify refcounts or already flush manually, so that this
fixes only a latent, but not yet actually triggerable bug.
Another instance of the same problem is live snapshots. Again, a real
corruption is prevented by an explicit flush for non-read-only images in
external_snapshot_prepare(), but images using lazy refcounts stay dirty.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cbee81f6de57ddc1b21ba28f01f6a3b5d87428a5
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Apr 4 19:53:29 2014 +0800
iscsi: Don't set error if already set in iscsi_do_inquiry
This eliminates the possible assertion failure in error_setg().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5913815a17387a5e9825c734ccab760588471ee5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 3 15:51:01 2014 +0100
Update version for v2.0.0-rc1 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 888157fe96f68488efcdf50cbdb6f72291ab903e
Merge: de03c31 d25295d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 3 14:31:20 2014 +0100
Merge remote-tracking branch 'remotes/riku/for-2.0' into staging
* remotes/riku/for-2.0:
linux-user: pass correct host flags to accept4()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit de03c3164accc21311c39327601fcdd95da301f3
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Apr 2 16:06:38 2014 +0200
bswap: Fix build on FreeBSD 10.0
FreeBSD 10.0-RELEASE has bswap16() etc. macros defined in sys/endian.h,
which leads to a conflict with our static inline definitions.
Force using the system version of the macros.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Tested-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 87d8354de3560eb705bcee83142d775f703177a6
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Apr 2 11:41:58 2014 +0200
PPC: openpic_kvm: Filter memory events properly
Commit 6f1834a2b exposed a bug in openpic_kvm where we don't filter
for memory events that only happen to the region we want to know
events about.
Add proper filtering, fixing the e500plat target with KVM.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1396431718-14908-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 784a5592c9e7721d9035a83570f09a286cf75284
Merge: 97891af c97ca29
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 3 12:24:35 2014 +0100
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
iscsi: always query max WRITE SAME length
iscsi: ignore flushes on scsi-generic devices
iscsi: recognize "invalid field" ASCQ from WRITE SAME command
scsi-bus: remove bogus assertion
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 97891afab801a31dc65e265ff9210a951b952e76
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Apr 2 23:31:11 2014 -0700
MAINTAINERS: Update Peter Crosthwaite's email
Change over to my proper Xilinx email. s/petalogix.com/xilinx.com.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cdff0c388c70df06217c467dcfb89267b7911feb.1396506607.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c97ca29db0a68deb281a901f535cec5ea4862244
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 15:30:29 2014 +0200
iscsi: always query max WRITE SAME length
Max WRITE SAME length is also used when the UNMAP bit is zero, so it
should be queried even if LBPWS=0. Same for the optimal transfer
length.
However, the write_zeroes_alignment only matters for UNMAP=1 so we
still restrict it to LBPWS=1.
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b2f9c08a4f11f16ec101e95feab8e71d7cfcfee9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 15:04:41 2014 +0200
iscsi: ignore flushes on scsi-generic devices
Non-block SCSI devices do not support flushing, but we may still send
them requests via bdrv_flush_all. Just ignore them.
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 27898a5daa4c6d28adb32b401a011d7198494482
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 12:12:50 2014 +0200
iscsi: recognize "invalid field" ASCQ from WRITE SAME command
Some targets may return "invalid field" as the ASCQ from WRITE SAME
if they support the command only without the UNMAP field. Recognize
that, and return ENOTSUP just like for "invalid operation code".
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d581eb7ca4b58649ade5fb7570ecf6b4b9a41879
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 13:24:23 2014 +0200
scsi-bus: remove bogus assertion
This assertion is invalid, because get_sg_list can return an
empty sg-list even for commands that transfer no data (such
as SYNCHRONIZE CACHE).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 82c6f513735297ad76acaaf2e87f0c5a0b3647a7
Merge: 53e11bd 9bcec93
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 1 20:45:42 2014 +0100
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request'
into staging
Tracing pull request
# gpg: Signature made Tue 01 Apr 2014 19:08:48 BST using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
* remotes/stefanha/tags/tracing-pull-request:
trace: add workaround for SystemTap PR13296
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9bcec938aab22a1b7ced916a6895e5029d4ed04f
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Tue Mar 25 13:08:30 2014 +0100
trace: add workaround for SystemTap PR13296
SystemTap sdt.h sometimes results in compiled probes without sufficient
information to extract arguments. This can be solved in a slightly
hacky way by encouraging the compiler to place arguments into registers.
This patch fixes the apic_reset_irq_delivered() trace event on Fedora 20
with gcc-4.8.2-7.fc20 and systemtap-sdt-devel-2.4-2.fc20 on x86_64.
Signed-off-by: Frank Ch. Eigler <fche@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 53e11bd384a799c03884bd7d8b5be53f025f8e2d
Merge: 507979a c792707
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 1 18:23:28 2014 +0100
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Tue 01 Apr 2014 18:11:16 BST using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
* remotes/stefanha/tags/block-pull-request: (51 commits)
qcow2: link all L2 meta updates in preallocate()
parallels: Sanity check for s->tracks (CVE-2014-0142)
parallels: Fix catalog size integer overflow (CVE-2014-0143)
qcow2: Limit snapshot table size
qcow2: Check maximum L1 size in qcow2_snapshot_load_tmp()
(CVE-2014-0143)
qcow2: Fix L1 allocation size in qcow2_snapshot_load_tmp()
(CVE-2014-0145)
qcow2: Fix NULL dereference in qcow2_open() error path (CVE-2014-0146)
qcow2: Fix copy_sectors() with VM state
block: Limit request size (CVE-2014-0143)
block: vdi bounds check qemu-io tests
dmg: prevent chunk buffer overflow (CVE-2014-0145)
dmg: use uint64_t consistently for sectors and lengths
dmg: sanitize chunk length and sectorcount (CVE-2014-0145)
dmg: use appropriate types when reading chunks
dmg: drop broken bdrv_pread() loop
dmg: prevent out-of-bounds array access on terminator
dmg: coding style and indentation cleanup
qcow2: Fix new L1 table size check (CVE-2014-0143)
qcow2: Protect against some integer overflows in bdrv_check
qcow2: Fix types in qcow2_alloc_clusters and alloc_clusters_noref
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 507979a8bda895d56d02112907ccbca753dbbdce
Merge: 95224e8 bdcc3a2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 1 16:58:04 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-7' into
staging
input bugfixes for 2.0
# gpg: Signature made Tue 01 Apr 2014 10:16:43 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-7:
input: add sanity check
input: mouse_set should check input device type.
input: fix input_event_key_number trace event
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c792707f54aa445cfb63a42411c66594b52b8f79
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 1 11:12:57 2014 +0200
qcow2: link all L2 meta updates in preallocate()
preallocate() only links the first QCowL2Meta's data clusters into the
L2 table and ignores any chained QCowL2Metas in the linked list.
Chains of QCowL2Meta structs are built up when contiguous clusters span
L2 tables. Each QCowL2Meta describes one L2 table update. This is a
rare case in preallocate() but can happen.
This patch fixes preallocate() by iterating over the whole list of
QCowL2Metas. Compare with the qcow2_co_writev() function's
implementation, which is similar but also also handles request
dependencies. preallocate() only performs one allocation at a time so
there can be no dependencies.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9302e863aa8baa5d932fc078967050c055fa1a7f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:09 2014 +0100
parallels: Sanity check for s->tracks (CVE-2014-0142)
This avoids a possible division by zero.
Convert s->tracks to unsigned as well because it feels better than
surviving just because the results of calculations with s->tracks are
converted to unsigned anyway.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit afbcc40bee4ef51731102d7d4b499ee12fc182e1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:08 2014 +0100
parallels: Fix catalog size integer overflow (CVE-2014-0143)
The first test case would cause a huge memory allocation, leading to a
qemu abort; the second one to a too small malloc() for the catalog
(smaller than s->catalog_size), which causes a read-only out-of-bounds
array access and on big endian hosts an endianess conversion for an
undefined memory area.
The sample image used here is not an original Parallels image. It was
created using an hexeditor on the basis of the struct that qemu uses.
Good enough for trying to crash the driver, but not for ensuring
compatibility.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5dae6e30c531feb31eed99f9039b52bf70832ce3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:07 2014 +0100
qcow2: Limit snapshot table size
Even with a limit of 64k snapshots, each snapshot could have a filename
and an ID with up to 64k, which would still lead to pretty large
allocations, which could potentially lead to qemu aborting. Limit the
total size of the snapshot table to an average of 1k per entry when
the limit of 64k snapshots is fully used. This should be plenty for any
reasonable user.
This also fixes potential integer overflows of s->snapshot_size.
Suggested-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a83f8b5bec6f59e56cc49bd49e4c3f8f805d56f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:06 2014 +0100
qcow2: Check maximum L1 size in qcow2_snapshot_load_tmp() (CVE-2014-0143)
This avoids an unbounded allocation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c05e4667be91b46ab42b5a11babf8e84d476cc6b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:05 2014 +0100
qcow2: Fix L1 allocation size in qcow2_snapshot_load_tmp() (CVE-2014-0145)
For the L1 table to loaded for an internal snapshot, the code allocated
only enough memory to hold the currently active L1 table. If the
snapshot's L1 table is actually larger than the current one, this leads
to a buffer overflow.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11b128f4062dd7f89b14abc8877ff20d41b28be9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:04 2014 +0100
qcow2: Fix NULL dereference in qcow2_open() error path (CVE-2014-0146)
The qcow2 code assumes that s->snapshots is non-NULL if s->nb_snapshots
!= 0. By having the initialisation of both fields separated in
qcow2_open(), any error occuring in between would cause the error path
to dereference NULL in qcow2_free_snapshots() if the image had any
snapshots.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6b7d4c55586a849aa8313282d79432917eade3bf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:03 2014 +0100
qcow2: Fix copy_sectors() with VM state
bs->total_sectors is not the highest possible sector number that could
be involved in a copy on write operation: VM state is after the end of
the virtual disk. This resulted in wrong values for the number of
sectors to be copied (n).
The code that checks for the end of the image isn't required any more
because the code hasn't been calling the block layer's bdrv_read() for a
long time; instead, it directly calls qcow2_readv(), which doesn't error
out on VM state sector numbers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8f4754ede56e3f9ea3fd7207f4a7c4453e59285b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:02 2014 +0100
block: Limit request size (CVE-2014-0143)
Limiting the size of a single request to INT_MAX not only fixes a
direct integer overflow in bdrv_check_request() (which would only
trigger bad behaviour with ridiculously huge images, as in close to
2^64 bytes), but can also prevent overflows in all block drivers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e7226f70c9d944ae7f233b65fb4adda8f910dfe
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Mar 28 11:42:25 2014 -0400
block: vdi bounds check qemu-io tests
This test checks for proper bounds checking of some VDI input
headers. The following is checked:
1. Max image size (1024TB) with the appropriate Blocks In Image
value (0x3fffffff) is detected as valid.
2. Image size exceeding max (1024TB) is seen as invalid
3. Valid image size but with Blocks In Image value that is too
small fails
4. Blocks In Image size exceeding max (0x3fffffff) is seen as invalid
5. 64MB image, with 64 Blocks In Image, and 1MB Block Size is seen
as valid
6. Block Size < 1MB not supported
7. Block Size > 1MB not supported
[Max Reitz <mreitz@xxxxxxxxxx> pointed out that "1MB + 1" in the test
case is wrong. Change to "1MB + 64KB" to match the 0x110000 value.
--Stefan]
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0dce23475b5af5da6b17b97c1765271307734b6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:06:00 2014 +0100
dmg: prevent chunk buffer overflow (CVE-2014-0145)
Both compressed and uncompressed I/O is buffered. dmg_open() calculates
the maximum buffer size needed from the metadata in the image file.
There is currently a buffer overflow since ->lengths[] is accounted
against the maximum compressed buffer size but actually uses the
uncompressed buffer:
switch (s->types[chunk]) {
case 1: /* copy */
ret = bdrv_pread(bs->file, s->offsets[chunk],
s->uncompressed_chunk, s->lengths[chunk]);
We must account against the maximum uncompressed buffer size for type=1
chunks.
This patch fixes the maximum buffer size calculation to take into
account the chunk type. It is critical that we update the correct
maximum since there are two buffers ->compressed_chunk and
->uncompressed_chunk.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 686d7148ec23402a172628c800022b3a95a022c9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:59 2014 +0100
dmg: use uint64_t consistently for sectors and lengths
The DMG metadata is stored as uint64_t, so use the same type for
sector_num. int was a particularly poor choice since it is only 32-bit
and would truncate large values.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c165f7758009a4f793c1fc19ebb69cf55313450b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:58 2014 +0100
dmg: sanitize chunk length and sectorcount (CVE-2014-0145)
Chunk length and sectorcount are used for decompression buffers as well
as the bdrv_pread() count argument. Ensure that they have reasonable
values so neither memory allocation nor conversion from uint64_t to int
will cause problems.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eb71803b041f55779ea10d860c0f66df285c68de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:57 2014 +0100
dmg: use appropriate types when reading chunks
Use the right types instead of signed int:
size_t new_size;
This is a byte count for g_realloc() that is calculated from uint32_t
and size_t values.
uint32_t chunk_count;
Use the same type as s->n_chunks, which is used together with
chunk_count.
This patch is a cleanup and does not fix bugs.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b404bf854217dbe8a5649449eb3ad33777f7d900
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:56 2014 +0100
dmg: drop broken bdrv_pread() loop
It is not necessary to check errno for EINTR and the block layer does
not produce short reads. Therefore we can drop the loop that attempts
to read a compressed chunk.
The loop is buggy because it incorrectly adds the transferred bytes
twice:
do {
ret = bdrv_pread(...);
i += ret;
} while (ret >= 0 && ret + i < s->lengths[chunk]);
Luckily we can drop the loop completely and perform a single
bdrv_pread().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 73ed27ec28a1dbebdd2ae792284151f029950fbe
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:55 2014 +0100
dmg: prevent out-of-bounds array access on terminator
When a terminator is reached the base for offsets and sectors is stored.
The following records that are processed will use this base value.
If the first record we encounter is a terminator, then calculating the
base values would result in out-of-bounds array accesses. Don't do
that.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c1885adcf0312da80c7317b09f9adad97fa0fc6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:54 2014 +0100
dmg: coding style and indentation cleanup
Clean up the mix of tabs and spaces, as well as the coding style
violations in block/dmg.c. There are no semantic changes since this
patch simply reformats the code.
This patch is necessary before we can make meaningful changes to this
file, due to the inconsistent formatting and confusing indentation.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cab60de930684c33f67d4e32c7509b567f8c445b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:53 2014 +0100
qcow2: Fix new L1 table size check (CVE-2014-0143)
The size in bytes is assigned to an int later, so check that instead of
the number of entries.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0abe740f1de899737242bcba1fb4a9857f7a3087
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:52 2014 +0100
qcow2: Protect against some integer overflows in bdrv_check
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb572aefbdac290363bfa5ca0e810ccce0a14ed6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:51 2014 +0100
qcow2: Fix types in qcow2_alloc_clusters and alloc_clusters_noref
In order to avoid integer overflows.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2b5d5953eec0cc541857c3df812bdf8421596ab2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:50 2014 +0100
qcow2: Check new refcount table size on growth
If the size becomes larger than what qcow2_open() would accept, fail the
growing operation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db8a31d11d6a60f48d6817530640d75aa72a9a2f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:49 2014 +0100
qcow2: Avoid integer overflow in get_refcount (CVE-2014-0143)
This ensures that the checks catch all invalid cluster indexes
instead of returning the refcount of a wrong cluster.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b106ad9185f35fc4ad669555ad0e79e276083bd7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 28 18:06:31 2014 +0100
qcow2: Don't rely on free_cluster_index in alloc_refcount_block()
(CVE-2014-0147)
free_cluster_index is only correct if update_refcount() was called from
an allocation function, and even there it's brittle because it's used to
protect unfinished allocations which still have a refcount of 0 - if it
moves in the wrong place, the unfinished allocation can be corrupted.
So not using it any more seems to be a good idea. Instead, use the
first requested cluster to do the calculations. Return -EAGAIN if
unfinished allocations could become invalid and let the caller restart
its search for some free clusters.
The context of creating a snapsnot is one situation where
update_refcount() is called outside of a cluster allocation. For this
case, the change fixes a buffer overflow if a cluster is referenced in
an L2 table that cannot be represented by an existing refcount block.
(new_table[refcount_table_index] was out of bounds)
[Bump the qemu-iotests 026 refblock_alloc.write leak count from 10 to
11.
--Stefan]
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d33e8e7dc9d40ea105feed4b39caa3e641569e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:47 2014 +0100
qcow2: Fix backing file name length check
len could become negative and would pass the check then. Nothing bad
happened because bdrv_pread() happens to return an error for negative
length values, but make variables for sizes unsigned anyway.
This patch also changes the behaviour to error out on invalid lengths
instead of silently truncating it to 1023.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2d51c32c4b511db8bb9e58208f1e2c25e4c06c85
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:46 2014 +0100
qcow2: Validate active L1 table offset and size (CVE-2014-0144)
This avoids an unbounded allocation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ce48f2f441ca98885267af6fd636a7cb804ee646
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:45 2014 +0100
qcow2: Validate snapshot table offset/size (CVE-2014-0144)
This avoid unbounded memory allocation and fixes a potential buffer
overflow on 32 bit hosts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c7de28305a514d7f879fdfc677ca11fbf60d2e9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:44 2014 +0100
qcow2: Validate refcount table offset
The end of the refcount table must not exceed INT64_MAX so that integer
overflows are avoided.
Also check for misaligned refcount table. Such images are invalid and
probably the result of data corruption. Error out to avoid further
corruption.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5dab2faddc8eaa1fb1abdbe2f502001fc13a1b21
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:43 2014 +0100
qcow2: Check refcount table size (CVE-2014-0144)
Limit the in-memory reference count table size to 8 MB, it's enough in
practice. This fixes an unbounded allocation as well as a buffer
overflow in qcow2_refcount_init().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a1b3955c9415b1e767c130a2f59fee6aa28e575b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:42 2014 +0100
qcow2: Check backing_file_offset (CVE-2014-0144)
Header, header extension and the backing file name must all be stored in
the first cluster. Setting the backing file to a much higher value
allowed header extensions to become much bigger than we want them to be
(unbounded allocation).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24342f2cae47d03911e346fe1e520b00dc2818e0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:41 2014 +0100
qcow2: Check header_length (CVE-2014-0144)
This fixes an unbounded allocation for s->unknown_header_fields.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d4b9e55fc625514a38d27cff4b9933f617fa7dc
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Mar 26 13:05:40 2014 +0100
curl: check data size before memcpy to local buffer. (CVE-2014-0144)
curl_read_cb is callback function for libcurl when data arrives. The
data size passed in here is not guaranteed to be within the range of
request we submitted, so we may overflow the guest IO buffer. Check the
real size we have before memcpy to buffer to avoid overflow.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1d7678dec4761acdc43439da6ceda41a703ba1a6
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Mar 26 13:05:39 2014 +0100
vhdx: Bounds checking for block_size and logical_sector_size
(CVE-2014-0148)
Other variables (e.g. sectors_per_block) are calculated using these
variables, and if not range-checked illegal values could be obtained
causing infinite loops and other potential issues when calculating
BAT entries.
The 1.00 VHDX spec requires BlockSize to be min 1MB, max 256MB.
LogicalSectorSize is required to be either 512 or 4096 bytes.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63fa06dc978f3669dbfd9443b33cde9e2a7f4b41
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Mar 28 11:42:24 2014 -0400
vdi: add bounds checks for blocks_in_image and disk_size header fields
(CVE-2014-0144)
The maximum blocks_in_image is 0xffffffff / 4, which also limits the
maximum disk_size for a VDI image to 1024TB. Note that this is the
maximum
size that QEMU will currently support with this driver, not necessarily
the
maximum size allowed by the image format.
This also fixes an incorrect error message, a bug introduced by commit
5b7aa9b56d1bfc79916262f380c3fc7961becb50 (Reported by Stefan Weil)
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5e71dfad763d67bb64be79e20e93411c0c30ad25
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:37 2014 +0100
vpc: Validate block size (CVE-2014-0142)
This fixes some cases of division by zero crashes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97f1c45c6f456572e5b504b8614e4a69e23b8e3a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Mar 26 13:05:36 2014 +0100
vpc/vhd: add bounds check for max_table_entries and block_size
(CVE-2014-0144)
This adds checks to make sure that max_table_entries and block_size
are in sane ranges. Memory is allocated based on max_table_entries,
and block_size is used to calculate indices into that allocated
memory, so if these values are incorrect that can lead to potential
unbounded memory allocation, or invalid memory accesses.
Also, the allocation of the pagetable is changed from g_malloc0()
to qemu_blockalign().
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a9ba36a45dfac645a810c31ce15ab393b69d820a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:35 2014 +0100
bochs: Fix bitmap offset calculation
32 bit truncation could let us access the wrong offset in the image.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e53abbc20d08ae3ec30c2054e1161314ad9501d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:34 2014 +0100
bochs: Check extent_size header field (CVE-2014-0142)
This fixes two possible division by zero crashes: In bochs_open() and in
seek_to_sector().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e3737b820b45e54b059656dc3f914f895ac7a88b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:33 2014 +0100
bochs: Check catalog_size header field (CVE-2014-0143)
It should neither become negative nor allow unbounded memory
allocations. This fixes aborts in g_malloc() and an s->catalog_bitmap
buffer overflow on big endian hosts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 246f65838d19db6db55bfb41117c35645a2c4789
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:32 2014 +0100
bochs: Use unsigned variables for offsets and sizes (CVE-2014-0147)
Gets us rid of integer overflows resulting in negative sizes which
aren't correctly checked.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3dd8a6763bcc50dfc3de8da9279b741c0dea9fb1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:31 2014 +0100
bochs: Unify header structs and make them QEMU_PACKED
This is an on-disk structure, so offsets must be accurate.
Before this patch, sizeof(bochs) != sizeof(header_v1), which makes the
memcpy() between both invalid. We're lucky enough that the destination
buffer happened to be the larger one, and the memcpy size to be taken
from the smaller one, so we didn't get a buffer overflow in practice.
This patch unifies the both structures, eliminating the need to do a
memcpy in the first place. The common fields are extracted to the top
level of the struct and the actually differing part gets a union of the
two versions.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24f3078a049c52070adfc659fc3a1a71a11a7765
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:30 2014 +0100
qemu-iotests: Support for bochs format
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 42d43d35d907579179a39c924d169da924786f65
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:29 2014 +0100
block/cloop: fix offsets[] size off-by-one
cloop stores the number of compressed blocks in the n_blocks header
field. The file actually contains n_blocks + 1 offsets, where the extra
offset is the end-of-file offset.
The following line in cloop_read_block() results in an out-of-bounds
offsets[] access:
uint32_t bytes = s->offsets[block_num + 1] - s->offsets[block_num];
This patch allocates and loads the extra offset so that
cloop_read_block() works correctly when the last block is accessed.
Notice that we must free s->offsets[] unconditionally now since there is
always an end-of-file offset.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f56b9bc3ae20fc93815b34aa022be919941406ce
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:28 2014 +0100
block/cloop: refuse images with bogus offsets (CVE-2014-0144)
The offsets[] array allows efficient seeking and tells us the maximum
compressed data size. If the offsets are bogus the maximum compressed
data size will be unrealistic.
This could cause g_malloc() to abort and bogus offsets mean the image is
broken anyway. Therefore we should refuse such images.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b103b36d6ef3b11827c203d3a793bf7da50ecd6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:27 2014 +0100
block/cloop: refuse images with huge offsets arrays (CVE-2014-0144)
Limit offsets_size to 512 MB so that:
1. g_malloc() does not abort due to an unreasonable size argument.
2. offsets_size does not overflow the bdrv_pread() int size argument.
This limit imposes a maximum image size of 16 TB at 256 KB block size.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 509a41bab5306181044b5fff02eadf96d9c8676a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:26 2014 +0100
block/cloop: prevent offsets_size integer overflow (CVE-2014-0143)
The following integer overflow in offsets_size can lead to out-of-bounds
memory stores when n_blocks has a huge value:
uint32_t n_blocks, offsets_size;
[...]
ret = bdrv_pread(bs->file, 128 + 4, &s->n_blocks, 4);
[...]
s->n_blocks = be32_to_cpu(s->n_blocks);
/* read offsets */
offsets_size = s->n_blocks * sizeof(uint64_t);
s->offsets = g_malloc(offsets_size);
[...]
for(i=0;i<s->n_blocks;i++) {
s->offsets[i] = be64_to_cpu(s->offsets[i]);
offsets_size can be smaller than n_blocks due to integer overflow.
Therefore s->offsets[] is too small when the for loop byteswaps offsets.
This patch refuses to open files if offsets_size would overflow.
Note that changing the type of offsets_size is not a fix since 32-bit
hosts still only have 32-bit size_t.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d65f97a82c4ed48374a764c769d4ba1ea9724e97
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:25 2014 +0100
block/cloop: validate block_size header field (CVE-2014-0144)
Avoid unbounded s->uncompressed_block memory allocation by checking that
the block_size header field has a reasonable value. Also enforce the
assumption that the value is a non-zero multiple of 512.
These constraints conform to cloop 2.639's code so we accept existing
image files.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 05560fcebb1528f4354f6f24d1eb8cdbcdf2c4b2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:24 2014 +0100
qemu-iotests: add cloop input validation tests
Add a cloop format-specific test case. Later patches add tests for
input validation to the script.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 47f73da0a7d36e399eaa353d93afce90de9b599d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:23 2014 +0100
qemu-iotests: add ./check -cloop support
Add the cloop block driver to qemu-iotests.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c5a33ee9eee031c9bae362b9bd7045cd8ff24d86
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Fri Mar 28 23:08:58 2014 +0530
qcow2: fix two memory leaks in qcow2_open error code path
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4c7096607d0378de8d999c996802a73e601b2722
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 27 13:35:31 2014 +0100
vvfat: Fix :floppy: option to suppress partition table
Regressed in commit 7ad9be6, v1.5.0.
Reported-by: Kiyokazu SUTO <suto@xxxxxxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bdf866fe6cce1f949227c32fcc9b7320fcdc60c6
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Wed Mar 26 01:55:53 2014 +0530
qemu-img: Release reference to BlockDriverState
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bdcc3a28b7f6ed6b90ad8b8af7b5d17e0d3f1f06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 31 16:07:30 2014 +0200
input: add sanity check
Check we've actually found a input handler before trying to call it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0419f78fae1d70bb5de0d44be62ec9741c5a742b
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Mon Mar 31 23:09:06 2014 +0100
input: mouse_set should check input device type.
Otherwise, the index of an input device like a usb-kbd is silently
accepted.
(qemu) info mice
Mouse #2: QEMU PS/2 Mouse
* Mouse #3: QEMU HID Mouse
(qemu) mouse_set 1
(qemu) info mice
Mouse #2: QEMU PS/2 Mouse
* Mouse #3: QEMU HID Mouse
Also replace monitor_printf() call in do_mouse_set() with error_report()
and
adjust error message.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e82597f6f83bf872677cde37e540882880dcbafe
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 25 12:41:46 2014 +0100
input: fix input_event_key_number trace event
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d25295d4efc53bf8521adf967445b8d087fe8d39
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Mar 31 17:41:23 2014 +0200
linux-user: pass correct host flags to accept4()
Flags NONBLOCK and CLOEXEC can have different values on the host and the
guest, so set correct host values before calling accept4().
This fixes several issues with accept4 system call and user-mode of QEMU.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 95224e87a71d3190f46bf543ec9bc59ae36050eb
Merge: 63678e1 7373fc7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 31 22:11:29 2014 +0100
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* Revised QTest SIGABRT fix
* Test cleanups for non-POSIX hosts
* QTest test cases for NVMe, virtio-9p, pvpanic, i82801b11
* QTest API addition for reading events
* TMP105 fix and regression test
# gpg: Signature made Mon 31 Mar 2014 22:08:10 BST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
tmp105-test: Test QOM property and precision
tmp105-test: Add a second sensor and test that one
tmp105-test: Wrap simple building blocks for testing
tmp105: Read temperature in milli-celsius
tests: Add i82801b11 qtest
pvpanic-test: Assert pause event
qtest: Factor out qtest_qmp_receive()
tests: Add pvpanic qtest
tests: Add virtio-9p qtest
tests: Add nvme qtest
nvme: Permit zero-length block devices
tests: Correctly skip qtest on non-POSIX hosts
tests: Skip POSIX-only tests on Windows
tests: Remove unsupported tests for MinGW
qtest: Keep list of qtest instances for SIGABRT handler
Revert "qtest: Fix crash if SIGABRT during qtest_init()"
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7373fc76930fc0994bab1bc2defd1d3a2b2adaa3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:35 2014 +0200
tmp105-test: Test QOM property and precision
This adds a regression test for commit
efdf6a56a7c73753dd135ed085a223a119b5d805 (tmp105: Read temperature in
milli-celsius).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a4ec5bb7188490ad65b916a4a2e6ea7129602b60
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:34 2014 +0200
tmp105-test: Add a second sensor and test that one
This will make it easier to reach the device under test via QOM.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cebac614983a7479f2cd3b903e2127edd865c013
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:33 2014 +0200
tmp105-test: Wrap simple building blocks for testing
The next patches will add more reads and writes. Add a simple testing
API for this.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit efdf6a56a7c73753dd135ed085a223a119b5d805
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:32 2014 +0200
tmp105: Read temperature in milli-celsius
Right now, the temperature property must be written in milli-celsius,
but it reads back the value in 8.8 fixed point. Fix this by letting the
property read back the original value (possibly rounded). Also simplify
the code that does the conversion.
Before:
(QEMU) qom-set path=/machine/peripheral/sensor property=temperature
value=20000
{u'return': {}}
(QEMU) qom-get path=sensor property=temperature
{u'return': 5120}
After:
(QEMU) qom-set path=/machine/peripheral/sensor property=temperature
value=20000
{u'return': {}}
(QEMU) qom-get path=sensor property=temperature
{u'return': 20000}
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e683eb9ecc5cb72a6e89ddacaf097cb8fa839584
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 22:43:43 2014 +0100
tests: Add i82801b11 qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 627b1a17ced89e13df34a85feef54a50e9b94191
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 21:17:17 2014 +0100
pvpanic-test: Assert pause event
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 66e0c7b187e130f5059e45e12832951deda31668
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 20:55:30 2014 +0100
qtest: Factor out qtest_qmp_receive()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit abc53733f34a8a29cc49c1ecb6475a11a44dcb7a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 20:38:48 2014 +0100
tests: Add pvpanic qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2d888c099cb89eea0c5329d66abf6cd2865eed8a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 17:15:21 2014 +0100
tests: Add virtio-9p qtest
Make it conditional to 9p availability.
Create a temporary directory to share.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fc9677915cc1273b4757a911f27f2f5038168053
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 22:19:43 2014 +0100
tests: Add nvme qtest
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 592408b8cab08bb4ec4771d7b1e20343b7f072fc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 22:18:31 2014 +0100
nvme: Permit zero-length block devices
It may not be sensible for normal use cases, but it allows to use
/dev/null in QTest.
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c4e24c1516b6b8c21b6defcd4ffcf05f21202f7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 28 10:55:54 2014 +0100
tests: Correctly skip qtest on non-POSIX hosts
qtest test cases only work on POSIX hosts. The following line only
defines dependencies for qtest binaries on POSIX hosts:
check-qtest-$(CONFIG_POSIX)=$(foreach
TARGET,$(TARGETS),$(check-qtest-$(TARGET)-y))
But the QTEST_TARGETS definition earlier in the Makefile fails to check
CONFIG_POSIX. This causes make targets to be generated for qtest test
cases even though we don't know how to build the binaries.
The following error message is printed when trying to run gtester on a
binary that was never built:
GLib-WARNING **: Failed to execute test binary:
tests/endianness-test.exe: Failed to execute child process
"tests/endianness-test.exe" (No such file or directory)
This patch makes QTEST_TARGETS empty on non-POSIX hosts. This prevents
the targets from being generated.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d597a32a6dc5b2ef58b280100cd551b7fb30c963
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 28 10:55:53 2014 +0100
tests: Skip POSIX-only tests on Windows
test-rfifolock and test-vmstate only build on POSIX hosts. Exclude them
if building for Windows.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 087570942994db2550b0aa377fedca2235373004
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 28 10:55:52 2014 +0100
tests: Remove unsupported tests for MinGW
test_timer_schedule and test_source_timer_schedule don't compile for MinGW
because some functions are not implemented for MinGW (qemu_pipe,
aio_set_fd_handler).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d766825190615bc0b1b57d2837475cdec1a075de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 27 15:09:50 2014 +0100
qtest: Keep list of qtest instances for SIGABRT handler
Keep track of active qtest instances so we can kill them when the test
aborts. This ensures no QEMU processes are left running after test
failure.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 96b8ca47f8f21ba32a60930cddbf5da27d36b20d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 27 15:09:49 2014 +0100
Revert "qtest: Fix crash if SIGABRT during qtest_init()"
It turns out there are test cases that use multiple libqtest instances.
We cannot use a global qtest instance in the SIGABRT handler.
This reverts commit cb201b4872f16dfbce63f8648b2584631e2e965f.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 63678e17cf399ff81b93417fe7bee8d6ef6b6b1b
Author: Steven Noonan <steven@xxxxxxxxxxxxxx>
Date: Fri Mar 28 17:19:02 2014 +0100
configure: add option to disable -fstack-protector flags
The -fstack-protector flag family is useful for ensuring safety and for
debugging, but has a performance impact. Here are some boot time
comparisons of
the various versions of -fstack-protector using qemu-system-arm on an
x86_64
host:
# -fstack-protector-all
Startup finished in 1.810s (kernel) + 12.331s (initrd) + 49.016s
(userspace) = 1min 3.159s
Startup finished in 1.801s (kernel) + 12.287s (initrd) + 47.925s
(userspace) = 1min 2.013s
Startup finished in 1.812s (kernel) + 12.302s (initrd) + 47.995s
(userspace) = 1min 2.111s
# -fstack-protector-strong
Startup finished in 1.744s (kernel) + 11.223s (initrd) + 44.688s
(userspace) = 57.657s
Startup finished in 1.721s (kernel) + 11.222s (initrd) + 44.194s
(userspace) = 57.138s
Startup finished in 1.693s (kernel) + 11.250s (initrd) + 44.426s
(userspace) = 57.370s
# -fstack-protector
Startup finished in 1.705s (kernel) + 11.409s (initrd) + 43.563s
(userspace) = 56.677s
Startup finished in 1.877s (kernel) + 11.137s (initrd) + 43.719s
(userspace) = 56.734s
Startup finished in 1.708s (kernel) + 11.141s (initrd) + 43.628s
(userspace) = 56.478s
# no stack protector
Startup finished in 1.743s (kernel) + 11.190s (initrd) + 43.709s
(userspace) = 56.643s
Startup finished in 1.763s (kernel) + 11.216s (initrd) + 43.767s
(userspace) = 56.747s
Startup finished in 1.711s (kernel) + 11.283s (initrd) + 43.878s
(userspace) = 56.873s
This patch introduces a configure option to disable the stack protector
entirely, and conditional stack protector flag selection (in order,
based on availability): -fstack-protector-strong, -fstack-protector-all,
no stack protector.
Signed-off-by: Steven Noonan <snoonan@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
[Prefer -fstack-protector-all to -fstack-protector, suggested by
Laurent Desnogues. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 58b590148ca1b19f64f533d40e32b5acce5c21e7
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Mon Mar 31 14:31:44 2014 -0400
pci: Fix clearing IRQs on reset
irq_state is cleared before calling pci_device_deassert_intx, but the
latter misbehaves if the former isn't accurate. In this case, any raised
IRQs are not cleared, which hits an assertion in pcibus_reset:
qemu-system-x86_64: hw/pci/pci.c:250: pcibus_reset: Assertion
`bus->irq_count[i] == 0' failed.
pci_device_deassert_intx should clear irq_state anyways, so add
an assert.
This fixes migration with usb2 + usb-tablet.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Message-id:
7da1ad94ce027183b4049c2de370cb191b0073c1.1396290569.git.crobinso@xxxxxxxxxx
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7d4d7975e58b66de6a67ecb5aa9656653653a658
Merge: 8648fcd 0d6d1ab
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 31 18:47:14 2014 +0100
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* X86CPU IA32e 1GB paging support
* Performance quickfix for CPU() cast macro
# gpg: Signature made Mon 31 Mar 2014 18:33:27 BST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
cpu: Avoid QOM casts for CPU()
target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0d6d1ab4990b6e8c6f24e9b1308801d657d411ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Mar 28 16:25:07 2014 +0100
cpu: Avoid QOM casts for CPU()
CPU address spaces touching load and store helpers as well as the
movement of (almost) all fields from CPU_COMMON to CPUState have led to
a noticeable increase of CPU() usage in "hot" paths for both TCG and KVM.
While CPU()'s OBJECT_CHECK() might help detect development errors, i.e.
in form of crashes due to QOM vs. non-QOM mismatches rather than QOM
type mismatches, it is not really needed at runtime since mostly used in
CPU-specific paths, coming from a target-specific CPU subtype. If that
pointer is damaged, other errors are highly likely to occur elsewhere
anyway.
Keep the CPU() macro for a consistent developer experience and for
flexibility to exchange its implementation, but turn it into a pure,
unchecked C cast for now.
Compare commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c8c14bcb72e436fb4aff99b4b2b92e44f2e715b5
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Wed Mar 19 17:03:53 2014 -0400
target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
Linux guests, when using more than 4GB of RAM, may end up using 1GB pages
to store (kernel) data. When this happens, we're unable to debug a running
Linux kernel with GDB:
(gdb) p node_data[0]->node_id
Cannot access memory at address 0xffff88013fffd3a0
(gdb)
GDB returns this error because x86_cpu_get_phys_page_debug() doesn't
support
translating 1GB pages in IA-32e paging mode and returns an error to GDB.
This commit adds support for 1GB page translation for IA32e paging.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8648fcd52a9bcc2aa415cbe87b7c636e545acb38
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 20 02:01:55 2014 +0100
make-release: Record SeaBIOS version
Before deleting .git, determine the version and save it in .version file.
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1395277315-7806-1-git-send-email-afaerber@xxxxxxx
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b3706faf0d8e4f9275c73895d93a16fbffb9d370
Merge: 3b6144b 1a8e80d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 28 14:52:27 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-arm-unaligned' into staging
* remotes/rth/tcg-arm-unaligned:
tcg-arm: Avoid ldrd/strd for user-only emulation
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3b6144bdbb42705c95e3ed0e8c7bbe277352c0b8
Merge: 9c5793c b89834f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 28 13:46:28 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,build bug fixes
Here are some bugfixes for 2.0.
A bugfix for acpi for pci bridges, and a build fix for
old systems without pthread_setname_np: both fix regressions
so we definitely want to include them.
HPET fix is not for a regression but looks very safe,
fixes a nasty bug and has been on list for a while.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Fri 28 Mar 2014 12:00:12 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
acpi: fix ACPI generation for pci bridges
Don't enable a HPET timer if HPET is disabled
Detect pthread_setname_np at configure time
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b89834f4d79070a26536cb73fe5216a2364551eb
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Mar 27 17:35:36 2014 +0200
acpi: fix ACPI generation for pci bridges
Commit 8dcf525abc5dff785251a881f9764dd961065c0d
acpi-build: append description for non-hotplug
appended description for all occupied non hotpluggable PCI slots.
However the bridge devices are already added to SSDT,
adding them again will create an incorrect SSDT table.
Fixed by skipping the pci bridge devices, marking them as 'system'.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1a8e80d7e82aa385ad887dba5d039e399a18264b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 25 17:11:37 2014 -0400
tcg-arm: Avoid ldrd/strd for user-only emulation
The arm ldrd/strd insns must cause alignment traps, whereas
at least for armv7 ldr/str must handle unaligned operations.
While this is hardly the only problem facing user-only emu,
this solves one problem for i386 on armv7 emulation.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Huw Davies <huw@xxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9c5793c5036c7608ff2c87846c6d11f904c08b58
Merge: c6c09ba 76ac994
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 17:08:30 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0
* OpenPIC fix
* MSR fixes for POWER7 upwards
* TCG instruction set support fix for POWER8
# gpg: Signature made Thu 27 Mar 2014 16:12:12 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
target-ppc: MSR_POW not supported on POWER7/7+/8
target-ppc: POWER7+ supports the MSR_VSX bit
target-ppc: POWER8 supports isel
target-ppc: POWER8 supports the MSR_LE bit
intc/openpic_kvm: Fix MemListener delete region callback function
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6c09ba9950407a075bfe19c7604f09b71499a20
Merge: 6ff45f0 3768d50
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 16:38:58 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-03-27' into staging
trivial patches for 2014-03-27
# gpg: Signature made Thu 27 Mar 2014 15:23:53 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-03-27: (23 commits)
linux-user: remove duplicate statement
hw/timer/grlib_gptimer: remove unnecessary assignment
hw/pci-host/apb.c: Avoid shifting left into sign bit
hw/intc/xilinx_intc: Avoid shifting left into sign bit
hw/intc/slavio_intctl: Avoid shifting left into sign bit
tests/libqos/pci-pc: Avoid shifting left into sign bit
hw/ppc: Avoid shifting left into sign bit
hw/intc/openpic: Avoid shifting left into sign bit
hw/usb/hcd-ohci.c: Avoid shifting left into sign bit
target-mips: Avoid shifting left into sign bit
hw/i386/acpi_build.c: Avoid shifting left into sign bit
hw/pci/pci_host.c: Avoid shifting left into sign bit
hw/intc/apic.c: Use uint32_t for mask word in foreach_apic
target-i386: Avoid shifting left into sign bit
CODING_STYLE: Section about mixed declarations
doc: update default PowerPC framebuffer settings
doc: update sun4m documentation
fix return check for KVM_GET_DIRTY_LOG ioctl
target-i386: Add missing 'static' and 'const' attributes
util: Add 'static' attribute to function implementation
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c36ad13fe9ece9a21a8c1dd082473a2b182298ee
Author: Matt Lupfer <mlupfer@xxxxxxx>
Date: Fri Feb 21 21:37:23 2014 -0700
Don't enable a HPET timer if HPET is disabled
A HPET timer can be started when HPET is not yet
enabled. This will not generate an interrupt
to the guest, but causes problems when HPET is later
enabled.
A timer that is created and expires at least once before
HPET is enabled will have an initialized comparator based
on a hpet_offset of 0 (uninitialized). When HPET is
enabled, hpet_set_timer() is called a second time, which
modifies the timer expiry to a time based on the
difference between current ticks (measured with the
newly initialized hpet_offset) and the timer's
comparator (which was generated before hpet_offset was
initialized). This results in a long period of no HPET
timer ticks.
When this occurs with a CentOS 5.x guest, the guest
may not receive timer interrupts during its narrow
timer check window and panic on boot.
Signed-off-by: Matt Lupfer <mlupfer@xxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5c312079417908381ffca44d18150b6a990c4f0b
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Wed Mar 12 11:48:18 2014 +0000
Detect pthread_setname_np at configure time
Warn if no way of setting thread name is available.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6ff45f01c734e1ad051f19913449e2577c9f4b7d
Merge: 9ad665d a7a5544
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 15:29:33 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140327' into staging
target-arm queue:
* Don't default to integratorcp board if no machine specified
# gpg: Signature made Thu 27 Mar 2014 14:09:12 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140327:
vl.c: Improve message when no default machine is found
hw/arm: Stop specifying integratorcp as the default board
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3768d505adcd6c3fe819432d7dabd312995fa678
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:42 2014 +0530
linux-user: remove duplicate statement
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Acked-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c9f2d70cc88346d50020d01face2135481e5acde
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:41 2014 +0530
hw/timer/grlib_gptimer: remove unnecessary assignment
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit af23906d50c7d7c28e7e5ff49f7cbf0fa5c6228a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:41 2014 +0000
hw/pci-host/apb.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0bc60bd7b34ad6e59b47dbf91179ba9427a85df7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:40 2014 +0000
hw/intc/xilinx_intc: Avoid shifting left into sign bit
Avoid undefined behaviour shifting left into the sign bit.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7d45e784015971e70239e33256fd606638107a3e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:39 2014 +0000
hw/intc/slavio_intctl: Avoid shifting left into sign bit
Add 'U' suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a879125b47c3ae554c01824f996a64a45a86556e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:38 2014 +0000
tests/libqos/pci-pc: Avoid shifting left into sign bit
Add U suffix when doing "1 << 31" to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a1f7f97b950a46393b0e55a9a0082e70f540cbbd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:37 2014 +0000
hw/ppc: Avoid shifting left into sign bit
Add U suffix to various places where we were doing "1 << 31",
which is undefined behaviour, and also to other constant
definitions in the same groups, for consistency.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit def60298825ccff006688ab9ee0ebb266c98b7e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:36 2014 +0000
hw/intc/openpic: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour. This is only strictly
necessary for the 1 << 31 cases; for consistency we extend it
to other constants in the same group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 00b0179347bae12c5856c1195b67ef5dc7887b9b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:35 2014 +0000
hw/usb/hcd-ohci.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour. This is only
strictly necessary for the 1<<31 cases, but we add it for the
other constants in these groups for consistency.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f45cb2f43f5bb0a4122a64e61c746048b59a84ed
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:34 2014 +0000
target-mips: Avoid shifting left into sign bit
Add U suffix to various places where we shift a 1 left by 31,
to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d9631b90da6ac592ea76b41a654dd5d29b2645d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:33 2014 +0000
hw/i386/acpi_build.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ac43fa508cc1cfe6d6f67c8eb99dc012e52c164e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:32 2014 +0000
hw/pci/pci_host.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6d55574a656f3a533a370156aaefedcf7980d4d8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:31 2014 +0000
hw/intc/apic.c: Use uint32_t for mask word in foreach_apic
Use unsigned arithmetic for operations on the mask word
in the foreach_apic() macro, to avoid relying on undefined
behaviour when shifting into the sign bit.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2cd49cbfab0dd294de421893048ab614518fa263
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:30 2014 +0000
target-i386: Avoid shifting left into sign bit
Add 'U' suffixes where necessary to avoid (1 << 31) which
shifts left into the sign bit, which is undefined behaviour.
Add the suffix also for other constants in the same groupings
even if they don't shift into bit 31, for consistency.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e939c6ed619e2cf98c379318f6ee389c97163f18
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Mar 17 15:26:31 2014 -0300
CODING_STYLE: Section about mixed declarations
We had an unwritten rule about declarations having to be at beginning of
blocks. Make it a written rule.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 340fb41b311356d66b280468698b1f2d7b0c1a56
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Mon Mar 17 21:46:26 2014 +0000
doc: update default PowerPC framebuffer settings
Since 1.7, the default framebuffer settings for PowerPC are 800x600x32.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: qemu-ppc@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 33632788089531a4452976ff40bbb15551d37fea
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Mon Mar 17 21:46:25 2014 +0000
doc: update sun4m documentation
A few minor tidy-ups, plus add reference to the new -vga tcx and cg3
options.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b533f658a98325d0e47b36113bd9f5bcc046fdae
Author: Mario Smarduch <m.smarduch@xxxxxxxxxxx>
Date: Wed Mar 19 10:24:26 2014 -0700
fix return check for KVM_GET_DIRTY_LOG ioctl
Fix return condition check from kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) to
handle internal failures or no support for memory slot dirty bitmap.
Otherwise the ioctl succeeds and continues with migration.
Addresses BUG# 1294227
Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a443bc3496658c9e144ad914933607ebc8418979
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 15:03:41 2014 +0100
target-i386: Add missing 'static' and 'const' attributes
This fixes warnings from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 08cf99629d5de859aad0d54bafb2f18803a86dfe
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 19:02:52 2014 +0100
util: Add 'static' attribute to function implementation
The static code analyzer smatch complains because of a missing 'static'
attribute:
util/module.c:166:6: warning:
symbol 'module_load' was not declared. Should it be static?
'static' is used in the forward declaration, but not in the
implementation.
Add it there, too.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 06ab66cfab317741ab55d164ec3530c08ce1a547
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 19:13:18 2014 +0100
hw/ide: Add missing 'static' attributes
This fixes a warning from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6df05bdd172d26b699fecf162c277286579f2c16
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 19:07:55 2014 +0100
target-arm: Add missing 'static' attribute
This fixes a warning from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ecb4e01e3449074576ae866c4547b5ff3849ddd7
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 14:49:11 2014 +0100
target-s390x: Add missing 'static' and 'const' attributes
This fixes warnings from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 76ac9940c3114db35df92582f3549d9a64a369c4
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:29 2014 +1100
target-ppc: MSR_POW not supported on POWER7/7+/8
Remove MSR_POW from the msr_mask for POWER7/7P/8.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5b2b7dc4e5ed10d439d1aac86879299d9f620f5b
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:28 2014 +1100
target-ppc: POWER7+ supports the MSR_VSX bit
Without MSR_VSX we die early during a Linux boot.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 536492ebb3934a827a981be1f207cf7835a53c30
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:27 2014 +1100
target-ppc: POWER8 supports isel
Add PPC_ISEL to insns_flags.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d6fb330f70831180c69899a4f8ba1a7a5fdce45c
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:26 2014 +1100
target-ppc: POWER8 supports the MSR_LE bit
Add MSR_LE to the msr_mask for POWER8.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6f1834a2baa2f2688efaa7756d000876c7898d13
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:39 2014 +0530
intc/openpic_kvm: Fix MemListener delete region callback function
Fixes d85937e683f6ff4d68293cb24c780fb1f6820d2c.
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9ad665df2a9eeb8ed6f3501896e45c1a3cd9dd5f
Merge: bea4acd 9013dca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 14:32:17 2014 +0000
Merge remote-tracking branch 'remotes/amit-migration/tags/for_upstream'
into staging
migration: traces
Adds trace messages to migration path. Patches have been on list for a
while, and have been reviewed by Juan.
# gpg: Signature made Thu 27 Mar 2014 10:44:21 GMT using RSA key ID
854083B6
# gpg: Can't check signature: public key not found
* remotes/amit-migration/tags/for_upstream:
migration: add more traces
util: add qemu_ether_ntoa
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a7a5544a3a59600f30f29985397f56ee40929850
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 14:00:52 2014 +0000
vl.c: Improve message when no default machine is found
Improve the clarity of the message QEMU prints when the user
doesn't specify a machine model to use and there is no default.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
commit d4715c4183043c5e977f821b6f9ca88b17d90bbb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 14:00:52 2014 +0000
hw/arm: Stop specifying integratorcp as the default board
Currently for both qemu-system-arm and qemu-system-aarch64
the default board model if the user doesn't specify one
is the 'integratorcp'. This is a totally arbitrary historical
accident since it was the first board to be modelled.
That board is now just one target among many for us, and
is a very poor choice of default:
* it's an ancient board that is now only found in the
junkpiles of longtime ARM/Linux hackers, if at all
* it's an ARMv5 CPU, when most distros are now assuming
ARMv7
* it's pretty much unmaintained in QEMU
* it doesn't even have versatilepb's advantage of
supporting PCI
Making it or any other board the default serves only
to confuse people new to ARM who expect something more
like the x86 monoculture. Remove the is_default marker
from integratorcp, and don't set it for any other board,
to give users a nudge that they need to think about
which board they want a QEMU model of. (QEMU will produce
the admittedly slightly cryptic error "No machine found.")
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bea4acda3bff00e98cb00d5354f23de9e74a928f
Merge: db237e3 6a5b69a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 10:54:17 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging
* remotes/mcayland/qemu-sparc:
target-sparc: fix 32bit integer division overflow
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9013dca5539186ddca018bebcf2d5da63d061365
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Mar 11 10:42:29 2014 +1100
migration: add more traces
This replaces DPRINTF macro with tracepoints.
This moves some messages from migration.c to savevm.c.
This adds tracepoint to signal about fileds failed to migrate.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 4297c8ee6f0ef70e5a71e3387a0fccaa20b04f94
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Mar 11 10:42:26 2014 +1100
util: add qemu_ether_ntoa
This adds a helper to format ethernet MAC address.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 6a5b69a959483c7404576a7dc54221ced41e6515
Author: Olivier Danet <odanet@xxxxxxxxxxxx>
Date: Fri Mar 21 02:25:19 2014 +0100
target-sparc: fix 32bit integer division overflow
The signed integer division -0x8000_0000_0000_0000 / -1 must be handled
separately to avoid an overflow on the QEMU host.
Negative overflow must be a negative number for correct sign
extension in Sparc64 mode. Use <stdint.h> constants.
Signed-off-by: Olivier Danet <odanet@xxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit db237e33c08a279f0179f8f5128a6d10d9adc38a
Merge: 61898bc ad1c7e0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 17:10:15 2014 +0000
Merge remote-tracking branch 'remotes/riku/for-2.0' into staging
* remotes/riku/for-2.0:
linux-user: Correct DLINFO_ITEMS
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 61898bc020c3367c629a99a2abdaa1c60fce76cd
Merge: 0a87466 ec8929a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 16:17:36 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
spapr_vscsi: remove duplicate condition check
scsi: check req pointer before dereferencing it
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a87466ef3fe3d9a062195f801727569ab886bde
Merge: 0acf0a5 f7bc8ef
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 15:15:19 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,virtio bug fixes
Two bugfixes for virtio-net, and one for a recent
regression in acpi.
Both issues have been reported in the wild, so
I think it's preferable to merge these ASAP so
that reporters can make sure RC fixes their issue.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Wed 26 Mar 2014 10:52:16 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
virtio-net: add vlan receive state to RxFilterInfo
virtio-net: Do not filter VLANs without F_CTRL_VLAN
Revert "acpi-test: rebuild SSDT"
acpi: make SSDT 1.0 spec compliant when possible
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0acf0a50c8ae6a4e146e00df5dba9f763d7b75a6
Merge: 7f6613c bbbf9bf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 14:07:25 2014 +0000
Merge remote-tracking branch 'remotes/weil/qemu-2.0' into staging
* remotes/weil/qemu-2.0:
gtk: Support GTK without VTE
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ec8929a55512606456e364ffa80586219f67c904
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Mon Mar 24 21:14:46 2014 +0530
spapr_vscsi: remove duplicate condition check
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b0f49d138777fb6609aa2ea96d2c59fb872d2c2d
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Wed Mar 19 07:10:32 2014 +0530
scsi: check req pointer before dereferencing it
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ad1c7e0faac82eeb654cba7f99d4e6d88273e0f9
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Mar 25 21:47:28 2014 +0000
linux-user: Correct DLINFO_ITEMS
Commit a07c67dfccb1 (Implement AT_CLKTCK.) back in March 2008 added a
new auxvec entry but didn't increment DLINFO_ITEMS, so it's been out of
sync ever since.
Bump it up to 14 so that it matches the number of NEW_AUX_ENT's that
need to be counted in create_elf_tables().
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Riku Voipio <riku.voipio@xxxxxx>
Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f7bc8ef8091229a4bec0e2a40af90abb8dcb3834
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Mar 26 08:19:43 2014 +0800
virtio-net: add vlan receive state to RxFilterInfo
Stefan Fritsch just fixed a virtio-net driver bug [1], virtio-net won't
filter out VLAN-tagged packets if VIRTIO_NET_F_CTRL_VLAN isn't negotiated.
This patch added a new field to @RxFilterInfo to indicate vlan receive
state ('normal', 'none', 'all'). If VIRTIO_NET_F_CTRL_VLAN isn't
negotiated, vlan receive state will be 'all', then all VLAN-tagged packets
will be received by guest.
This patch also fixed a boundary issue in visiting vlan table.
[1] http://lists.nongnu.org/archive/html/qemu-devel/2014-02/msg02604.html
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0b1eaa8803e680de9a05727355dfe3d306b81e17
Author: Stefan Fritsch <sf@xxxxxxxxxxx>
Date: Wed Mar 26 18:29:52 2014 +0800
virtio-net: Do not filter VLANs without F_CTRL_VLAN
If VIRTIO_NET_F_CTRL_VLAN is not negotiated, do not filter out all
VLAN-tagged packets but send them to the guest.
This fixes VLANs with OpenBSD guests (and probably NetBSD, too, because
the OpenBSD driver started as a port from NetBSD).
Signed-off-by: Stefan Fritsch <sf@xxxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53a786acac7b4d53288d603504021d928f734513
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 26 12:42:31 2014 +0200
Revert "acpi-test: rebuild SSDT"
This reverts commit d07e0e9cddf02dd2abedbbf7ab0e069c8f5dabfd.
Since
commit b4f4d54812624581ce429c805e5179c78222c707
acpi: make SSDT 1.0 spec compliant when possible
We are back to old encoding.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b4f4d54812624581ce429c805e5179c78222c707
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 26 12:31:31 2014 +0200
acpi: make SSDT 1.0 spec compliant when possible
The ACPI specification says:
The ASL compiler can emit two different AML opcodes for a Package
declaration, either PackageOp or VarPackageOp. For small, fixed-length
packages, the PackageOp is used and this opcode is compatible with ACPI
1.0. A VarPackageOp will be emitted if any of the following conditions
are true:
. The NumElements argument is a TermArg that can only be resolved at
runtime.
. At compile time, NumElements resolves to a constant that is larger than
255.
. The PackageList contains more than 255 initializer elements.
Note: The ability to create variable-sized packages was first introduced
in ACPI 2.0. ACPI 1.0 only allowed fixed-size packages with up to 255
elements.
So the spec seems to say a fixed value up to 255 must always
be used with PackageOp and not VarPackageOp, and some guests
(windows up to win2k8) seem to interpret it like this.
Let's do just this, choosing the encoding depending on
the number of elements.
Fixes 9bcc80cd71892df42605e0c097d85c0237ff45d1
(i386/acpi-build: allow more than 255 elements in CPON).
https://bugs.launchpad.net/bugs/1297651
Reported-by: Robert Hu <robert.hu@xxxxxxxxx>
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bbbf9bfb9c27e389340cf50a11c22fa46c572150
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Feb 19 07:04:34 2014 +0100
gtk: Support GTK without VTE
GTK without VTE is needed for hosts which don't support VTE (for example
all variants of MinGW), but it can also be reasonable for other hosts.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 7f6613cedc59fa849105668ae971dc31004bca1c
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Tue Mar 25 14:35:18 2014 +0100
target-mips: fix MTHC1 and MFHC1 when FPU in FR=0 mode
Previous implementation presumed that FPU registers are 64-bit and are
working in 64-bit mode. This change first checks MIPS_HFLAG_F64 and if not
set, it does load/store from the odd numbered register pair.
Patch by Matthew Fortune.
Signed-off-by: Matthew Fortune <matthew.fortune@xxxxxxxxxx>
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b9bf8a1abb1cafe7184e3dbad9bf8819b3cb620a
Merge: 169e487 4e505dd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 25 18:30:52 2014 +0000
Merge remote-tracking branch
'remotes/awilliam/tags/vfio-pci-for-qemu-20140325.0' into staging
A couple trivial fixes for QEMU 2.0:
- Coding correction that allowed attempts to read the device
ROM after we'd already marked it failed (Bandan)
- Cosmetic error reporting fixes to remove unnecessary new lines
and fix a cut-n-paste wording error (Alex)
# gpg: Signature made Tue 25 Mar 2014 18:18:57 GMT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
* remotes/awilliam/tags/vfio-pci-for-qemu-20140325.0:
vfio: Cosmetic error reporting fixes
vfio: Correction in vfio_rom_read when attempting rom loading
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4e505ddd9af1d5810378a4e7b851f788b1c075ba
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Mar 25 12:08:52 2014 -0600
vfio: Cosmetic error reporting fixes
* Remove terminating newlines from hw_error() and error_report() calls
* Fix cut-n-paste error in text (s/to/from/)
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 169e4878ee96b7d6dec929e0cd400a0395865a85
Merge: d4cc1a2 131e744
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 25 17:49:45 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request'
into staging
Net patches
# gpg: Signature made Tue 25 Mar 2014 15:02:48 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/net-pull-request:
net: netmap_poll must update both read/write poll state
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d4cc1a213f8cb22fa0861ae2a907c60cf00796ff
Merge: 839a554 7b770c7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 25 15:23:08 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Tue 25 Mar 2014 14:34:45 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
mirror: fix early wake from sleep due to aio
mirror: fix throttling delay calculation
Fixed various typos
qemu-img: mandate argument to 'qemu-img check --repair'
osdep: initialize glib threads in all QEMU tools
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit db01eedb6d883a1fed5b4079f8a6ff048b9c1217
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Tue Mar 25 08:24:20 2014 -0600
vfio: Correction in vfio_rom_read when attempting rom loading
commit e638073c569e801ce9de added a flag to track whether
a previous rom read had failed. Accidentally, the code
ended up adding vfio_load_option_rom twice. (Thanks to Alex
for spotting it)
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 7b770c720b28b8ac5b82ae431f2f354b7f8add91
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 21 13:55:19 2014 +0100
mirror: fix early wake from sleep due to aio
The mirror blockjob coroutine rate-limits itself by sleeping. The
coroutine also performs I/O asynchronously so it's important that the
aio callback doesn't wake the coroutine early as that breaks
rate-limiting.
Reported-by: Joaquim Barrera <jbarrera@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc8c9d6c6f28e4e376a6561a2a31524fd069bc2d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 21 13:55:18 2014 +0100
mirror: fix throttling delay calculation
The throttling delay calculation was using an inaccurate sector count to
calculate the time to sleep. This broke rate-limiting for the block
mirror job.
Move the delay calculation into mirror_iteration() where we know how
many sectors were transferred. This lets us calculate an accurate delay
time.
Reported-by: Joaquim Barrera <jbarrera@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dc6fb73d219472e011d93867f5e7eebfffde0319
Author: Deepak Kathayat <deepak.mk17@xxxxxxxxx>
Date: Mon Mar 24 16:30:17 2014 +0800
Fixed various typos
Signed-off-by: Deepak Kathayat <deepak.mk17@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4fd6a984b93701fcb40a0053098ae5c2c4ee27f4
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Tue Mar 25 00:08:54 2014 +0530
qemu-img: mandate argument to 'qemu-img check --repair'
qemu-img check --repair option accepts an argument. The argument to
--repair switch can either be 'all' or 'leak'. Fix the long option to
mandate argument with --repair switch.
The patch fixes following segmentation fault
Core was generated by `qemu-img check -f qcow2 --repair all t.qcow2'.
Program terminated with signal 11, Segmentation fault.
0 in img_check (argc=6, argv=0x7fffab9b8a10) at qemu-img.c:588
588 if (!strcmp(optarg, "leaks")) {
(gdb) bt
0 img_check (argc=6, argv=0x7fffab9b8a10) at qemu-img.c:588
1 __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
2 _start ()
(gdb)
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Reviewed-by: Leandro Dorileo <l@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ae2990c259abec198879c362dc13f7047f26c2cf
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Oct 8 11:58:31 2013 +0200
osdep: initialize glib threads in all QEMU tools
glib versions prior to 2.31.0 require an explicit g_thread_init() call
to enable multi-threading.
Failure to initialize threading causes glib to take single-threaded code
paths without synchronization. For example, the g_slice allocator will
crash due to race conditions.
Fix this for all QEMU tool programs (qemu-nbd, qemu-io, qemu-img) by
moving the g_thread_init() call from vl.c:main() into a new
osdep.c:thread_init() constructor function.
thread_init() has __attribute__((constructor)) and is automatically
invoked by the runtime during startup.
We can now drop the "simple" trace backend's g_thread_init() call since
thread_init() already called it.
Note that we must keep coroutine-gthread.c's g_thread_init() call which
is located in a constructor function. There is no guarantee for
constructor function ordering so thread_init() may only be called later.
Reported-by: Mario de Chenno <mario.dechenno@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 131e744a15c54f0bad3d3925eeca1acf47996e06
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:43 2014 +0530
net: netmap_poll must update both read/write poll state
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 839a5547574e57cce62f49bfc50fe1f04b00589a
Merge: 90c49ef da0af40
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 19:25:09 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140324' into staging
target-arm queue for 2.0:
* Fix wrong-results bug in A64 Neon MLS instruction
* Fix loading of ELF images for 32 bit boards in qemu-system-aarch64
# gpg: Signature made Mon 24 Mar 2014 17:14:07 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140324:
target-arm: Load ELF images with the correct machine type for CPU
target-arm: Fix A64 Neon MLS
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 90c49ef1650698cff1288e0d22aa858d89f820fa
Merge: e12b2a4 dac23a6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 19:00:02 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,test bug fixes
More small fixes all over the place.
Notably fixes for big-endian hosts by Marcel.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 24 Mar 2014 10:41:07 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
tests/acpi-test: do not fail if iasl is broken
vl.c: Use MAX_CPUMASK_BITS macro instead of hardcoded constant
sysemu.h: Document what MAX_CPUMASK_BITS really limits
acpi: fix endian-ness for table ids
acpi-test: signature endian-ness fixes
i386/acpi-build: support hotplug of VCPU with APIC ID 0xFF
acpi-test: rebuild SSDT
i386/acpi-build: allow more than 255 elements in CPON
pc: Refuse max_cpus if it results in too large APIC ID
acpi: Don't use MAX_CPUMASK_BITS for APIC ID bitmap
acpi: Assert sts array limit on AcpiCpuHotplug_add()
pc: Refuse CPU hotplug if the resulting APIC ID is too large
acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro
acpi-test: update expected SSDT files
acpi-build: fix misaligned access
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e12b2a4fab75c0771ed21ac6ce06120cbb27b68e
Merge: e279e25 b2c494c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 18:47:19 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-5' into
staging
spice: input: Fix absolute mouse y coordinates
# gpg: Signature made Mon 24 Mar 2014 07:44:11 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-5:
spice: input: Fix absolute mouse y coordinates
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e279e252ac7ea99b58eaf20d0aec4288de0386bb
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Fri Mar 21 21:29:37 2014 +0000
backends/baum.c: Fix compilation when SDL is not available.
backends/baum.c: In function â??chr_baum_initâ??:
backends/baum.c:569:64: error: missing binary operator before token "("
#if defined(CONFIG_SDL) && SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
^
backends/baum.c:598:64: error: missing binary operator before token "("
#if defined(CONFIG_SDL) && SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Message-id: 1395437377-5779-1-git-send-email-rjones@xxxxxxxxxx
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit da0af40dd70c8f8f821d79c367aecb08618af28e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 21 18:44:36 2014 +0000
target-arm: Load ELF images with the correct machine type for CPU
When trying to load an ELF file specified via -kernel, we need to
pass load_elf() the ELF machine type corresponding to the CPU we're
booting with, not the one corresponding to the softmmu binary
we happen to be running. (The two are different in the case of
loading a 32-bit ARM ELF file into a 32 bit CPU being emulated
by qemu-system aarch64.) This was causing us to incorrectly fail
to load ELF images in this situation.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1395427476-25546-1-git-send-email-peter.maydell@xxxxxxxxxx
commit d108609bf9ba160d2e2044ce7d553f691ac96dbd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 15:59:02 2014 +0000
target-arm: Fix A64 Neon MLS
The order of operands for the accumulate step in disas_simd_3same_int()
was reversed. This only affected the MLS instruction, since all the
other accumulating instructions in this category perform an addition
rather than a subtraction.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dac23a6c05e543590508b48b8ed31d89b0c99c61
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Mar 24 12:02:33 2014 +0200
tests/acpi-test: do not fail if iasl is broken
There is an issue with iasl on big endian machines: It
cannot disassemble acpi tables taken from little endian
machines, so we cannot check the expected tables.
The acpi test will check if the expected aml files
can be disassembled, and will issue an warning not
failing the test on those machines until this
problem is solved by the acpica community.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b2c494c3a473adf654144c845e04bebffb05dee0
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri Mar 21 14:28:49 2014 -0400
spice: input: Fix absolute mouse y coordinates
Current tablet + spice is unusable. Regressed with the UI input rework.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3a87f8b6859e6221b827ab4737779dddb37553ec
Merge: 06c1bee 71461b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 20 11:45:37 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0
* sPAPR loop fix
* SPR reset fix
* Reduce allocation size of indirect opcode tables
* Restrict number of CPU threads
* sPAPR H_SET_MODE fixes
* sPAPR firmware path fixes
* Static and constness cleanups
# gpg: Signature made Thu 20 Mar 2014 01:46:14 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
spapr: Implement interface to fix device pathname
spapr: QOM'ify pseries machine
spapr_vio: Fix firmware names
spapr_llan: Add to boot device list
qdev: Introduce FWPathProvider interface
vl.c: Extend get_boot_devices_list() to ignore suffixes
spapr_hcall: Fix little-endian resource handling in H_SET_MODE
target-ppc: Introduce powerisa-207-server flag
target-ppc: Force CPU threads count to be a power of 2
target-ppc: Fix overallocation of opcode tables
target-ppc: Reset SPRs on CPU reset
spapr_hcall: Fix h_enter to loop correctly
target-ppc: Add missing 'static' and 'const' attributes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 71461b0fef53467d2a85dbd72304dba0e01d8370
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:27 2014 +1100
spapr: Implement interface to fix device pathname
This extends the pseries machine type with the interface to fix firmware
pathnames for devices which have @bootindex property.
This fixes SCSI disks' device node names (which are wildcard nodes in
the device-tree), for spapr-vscsi, virtio-scsi and usb-storage.
This fixes PHB name from "pci" to "pci@XXXX" where XXXX is a BUID as
there is no bus on top of sPAPRPHBState where PHB firmware name could
be fixed using the BusClass::get_fw_dev_path() mechanism.
This stores the boot list in the /chosen/qemu,boot-list property of
the device tree. "\n" are replaced by spaces to support OF1275.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 29ee324740fa7af4b7cf0ce9295a07296e9a0f24
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:26 2014 +1100
spapr: QOM'ify pseries machine
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5a06393f1d7edc6274233533aac99a5ded1785ce
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:25 2014 +1100
spapr_vio: Fix firmware names
This changes VIO bridge fw name from spapr-vio-bridge to vdevice and
vscsi/veth node names from QEMU object names to VIO specific device tree
names.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ad4f62d0159fa2967195d095e7b532b9497fa6b0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:24 2014 +1100
spapr_llan: Add to boot device list
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6b1566cbe372660c77ca4aa7aa0071fa30f5f930
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 17 13:40:23 2014 +1100
qdev: Introduce FWPathProvider interface
QEMU supports firmware names for all devices in the QEMU tree but
some architectures expect some parts of firmware path names in different
format.
This introduces a firmware-pathname-change interface definition.
If some machines needs to redefine the firmware path format, it has
to add the TYPE_FW_PATH_PROVIDER interface to an object that is above
the device on the QOM tree (typically /machine).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 30e32af7466841f5fc08a5339e2184884a7bc6f3
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:22 2014 +1100
vl.c: Extend get_boot_devices_list() to ignore suffixes
As suffixes do not make sense for sPAPR's device tree and
there is no way to filter them out on the BusState::get_fw_dev_path()
level, let's add an ability for the external caller to specify
whether to apply suffixes or not.
We could handle suffixes in SLOF (ignored for now) but this would require
serious rework in the node opening code in SLOF, which has no obvious
benefit for the currently emulated sPAPR machine.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a46622fd07edc6fd3c66f8ab79b4782a78b115f3
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 15:37:40 2014 +1100
spapr_hcall: Fix little-endian resource handling in H_SET_MODE
This changes resource code definitions to ones used in the host kernel.
This fixes H_SET_MODE_RESOURCE_LE (switch between big endian and
little endian) to sync registers from KVM before changing LPCR value.
This adds a set_spr() helper to update an SPR in a CPU's context to avoid
possible races and makes use of it to change LPCR.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit df99d30d4e0dd22be5572235a5213de429e00747
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 15:37:39 2014 +1100
target-ppc: Introduce powerisa-207-server flag
This flag will be used to decide whether to emulate some bits of
H_SET_MODE hypercall because some are POWER8-only.
While we are here, add 2.05 flag to POWER8 family too. POWER7/7+ already
have it.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ec83c73e5ece590538878b24dfcb422904533e0
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 5 14:02:36 2014 +0530
target-ppc: Force CPU threads count to be a power of 2
PowerPC kernel expects the number of SMT threads in a core to be a power
of 2. Since QEMU doesn't enforce this, it leads to an early guest kernel
crash if invalid threads count is specified.
Prevent this crash and make it a graceful exit from QEMU itself by
validating the user-supplied threads count.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a80172a4762465a40f6b59d10d64360bd272b700
Author: Stuart Brady <sdb@xxxxxxxxxxxx>
Date: Wed Mar 19 14:07:26 2014 +0000
target-ppc: Fix overallocation of opcode tables
create_new_table() should allocate 0x20 opc_handler_t pointers, but
actually allocates 0x20 opc_handler_t structs. Fix this.
Signed-off-by: Stuart Brady <sdb@xxxxxxxxxxxx>
Reviewed-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d197fdbc3b83655f3c145722805f0998c04dce16
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Mar 20 00:03:57 2014 +1100
target-ppc: Reset SPRs on CPU reset
This resets SPR values to defaults on CPU reset. This should help
with little-endian guests reboot issues.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7aaf4957efad2bf6ac449d0caa9a1535f61006bc
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 14 19:21:49 2014 +0530
spapr_hcall: Fix h_enter to loop correctly
We wanted to loop till index is 8. On 8 we return with H_PTEG_FULL. If we
are successful in loading hpte with any other index, we continue with that
index value.
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 06c1bee85a7def8d0139ee6829728a891efe623f
Merge: d1a1451 f205da6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 23:34:42 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-2.0' into
staging
PReP machine and devices
* Raven PCI host bridge memory fixes (remainder)
# gpg: Signature made Wed 19 Mar 2014 23:35:08 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-2.0:
raven: Use raven_ for all function prefixes
raven: Fix PCI bus accesses with size > 1
raven: Add PCI bus mastering address space
raven: Set a correct PCI memory region
raven: Set a correct PCI I/O memory region
raven: Implement non-contiguous I/O region
raven: Rename intack region to pci_intack
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f205da688b3dc8f6f54220b6997ed5b910afcc54
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:25 2014 +0100
raven: Use raven_ for all function prefixes
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 2403837e67eca7eb5dfdadda25cdd38ef2dc9ad0
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:24 2014 +0100
raven: Fix PCI bus accesses with size > 1
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit d16644ec4ce1da5db24dd0a1618d814feaaf8ccb
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:23 2014 +0100
raven: Add PCI bus mastering address space
This has been tested on Linux 2.4/PPC with the lsi53c895a SCSI adapter.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 1fe9e2626f00b237a7e79d3eba4891da1bff6671
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:22 2014 +0100
raven: Set a correct PCI memory region
PCI memory region is 0x3f000000 bytes starting at 0xc0000000.
However, keep compatibility with Open Hack'Ware expectations
by adding a hack for Open Hack'Ware display.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 1ae1dc5ba241a6dd22b7359ec1b2d21dd8e66f5b
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:21 2014 +0100
raven: Set a correct PCI I/O memory region
PCI I/O region is 0x3f800000 bytes starting at 0x80000000.
Do not use global QEMU I/O region, which is only 64KB.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 9a1839164c9c8f06f4645e8207d7faee771ec78e
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:20 2014 +0100
raven: Implement non-contiguous I/O region
Remove now duplicated code from prep board.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 49a4e21251d89cdf9db8662a0d7138831f85d427
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:19 2014 +0100
raven: Rename intack region to pci_intack
Regions added subsequently will also have the pci_ prefix.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit d1a1451cd3a60df7dbfd4fb7f616443d22be1beb
Merge: 037b7ad 7e4fb26
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 22:36:44 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* CPUState layout optimization for TCG
# gpg: Signature made Wed 19 Mar 2014 21:51:46 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
cpu: Move tcg_exit_req to the end of CPUState
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 037b7addb7f9ad5dc52c3d05da8b2f60386252ff
Merge: f71e769 abdffd1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 21:45:41 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* QOM machine memory and build fixes
* QOM link<> and child<> property reference counting fixes
# gpg: Signature made Wed 19 Mar 2014 21:44:04 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
virtio-rng: Avoid default_backend refcount leak
qom: Add check() argument to object_property_add_link()
qom: Make QOM link property unref optional
qom: Don't make link NULL on object_property_set_link() failure
qom: Split object_property_set_link()
vl.c: Fix OpenBSD compilation issue due to namespace collisions
vl.c: Fix memory leak in qemu_register_machine()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit abdffd1fb78c1b98bda925d3d59123beca6761a3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:57 2014 +0100
virtio-rng: Avoid default_backend refcount leak
QOM child properties take a reference to the object and release it when
the property is deleted. Therefore we should unref the default_backend
after we have added it as a child property.
Cc: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 39f72ef94ba74701d18daf82b44c18a60f94eb60
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:56 2014 +0100
qom: Add check() argument to object_property_add_link()
There are currently three types of object_property_add_link() callers:
1. The link property may be set at any time.
2. The link property of a DeviceState instance may only be set before
realize.
3. The link property may never be set, it is read-only.
Something similar can already be achieved with
object_property_add_str()'s set() argument. Follow its example and add
a check() argument to object_property_add_link().
Also provide default check() functions for case #1 and #2. Case #3 is
covered by passing a NULL function pointer.
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
[AF: Tweaked documentation comment]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7e4fb26d757b460de5b80b4220bcd926f7175cb2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Mar 14 15:30:10 2014 -0700
cpu: Move tcg_exit_req to the end of CPUState
Reverse an increase in the size of generated code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:55 2014 +0100
qom: Make QOM link property unref optional
Some object_property_add_link() callers expect property deletion to
unref the link property object. Other callers expect to manage the
refcount themselves. The former are currently broken and therefore leak
the link property object.
This patch adds a flags argument to object_property_add_link() so the
caller can specify which refcount behavior they require. The new
OBJ_PROP_LINK_UNREF_ON_RELEASE flag causes the link pointer to be
unreferenced when the property is deleted.
This fixes refcount leaks in qdev.c, xilinx_axidma.c, xilinx_axienet.c,
s390-virtio-bus.c, virtio-pci.c, virtio-rng.c, and ui/console.c.
Rationale for refcount behavior:
* hw/core/qdev.c
- bus children are explicitly unreferenced, don't interfere
- parent_bus is essentially a read-only property that doesn't hold a
refcount, don't unref
- hotplug_handler is leaked, do unref
* hw/dma/xilinx_axidma.c
- rx stream "dma" links are set using set_link, therefore they
need unref
- tx streams are set using set_link, therefore they need unref
* hw/net/xilinx_axienet.c
- same reasoning as hw/dma/xilinx_axidma.c
* hw/pcmcia/pxa2xx.c
- pxa2xx bypasses set_link and therefore does not use refcounts
* hw/s390x/s390-virtio-bus.c
* hw/virtio/virtio-pci.c
* hw/virtio/virtio-rng.c
* ui/console.c
- set_link is used and there is no explicit unref, do unref
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c6aed9833419eed9de19919ff31aa021a6171521
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:54 2014 +0100
qom: Don't make link NULL on object_property_set_link() failure
The error behavior of object_property_set_link() is dangerous. It sets
the link property object to NULL if an error occurs. A setter function
should either succeed or fail, it shouldn't leave the value NULL on
failure.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f5ec6704c73932291c303d0cf72352ac26411d0d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:53 2014 +0100
qom: Split object_property_set_link()
The path resolution logic in object_property_set_link() should be a
separate function. This makes the code easier to read and maintain.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c8897e8eb965c0d091683ffaf127c50f8231d048
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Mar 18 17:26:35 2014 +0200
vl.c: Fix OpenBSD compilation issue due to namespace collisions
Machine rewriting added MACHINE() macro which is
already in use by other OpenBSD library.
Since qemu/sockets.h exposes the OpenBSD namespace,
the minimalistic approach is to add it as the first QEMU include.
Reported-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f5946dbab388050da6d9343978a38c81cce0508d
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Mar 19 12:24:27 2014 +0100
vl.c: Fix memory leak in qemu_register_machine()
Since commit 261747f176f6 (vl: Use MachineClass instead of global
QEMUMachine list) valgrind complains about the following:
==54082== 57 bytes in 3 blocks are definitely lost in loss record 365 of
729
==54082== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==54082== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==54082== by 0x415F9E9: g_strconcat (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==54082== by 0x80157FE7: qemu_register_machine (vl.c:1597)
==54082== by 0x80208E6B: module_call_init (module.c:105)
==54082== by 0x80013B91: main (vl.c:3000)
Turns out that valgrind is right. We simply forget the memory that
g_strconcat() has allocated. Lets free it after the type_register().
We need a 2nd variable due to constness of the name part of the
type structure.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f71e769d0754dc9a593a9e17ec6693a261b29f82
Merge: ec86487 c01a71c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 19:05:13 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* Fix pointer type mismatch
# gpg: Signature made Wed 19 Mar 2014 18:51:47 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
exec: Fix CPU rework fallout
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c01a71c1a56fa27f43449ff59e5d03b2483658a2
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 17 17:13:12 2014 +0100
exec: Fix CPU rework fallout
Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad (cpu: Move halted and
interrupt_request fields to CPUState) passed CPUState::env_ptr to
tlb_flush() directory rather than through a typed variable.
Commit 00c8cb0a36f51a6866a83c08962d12a0eb21864b (cputlb: Change
tlb_flush() argument to CPUState) now changed the argument type.
This was unnoticed by gcc because env_ptr is a void pointer.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ec864874bd1c1e13c82f4096fd3957d26c70a680
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 16:07:30 2014 +0000
linux-user: Fix build if headers don't define _LINUX_CAPABILITY_VERSION_1
Older kernel headers don't define _LINUX_CAPABILITY_VERSION_1.
Switch to using the older _LINUX_CAPABILITY_VERSION; newer headers
still define this for source compatibility.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Acked-by: Riku Voipio <riku.voipio@xxxxxx>
commit cfd54a0409c92cbf3b2e6af39ce44a13f6940dd0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 14:49:54 2014 +0100
target-ppc: Add missing 'static' and 'const' attributes
This fixes warnings from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4c8821d13405056776d0255bb78925dac91996c3
Merge: c1b94a0 e0eb210
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 14:14:15 2014 +0000
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
* remotes/riku/linux-user-for-upstream:
linux-user: Implement capget, capset
linux-user: Don't allow guest to block SIGSEGV
signal: added a wrapper for sigprocmask function
linux-user: Don't reserve space for commpage for AArch64
linux-user: implement F_[GS]ETOWN_EX
linux-user: Don't return uninitialized value for atomic_barrier syscall
linux-user/signal.c: Correct error path for AArch64 do_rt_sigreturn
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c1b94a0ed2332b08ea7799c003c3ee9996782a3c
Merge: 319c66d 198fd05
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 13:47:22 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches for 2.0.0-rc1
# gpg: Signature made Wed 19 Mar 2014 13:03:27 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
dataplane: fix implicit IOThread refcount
block/nfs: report errors from libnfs
block/nfs: bump libnfs requirement to 1.9.3
qcow2: Fix fail path in realloc_refcount_block()
qcow2: Correct comment for realloc_refcount_block()
qemu-io: Extended "--cmd" description in usage text
qemu-io-cmds: Fixed typo in example for writev.
block: Add error handling to bdrv_invalidate_cache()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 319c66d5abfb30553895589d24b70043639ad06d
Merge: 059b352 09e0373
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 13:00:41 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140319' into staging
target-arm queue:
* last few A64 Neon instructions
* fix some PL011 UART bugs causing occasional serial lockups
* fix the non-PCI AHCI device
# gpg: Signature made Wed 19 Mar 2014 12:00:59 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140319:
target-arm: A64: Add saturating accumulate ops (USQADD/SUQADD)
target-arm: A64: Add saturating int ops (SQNEG/SQABS)
pl011: fix incorrect logic to set the RXFF flag
pl011: fix UARTRSR accesses corrupting the UARTCR value
pl011: reset the fifo when enabled or disabled
ahci: fix sysbus support
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af67ee9264c135f4b213b4bc1a3871c4e9ec7da3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Mar 18 16:29:24 2014 -0300
vl.c: Use MAX_CPUMASK_BITS macro instead of hardcoded constant
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d2995916ea262bca40788f275c7f53f1c0a0b606
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Mar 18 16:29:23 2014 -0300
sysemu.h: Document what MAX_CPUMASK_BITS really limits
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 198fd05c357afff22f0b0e02639937519ed49b1f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Mar 18 17:50:52 2014 +0100
dataplane: fix implicit IOThread refcount
When creating an IOThread implicitly (the user did not specify
x-iothread=<id>) remember that iothread_find() does not return the
object with an incremented refcount.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 20fccb187c54105177a7859360e3cb7166c8f22f
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Mar 17 09:37:21 2014 +0100
block/nfs: report errors from libnfs
if an NFS operation fails we should report what libnfs knows
about the failure. It is likely more than just an error code.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b7d769c93214bd6e58d16009f47e61ccb541025c
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Mar 17 09:37:33 2014 +0100
block/nfs: bump libnfs requirement to 1.9.3
libnfs prior to 1.9.3 contains a bug that will report
wrong transfer sizes if the file offset grows beyond 4GB
and RPC responses are received out of order. this
error is not detectable and fixable in qemu.
additionally 1.9.3 introduces support for handling short
read/writes in general and takes care of the necessary
retransmissions internally.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a134d90f50806597c5da4fd191352fe62d40f71a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 17 23:04:52 2014 +0100
qcow2: Fix fail path in realloc_refcount_block()
If qcow2_alloc_clusters() fails, new_offset and ret will both be
negative after the fail label, thus passing the first if condition and
subsequently resulting in a call of qcow2_free_clusters() with an
invalid (negative) offset parameter. Fix this by introducing a new label
"fail_free_cluster" which is only invoked if new_offset is indeed
pointing to a newly allocated cluster that should be cleaned up by
freeing it.
While we're at it, clean up the whole fail path. qcow2_cache_put()
should (and actually can) never fail, hence the return value can safely
be ignored (aside from asserting that it indeed did not fail).
Furthermore, there is no reason to give QCOW2_DISCARD_ALWAYS to
qcow2_free_clusters(), a mere QCOW2_DISCARD_OTHER will suffice.
Ultimately, rename the "fail" label to "done", as it is invoked both on
failure and success.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8a15b813e6034856d4177c6ab242791795434c15
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 17 23:04:51 2014 +0100
qcow2: Correct comment for realloc_refcount_block()
Contrary to the comment describing this function's behavior, it does not
return 0 on success, but rather the offset of the newly allocated
cluster. This patch adjusts the comment accordingly to reflect the
actual behavior.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d208cc353a2860dc9614ba651439713e4ecdf9d3
Author: Maria Kustova <maxa@xxxxxxxx>
Date: Tue Mar 18 09:59:19 2014 +0400
qemu-io: Extended "--cmd" description in usage text
It's not clear from the usage description that "--cmd" option accepts
its argument as a string, so any special symbols have to be quoted from
the shell.
Updates in usage text:
- Specified parameter format for "--cmd" option.
- Added an instruction how to get help for "--cmd" option.
Signed-off-by: Maria Kustova <maria.k@xxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6e6507c06beb28e0551f68b13aa843ed1303f0f0
Author: Maria Kustova <maxa@xxxxxxxx>
Date: Tue Mar 18 09:59:17 2014 +0400
qemu-io-cmds: Fixed typo in example for writev.
Signed-off-by: Maria Kustova <maria.k@xxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5a8a30db4771675480829d7d3bf35a138e9c35f1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 12 15:59:16 2014 +0100
block: Add error handling to bdrv_invalidate_cache()
If it returns an error, the migrated VM will not be started, but qemu
exits with an error message.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 09e037354b6f940c18f417f23355cffd23f4fde5
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Tue Mar 18 23:10:06 2014 +0000
target-arm: A64: Add saturating accumulate ops (USQADD/SUQADD)
Add the saturating accumulate operations USQADD and SUQADD
to the A64 instruction set. This completes coverage of A64 Neon.
These operations (which are unsigned + signed -> signed and
signed + unsigned -> unsigned) don't exist in the A32/T32
instruction set, so require a complete new set of helper functions.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a79bc87c3acf8364abf2d47b261fa898db15885
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Tue Mar 18 23:10:06 2014 +0000
target-arm: A64: Add saturating int ops (SQNEG/SQABS)
This mostly re-uses the existing NEON helpers with an additional two for
the 64 bit case. I also took the opportunity to add TCG_CALL_NO_RWG
options to the helpers as they don't modify globals (saturation flags
are in the CPU Environment).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f72dbf3d2629be75d50b4c98816c360d82e8a848
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 13:18:41 2014 -0500
pl011: fix incorrect logic to set the RXFF flag
The receive fifo full bit should be set when 1 character is received and
the fifo is disabled or when 16 characters are in the fifo.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1395166721-15716-4-git-send-email-robherring2@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ce8f0905a59232982c8a220169e11c14c73e7dea
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 13:18:40 2014 -0500
pl011: fix UARTRSR accesses corrupting the UARTCR value
Offset 4 is UARTRSR/UARTECR, not the UARTCR. The UARTCR would be
corrupted if the UARTRSR is ever written. Fix by implementing a correct
model of the UARTRSR/UARTECR register. Reads of this register simply
reflect the error bits in data register. Only breaks can be triggered in
QEMU. With the pl011_can_receive function, we effectively have flow
control between the host and the model. Framing and parity errors simply
don't make sense in the model and will never occur.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1395166721-15716-3-git-send-email-robherring2@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 22709e90a270a36418f1b1d5d3277016eec1edc2
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 13:18:39 2014 -0500
pl011: reset the fifo when enabled or disabled
Intermittent issues have been seen where no serial input occurs. It
appears the pl011 gets in a state where the rx interrupt never fires
because the rx interrupt only asserts when crossing the fifo trigger
level. The fifo state appears to get out of sync when the pl011 is
re-configured. This combined with the rx timeout interrupt not being
modeled results in no more rx interrupts.
Disabling the fifo is the recommended way to clear the tx fifo in the
TRM (section 3.3.8). The behavior in this case for the rx fifo is
undefined in the TRM, but having fifo contents to be maintained during
configuration changes is not likely expected behavior. Reseting the
fifo state when the fifo size is changed is the simplest solution.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1395166721-15716-2-git-send-email-robherring2@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bd16430777cc3d25930e479fdbe290d92cec0888
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 19:36:13 2014 +0000
ahci: fix sysbus support
Non-PCI AHCI support is broken due to assertion failures when trying
to convert AHCIState to a PCIDevice pointer as AHCIState can have
different container structs. Fix this by using the non-asserting object
cast and checking the returned pointer is not NULL.
The AddressSpace pointer is also being initialized to NULL and causing
dma_memory_map call to fail. Fix this by initializing to
address_space_memory for sysbus instances.
Also correct AHCI_VMSTATE to use the correct container SysbusAHCIState
for sysbus instances.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Message-id: 1392073373-3295-1-git-send-email-robherring2@xxxxxxxxx
[PMM: added linebreaks to fix overlong lines]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 059b3527f0229f4d60fd77a317503d42abd5e50f
Merge: 2dda43b 2f487a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 18 16:39:29 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-2' into staging
vnc: fix vmware VGA incompatiblities
# gpg: Signature made Tue 18 Mar 2014 07:23:10 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-vnc-2:
ui/vnc: fix vmware VGA incompatiblities
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 821e3227863ea8db057190e578efa0f1f57ed9de
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Mar 18 15:49:41 2014 +0200
acpi: fix endian-ness for table ids
when using signature for table ID, we forgot to byte-swap it.
signatures are really ASCII strings, let's treat them as such.
While at it, get rid of most of _SIGNATURE macros.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c225aa3c6de64f61fe68de2e5f4e3897544daf0d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Mar 18 16:42:05 2014 +0200
acpi-test: signature endian-ness fixes
acpi table signature is really an ASCII string.
Treat it as such in tests.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2dda43bacc79f8e283702614745cd700c637de64
Merge: 315b593 1ed27a1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 18 14:31:42 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140317' into staging
target-arm queue:
* more A64 Neon instructions
* fixes to reset CBAR values for A9 and A15 boards
* fix accesses to PMCR register in -icount mode
# gpg: Signature made Mon 17 Mar 2014 22:04:52 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140317: (30 commits)
scripts/qemu-binfmt-conf.sh: Add AArch64 registration
target-arm: A64: Add [UF]RSQRTE (reciprocal root estimate)
target-arm: A64: Implement FCVTXN
target-arm: A64: Implement scalar saturating narrow ops
target-arm: A64: Move handle_2misc_narrow function
target-arm: A64: Implement AdvSIMD reciprocal estimate insns URECPE,
FRECPE
softfloat: export squash_input_denormal functions
target-arm: A64: Implement FCVTZS, FCVTZU in the shift-imm categories
target-arm: A64: Handle saturating left shifts SQSHL, SQSHLU, UQSHL
exec-all.h: Increase MAX_OP_PER_INSTR for ARM A64 decoder
target-arm: A64: Implement FRINT*
target-arm: A64: Implement SRI
target-arm: A64: Add FRECPX (reciprocal exponent)
target-arm: A64: List unsupported shift-imm opcodes
target-arm: A64: Implement FCVTL
target-arm: A64: Implement FCVTN
target-arm: A64: Implement FCVT[NMAPZ][SU] SIMD instructions
target-arm: A64: Implement SHLL, SHLL2
target-arm: A64: Implement SADDLP, UADDLP, SADALP, UADALP
target-arm: A64: Saturating and narrowing shift ops
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2fd71f1be2a2554b790fa63fc14b6b4c7683f1f3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Mon Mar 17 17:05:17 2014 +0100
i386/acpi-build: support hotplug of VCPU with APIC ID 0xFF
Building on the previous patch, raise the maximal count of processor
objects / NTFY branches / CPON elements from 255 to 256. This allows the
VCPU with APIC ID 0xFF to be hotplugged.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d07e0e9cddf02dd2abedbbf7ab0e069c8f5dabfd
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Mar 18 16:14:59 2014 +0200
acpi-test: rebuild SSDT
commit 9bcc80cd71892df42605e0c097d85c0237ff45d1
i386/acpi-build: allow more than 255 elements in CPON
Replaces 0x1 with a smaller One constant.
rebuild expected SSDT.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9bcc80cd71892df42605e0c097d85c0237ff45d1
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Mon Mar 17 17:05:16 2014 +0100
i386/acpi-build: allow more than 255 elements in CPON
The build_ssdt() function builds a number of AML objects that are related
to CPU hotplug, and whose IDs form a contiguous sequence of APIC IDs.
(APIC IDs are in fact discontiguous, but this is the traditional
interface: build a contiguous sequence from zero up that covers all
possible APIC IDs.) These objects are:
- a Processor() object for each VCPU,
- a NTFY method, with one branch for each VCPU,
- a CPON package with one element (hotplug status byte) for each VCPU.
The build_ssdt() function currently limits the *count* of processor
objects, and NTFY branches, and CPON elements, in 0xFF (see the assignment
to "acpi_cpus"). This allows for an inclusive APIC ID range of [0..254].
This is incorrect, because the highest APIC ID that we otherwise allow a
VCPU to take is 255.
In order to extend the maximum count to 256, and the traversed APIC ID
range correspondingly to [0..255]:
- the Processor() objects need no change,
- the NTFY method also needs no change,
- the CPON package must be updated, because it is defined with a
DefPackage, and the number of elements in such a package can be at most
255. We pick a DefVarPackage instead.
We replace the Op byte, and the encoding of the number of elements.
Compare:
DefPackage := PackageOp PkgLength NumElements PackageElementList
DefVarPackage := VarPackageOp PkgLength VarNumElements PackageElementList
PackageOp := 0x12
VarPackageOp := 0x13
NumElements := ByteData
VarNumElements := TermArg => Integer
The build_append_int() function implements precisely the following TermArg
encodings (a subset of what the ACPI spec describes):
TermArg := DataObject
DataObject := ComputationalData
ComputationalData := ConstObj | ByteConst | WordConst | DWordConst
directly encoded in the function, with build_append_byte():
ConstObj := ZeroOp | OneOp
ZeroOp := 0x00
OneOp := 0x01
call to build_append_value(..., 1):
ByteConst := BytePrefix ByteData
BytePrefix := 0x0A
ByteData := 0x00 - 0xFF
call to build_append_value(..., 2):
WordConst := WordPrefix WordData
WordPrefix := 0x0B
WordData := ByteData[0:7] ByteData[8:15]
call to build_append_value(..., 4):
DWordConst := DWordPrefix DWordData
DWordPrefix := 0x0C
DWordData := WordData[0:15] WordData[16:31]
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f03bd716a2935532379cff1c71c6f0f399921b70
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:54 2014 -0300
pc: Refuse max_cpus if it results in too large APIC ID
This changes the PC initialization code to reject max_cpus if it results
in an APIC ID that's too large, instead of aborting or erroring out when
it is already too late.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 798325ed3856bc1e2f2b640b7e0db60044fdddf9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:53 2014 -0300
acpi: Don't use MAX_CPUMASK_BITS for APIC ID bitmap
MAX_CPUMASK_BITS is a limit for max_cpus and CPU indexes, not for APIC
IDs.
ACPI_CPU_HOTPLUG_ID_LIMIT is the right macro for the limit on APIC IDs
on the ACPI and CPU hotplug code.
There are no functional changes introduced by this patch, as
MAX_CPUMASK_BITS + 1 == 255 + 1 == 256 == ACPI_CPU_HOTPLUG_ID_LIMIT.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 39ee3af3a85fedb55b9eeb1a0bc81a2460eeaa01
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:52 2014 -0300
acpi: Assert sts array limit on AcpiCpuHotplug_add()
AcpiCpuHotplug_add() can't handle vCPU arch IDs larger than
ACPI_CPU_HOTPLUG_ID_LIMIT. Instead of corrupting memory in case the vCPU
ID is too large, use g_assert() to ensure we are not over the limit.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5ff020b7b02dce36a66c106df986ff68f8452542
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:51 2014 -0300
pc: Refuse CPU hotplug if the resulting APIC ID is too large
The ACPI CPU hotplug code requires APIC IDs to be smaller than
ACPI_CPU_HOTPLUG_ID_LIMIT, so enforce the limit before trying to hotplug
a new vCPU, returning an error instead of crashing.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1d14ac5af04fab9ee734cc4c810f022df6745278
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:50 2014 -0300
acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro
The new macro will be helpful to allow us to detect too large SMP limits
before it is too late.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3dd46eb4969baaf32f490eaf57ed23672f1daad2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 10 21:13:59 2014 +0200
acpi-test: update expected SSDT files
commit 13f65b2e1073cf7e2c8fb3880c77d8a53fa2f95e
acpi-test: update expected SSDT files
set an incorrect SSDT.
rebuild it.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2f487a3d40faff1772e14da6b921900915501f9a
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Mar 17 18:38:58 2014 +0100
ui/vnc: fix vmware VGA incompatiblities
this fixes invalid rectangle updates observed after commit 12b316d
with the vmware VGA driver. The issues occured because the server
and client surface update seems to be out of sync at some points
and the max width of the surface is not dividable by
VNC_DIRTY_BITS_PER_PIXEL (16).
Reported-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 315b59344126beab85a62b53582794b14436a5a4
Merge: cdf0592 4f3ed19
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 22:31:32 2014 +0000
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140317'
into staging
4 small patches:
- Fixing findings of valgrind regarding minor memory leaks:
Currently we forget the pointer of qemu_allocate_irqs. Since we never
free the irqs, this is not critical, but obviously not good programming
style. While we are at it, we dont need the irq infrastructure for
the sclp consoles.
- Handle new ELF error codes for BIOS loading
# gpg: Signature made Mon 17 Mar 2014 21:34:12 GMT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
* remotes/borntraeger/tags/kvm-s390-20140317:
s390x/sclpconsole-lm: Fix and simplify irq setup
s390x/sclpconsole: Fix and simplify interrupt injection
s390x/cpu hotplug: Fix memory leak
s390/ipl: Fix error path on BIOS loading
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cdf0592cb888d071e4b4f37048ad8646ac9fbc8c
Merge: 87f6396 cab0a7e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 22:15:52 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-v8p-2' into staging
* remotes/rth/tcg-v8p-2:
tcg-sparc: Convert to new ldst opcodes
tcg-sparc: Convert to new ldst helpers
tcg-sparc: Tidy tcg_out_tlb_load interface
tcg-sparc: Use TCGMemOp within qemu_ldst routines
tcg-sparc: Improve tcg_out_movi
tcg-sparc: Dont handle constant arguments to ext32 ops
tcg-sparc: Don't handle remainder
tcg-sparc: Use intptr_t as appropriate
tcg-sparc: Tidy call+jump patterns
tcg-sparc: Fix tlb read
tcg-sparc: Fix ld64 for 32-bit mode
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4f3ed190a673c0020c3ccebb4882ae4675cb5f4d
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 10 14:19:52 2014 +0100
s390x/sclpconsole-lm: Fix and simplify irq setup
valgrind complains about a memory leak in irq setup of sclpconsole:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 89of 833
==42117== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117== by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==42117== by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117== by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117== by 0x800F5685: console_init (sclpconsole.c:235)
==42117== by 0x80297C79: event_realize (event-facility.c:386)
==42117== by 0x80105071: device_set_realized (qdev.c:693)
==42117== by 0x801CDC4B: property_set_bool (object.c:1337)
==42117== by 0x801CBD7F: object_property_set (object.c:819)
[...]
We dont need the indirection of an qemu irq to inject an slcp interrupt.
Fixes a valgrind error and makes the code simpler.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
commit b074e6220542107afb9fad480a184775be591d2a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 10 14:17:04 2014 +0100
s390x/sclpconsole: Fix and simplify interrupt injection
valgrind complains about a memory leak in irq setup of sclpconsole:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 89 of 833
==42117== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117== by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==42117== by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117== by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117== by 0x800F5685: console_init (sclpconsole.c:235)
==42117== by 0x80297C79: event_realize (event-facility.c:386)
==42117== by 0x80105071: device_set_realized (qdev.c:693)
==42117== by 0x801CDC4B: property_set_bool (object.c:1337)
==42117== by 0x801CBD7F: object_property_set (object.c:819)
[...]
Turns out that we actually dont need the indirection, so trigger the
sclp interrupt directly.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
commit 7b53f2940e3bf43ae50c929330a4837ca4da7a94
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 10 15:03:16 2014 +0100
s390x/cpu hotplug: Fix memory leak
valgrind complains about the following:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 88 of 833
==42117== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117== by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==42117== by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117== by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117== by 0x8029FA4B: irq_cpu_hotplug_init (sclpcpu.c:84)
==42117== by 0x80297C79: event_realize (event-facility.c:386)
==42117== by 0x80105071: device_set_realized (qdev.c:693)
[...]
Right it is. Don't drop the pointer of the irq.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Jason J. Herne <jjherne@xxxxxxxxxx>
commit 0a1bec8a4e1c55bb581521c60db30e3f4867ceb1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Mar 14 13:38:57 2014 +0100
s390/ipl: Fix error path on BIOS loading
commit 18674b26788a9e47f1157170234e32ece2044367
(elf-loader: add more return codes) enabled the elf loader to return
other errors than -1.
Lets also handle that case for our "BIOS" on s390.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
CC: Alexey Kardashevskiy <aik@xxxxxxxxx>
CC: Alexander Graf <agraf@xxxxxxx>
commit cab0a7ea002b0a01ebfbde5d3c8ace0b6848ffcc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 9 19:51:21 2013 -0700
tcg-sparc: Convert to new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7ea5d7256d06a04e8953b25f7766c9e32fa408e8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 5 09:42:08 2014 -0800
tcg-sparc: Convert to new ldst helpers
All of the helpers with the explicit big/little endian option
require the return address as a parameter. Acquire this via
a trampoline.
Move the load of areg0 into the trampoline.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a8b12c108c364587213396c3cd3e22d740f87e2e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 15:01:14 2013 -0700
tcg-sparc: Tidy tcg_out_tlb_load interface
Pass address registers explicitly, rather than as indicies of args[].
It's two argument registers either way. Use more TCGReg as appropriate.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit eef0d9e740be3fb3b8226d8dffb0871455d45ce5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 20:12:01 2013 -0700
tcg-sparc: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9c7d27bd189c8df698fac1369f718e7fa30d9d9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 9 21:07:09 2013 -0700
tcg-sparc: Improve tcg_out_movi
If bits 31:13 are zero, reduce the insn count by one.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d0a60681a287e5697fa5b537dabb77f9c9c7f04
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 4 15:24:04 2014 -0800
tcg-sparc: Dont handle constant arguments to ext32 ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f9eb02555e743bdeb2e22ea3c43a36cb9dad72f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 19:22:15 2013 -0700
tcg-sparc: Don't handle remainder
The generic fallback is exactly what we implemented.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8fc56cedda388641a3a5e1650db9a58c2280549
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 18:31:45 2013 -0700
tcg-sparc: Use intptr_t as appropriate
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aad2f06a7f03d06945e727373e4e059997220529
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 18:25:38 2013 -0700
tcg-sparc: Tidy call+jump patterns
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d801a8f2ce9b89aef6006992ea1c573be817d80b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 17:19:12 2013 -0700
tcg-sparc: Fix tlb read
We were computing the full address into %o0 and then not using it.
Adjust some of the computation to rely less on having to pull immediate
values into registers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e7bc9004e729d4db1fdced5ccc09a322df53723f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 14:20:00 2013 -0700
tcg-sparc: Fix ld64 for 32-bit mode
Since were not using an annulled branch, we need to put a nop
in the delay slot.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1ed27a17cd9d9ebec8963bc358d74060b1dd6127
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:53 2014 +0000
scripts/qemu-binfmt-conf.sh: Add AArch64 registration
Add the binfmt-misc magic needed to register QEMU for handling AArch64
ELF binaries.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-26-git-send-email-peter.maydell@xxxxxxxxxx
commit c2fb418e35be3eb1f60987174f94c029f7d4dd7d
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:53 2014 +0000
target-arm: A64: Add [UF]RSQRTE (reciprocal root estimate)
This adds support for [UF]RSQRTE instructions. It utilises the existing
NEON helpers with some changes. The changes include an explicit passing
of fpstatus (so the correct one is used between arm32 and aarch64),
denormilzation, more correct error handling and also proper scaling of
the fraction going into the estimate.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-25-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5553955eb6ec890f324a2ff6c6cc1365b98b981f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:53 2014 +0000
target-arm: A64: Implement FCVTXN
Implement the FCVTXN operation, which does a narrowing fp precision
conversion using the "round to odd" (von Neumann) mode. This can
conveniently be implemented as "do operation using round to zero;
then set the LSB of the mantissa to 1 if the Inexact flag was set".
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-24-git-send-email-peter.maydell@xxxxxxxxxx
commit 5201c13654c35e5e0173a9947848f3a9f9a5a8bc
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:52 2014 +0000
target-arm: A64: Implement scalar saturating narrow ops
This completes the set of integer narrowing saturating ops including:
SQXTN, SQXTN2
SQXTUN, SQXTUN2
UQXTN, UQXTN2
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-23-git-send-email-peter.maydell@xxxxxxxxxx
commit 8b092ca9ef06fd308ecf1d46c805f938a95acc21
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:52 2014 +0000
target-arm: A64: Move handle_2misc_narrow function
Move the handle_2misc_narrow() function up the file so that it can
be called from disas_simd_scalar_two_reg_misc().
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-22-git-send-email-peter.maydell@xxxxxxxxxx
commit b6d4443a7bf607c5ca5d4b8dabffc421e571f4eb
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:52 2014 +0000
target-arm: A64: Implement AdvSIMD reciprocal estimate insns URECPE,
FRECPE
Implement URECPE and FRECPE instructions in both scalar and vector forms.
The actual reciprocal estimate function is shared with the A32/T32 Neon
code. However in A64 we aren't using the Neon "standard FPSCR value"
so extra checks are necessary to handle non-squashed denormal inputs
which can never happen for A32/T32. Calling conventions for the helpers
are thus modified to pass the fpst directly; we mark the helpers as
TCG_CALL_NO_RWG since we're changing the declarations anyway.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-21-git-send-email-peter.maydell@xxxxxxxxxx
commit 7baeabce1d25c667d0ec7e4e74a1312e0b887b54
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
softfloat: export squash_input_denormal functions
I need these available outside of softfloat for some of the reciprocal
processing in aarch64 helper functions.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-20-git-send-email-peter.maydell@xxxxxxxxxx
commit 2ed3ea110f47a7e3639281edb1d6483b1efce6c3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
target-arm: A64: Implement FCVTZS, FCVTZU in the shift-imm categories
Implement FCVTZS and FCVTZU in the shift-imm and scalar-shift-imm
categories; this completes the implementation of those two groups.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-19-git-send-email-peter.maydell@xxxxxxxxxx
commit a847f32c04538e92675c7b27f5f60d2eaad3e56c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
target-arm: A64: Handle saturating left shifts SQSHL, SQSHLU, UQSHL
Implement the saturating left shift instructions SQSHL, SQSHLU
and UQSHL for the scalar-shift-imm and shift-imm categories.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-18-git-send-email-peter.maydell@xxxxxxxxxx
commit 14dcdac82f398cbac874c8579b9583fab31c67bf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
exec-all.h: Increase MAX_OP_PER_INSTR for ARM A64 decoder
The ARM A64 decoder's worst case number of TCG ops per instruction
is 266 (for insn 0x4c800000, a post-indexed ST4 multiple-structures
store). Raise the MAX_OP_PER_INSTR define accordingly.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-17-git-send-email-peter.maydell@xxxxxxxxxx
commit 03df01ed9a83a22790f3fd1cfbe7fc48caf9bfd0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: Implement FRINT*
Implement the FRINT* round-to-integral operations from
the 2-reg-misc category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-16-git-send-email-peter.maydell@xxxxxxxxxx
commit 37a706adbf96fbb05abbb8b17b14aebee266f2d1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: Implement SRI
Implement SRI (shift right and insert).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-15-git-send-email-peter.maydell@xxxxxxxxxx
commit 8f0c6758b0e1c3b9676e7c3ccea8a176537cf843
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: Add FRECPX (reciprocal exponent)
These are fairly simple exponent only estimation functions using helpers.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-14-git-send-email-peter.maydell@xxxxxxxxxx
commit a566da1b02704a79038043ddbe850f40b033cd63
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: List unsupported shift-imm opcodes
Add the remaining unsupported opcodes to the decode switches
for the shift-imm and scalar shift-imm categories so we can
see what is still to be implemented.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-13-git-send-email-peter.maydell@xxxxxxxxxx
commit 931c8cc270793877f8d7bf9934ac9fa3fb7800be
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement FCVTL
Implement FCVTL, the only instruction in the 2-reg-misc group
which widens from size to 2*size elements.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-12-git-send-email-peter.maydell@xxxxxxxxxx
commit 261a5b4dd1dc6c68b274cc39bb5d4d236b24d4cd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement FCVTN
Implement FCVTN (narrowing fp-to-fp conversions) from the SIMD
2-reg-misc category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-11-git-send-email-peter.maydell@xxxxxxxxxx
commit 04c7c6c261c3000c851eb177a7d32236828f4be2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement FCVT[NMAPZ][SU] SIMD instructions
Implement the floating-point-to-integer conversion instructions
FCVT[NMAPZ][SU] in the 2-reg-misc and scalar-2-reg-misc
categories.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-10-git-send-email-peter.maydell@xxxxxxxxxx
commit 73a81d10fda3cb45e62efd6829f19debb9f54073
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement SHLL, SHLL2
Implement the SHLL and SHLL2 instructions from the 2-reg-misc
category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-9-git-send-email-peter.maydell@xxxxxxxxxx
commit 6781fa119f3f403bcab59142faa9581aff974358
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:48 2014 +0000
target-arm: A64: Implement SADDLP, UADDLP, SADALP, UADALP
Implement the SADDLP, UADDLP, SADALP and UADALP instructions
in the SIMD 2-reg misc category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-8-git-send-email-peter.maydell@xxxxxxxxxx
commit c1b876b2e9a47e3e36be57a4f3d167b19c5f586a
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:48 2014 +0000
target-arm: A64: Saturating and narrowing shift ops
This implements the remaining [US][Q][R]SHR[U][N][2] opcodes, which are
saturating and narrowing shift right operations. These are used in
things like libav. Note signed shifts can have an "unsigned" saturating
narrow operation which will floor negative values.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394822294-14837-7-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: Added the scalar encodings, style tweaks]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b05c3068577f6caea6f1911b9e03d52dbf84f475
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:48 2014 +0000
target-arm: A64: Add remaining CLS/Z vector ops
Implement the CLS, CLZ operations in the 2-reg-misc category.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-6-git-send-email-peter.maydell@xxxxxxxxxx
commit f612537e0706761d5692deaa72516695ef0a2ac8
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Add FSQRT to C3.6.17 (two misc)
Implement FSQRT in the two-reg-misc category.
GCC uses this instruction form.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 10113b6903c0256c1741918430b0304c5a60b7a8
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Add last AdvSIMD Integer to FP ops
This adds the remaining [US]CVTF operations to the SIMD
shift-immediate, scalar-shift-immediate, two-reg-misc and
scalar-two-reg-misc groups of opcodes.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394822294-14837-4-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: added scalar 2-misc and scalar-shift-imm encodings]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cf4ab1af296b8ef5d5a1dc65fda804b88ddd0553
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Fix bug in add_sub_ext handling of rn
rn == 31 always means SP (not XZR) whether an add_sub_ext
instruction is setting the flags or not; only rd has behaviour
dependent on whether we are setting flags.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-3-git-send-email-peter.maydell@xxxxxxxxxx
commit a984e42c916ad5afdf3f8660f284857547943aa4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Implement PMULL instruction
Implement the PMULL instruction; this is the last unimplemented insn
in the three-reg-diff group.
Note that PMULL with size 3 is considered part of the AES part
of the crypto extensions (see the ID_AA64ISAR0_EL1 register definition
in the v8 ARM ARM), so it isn't necessary to burn an extra feature
bit on it, even though we're using more feature bits than a single
"crypto extension present/not present" toggle.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-2-git-send-email-peter.maydell@xxxxxxxxxx
commit d6d60581f3f6778de85ee23427006151b5226667
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:46 2014 +0000
target-arm: Add ARM_CP_IO notation to PMCR reginfo
Now that the PMCR writefn makes timer accesses, its reginfo needs
the ARM_CP_IO flag, so that icount mode works correctly. (Fixes
the bug accidentally introduced in commit 7c2cb42b).
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394908291-16546-1-git-send-email-peter.maydell@xxxxxxxxxx
commit ba7500852d8c3926a732892236765eee1bcaea93
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:46 2014 +0000
virt: Set reset-cbar on CPUs
Set the reset-cbar property on CPUs used by the virt board,
if they have it. This isn't necessary for correct functioning
under Linux (since the A9 isn't a valid CPU for the virt board),
but it is the correct behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 4719ab918a837fb12f34599139f2c7c0137ca703
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:46 2014 +0000
exynos4210: Set reset-cbar property of Cortex-A9 CPUs
Set the reset-cbar property of the Exynos4210 SoC's Cortex-A9
CPUs, so that Linux doesn't misrecognize them as a broken
uniprocessor SoC.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-4-git-send-email-peter.maydell@xxxxxxxxxx
commit b5a3ca3e3028ab86131920b45a19d553f278bdb4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:45 2014 +0000
realview-pbx-a9: Set reset-cbar property for CPUs
If the CPU is a Cortex-A9 then we should set its reset-cbar property
so that the guest can read the correct PERIPHBASE/CBAR register value;
newer versions of the Linux kernel (as of commit bc41b8724 in 3.12)
will otherwise assume the CPU is a buggy single core A9 SoC. The
realview-pbx-a9 is the only one of the cluster of boards in realview.c
which works with the Cortex-A9 (ie which gets an a9mpcore_priv device);
make sure it also has reset-cbar set correctly.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 9948c38bd9aef8fa762a1b62b9fccc35e11a6fd5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:45 2014 +0000
vexpress: Set reset-cbar property for CPUs
Newer versions of the Linux kernel (as of commit bc41b8724 in 3.12)
now assume that if the CPU is a Cortex-A9 and the reset value of the
PERIPHBASE/CBAR register is zero then the CPU is a specific buggy
single core A9 SoC, and will not try to start other cores. Since we
now have a CPU property for the reset value of the CBAR, we can
just fix the vexpress board model to correctly set CBAR so SMP
works again. To avoid duplicate boilerplate code in both the A9
and A15 daughterboard init functions, we split out the CPU and
private memory region init to its own function.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 87f639629334c4592c3ba1011af0f691db1e7ed1
Merge: 087edb5 2bda660
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 15:51:57 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-3' into staging
gtk: warp bugfixes.
gtk: Allow to activate grab-on-hover from the command line
# gpg: Signature made Mon 17 Mar 2014 13:35:35 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-gtk-3:
gtk: Don't warp absolute pointer
gtk: Fix mouse warping with gtk3
gtk: Allow to activate grab-on-hover from the command line
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2bda66028b4962c36d4eabe2995edab12df93691
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Mar 13 15:30:24 2014 -0400
gtk: Don't warp absolute pointer
This matches the behavior of SDL, and makes the mouse usable when
using -display gtk -vga qxl
https://bugzilla.redhat.com/show_bug.cgi?id=1051724
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 298526fe92d0b35ea343f8ddcc3a1d54cb422494
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Mar 13 15:30:23 2014 -0400
gtk: Fix mouse warping with gtk3
We were using the wrong coordinates, this fixes things to match the
original gtk2 implementation.
You can see this error in action by using -vga qxl, however even after
this
patch the mouse warps in small increments up and to the left, -7x and -3y
pixels at a time, until the pointer is warped off the widget. I think it's
a qxl bug, but the next patch covers it up.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 881249c79292b6883ecf4bdb79c11cc7dbdb4878
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Mar 12 08:33:50 2014 +0100
gtk: Allow to activate grab-on-hover from the command line
As long as we have no persistent GTK configuration, this allows to
enable the useful grab-on-hover feature already when starting the VM.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
[ kraxel: fix warning with CONFIG_GTK=n ]
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e0eb210ec0c1cd262e3f642133ee93acdaf60aa0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 12:15:35 2014 +0000
linux-user: Implement capget, capset
Implement the capget and capset syscalls. This is useful because
simple programs like 'ls' try to use it in AArch64, and otherwise
we emit a lot of noise about it being unimplemented.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 087edb503afebf184f07078900efc26c73035e98
Merge: f4b11ee 025172d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 13:05:48 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/fixes-for-2.0' into staging
* remotes/bonzini/fixes-for-2.0:
vl.c: Output error on invalid machine type
target-alpha: fix subl and s8subl indentation
qemu-nbd: Fix coverity issues
rules.mak: Fix per object libs extraction
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 025172d56e11ba3d86d0937933a23aab3b8606b1
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Fri Mar 14 13:06:54 2014 +0100
vl.c: Output error on invalid machine type
Output error message using qemu's error_report() function when user
provides the invalid machine type on the command line. This also saves
time to find what issue is when you downgrade from one version of qemu
to another that doesn't support required machine type yet (the version
user downgraded to have to have this patch applied too, of course).
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
[Replace printf with error_printf, suggested by Markus Armbruster. -
Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83d1c8ae881e88d70cf23bc8007cf5739313d23c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Mar 15 19:33:15 2014 +0100
target-alpha: fix subl and s8subl indentation
Two missing braces, one close and one open, fabulously let the code
compile.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0c544d73bbb4c8612b7754a8e1c8b0c8af1617ff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 14 18:10:54 2014 +0100
qemu-nbd: Fix coverity issues
There are two issues in qemu-nbd: a missing return value check after
calling accept(), and file descriptor leaks in nbd_client_thread.
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6295b98d7b767c377d88fa787ca62603a8ca6adb
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Mar 14 10:21:05 2014 +0800
rules.mak: Fix per object libs extraction
Don't sort the extracted options, sort the objects.
Reported-by: Christian Mahnke <cmahnke@xxxxxxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f4b11eee2f562c23b3efc33b96ba4542c9ca81aa
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Mar 17 09:35:22 2014 +0800
Makefile: Fix "make clean"
This fixes a dangerous bug: "make clean" after "make distclean" will
delete every single file including those under .git, if you do in-tree
build!
Rationale: A first "make distclean" will unset $(DSOSUF), a following
"make distclean" or "make clean" will find all the files and delete it.
Fix it by explicitly typing the file extensions here, and combine
multiple find invocations into one.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Message-id: 1395020122-4957-1-git-send-email-famz@xxxxxxxxxx
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a7ec0f98e3a37a4d31c832cfa14dc2c1c0890421
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 14 14:36:56 2014 +0000
linux-user: Don't allow guest to block SIGSEGV
Don't allow the linux-user guest to block SIGSEGV -- QEMU needs this
signal to detect accesses to pages which it has marked read-only
because it has cached translated code from them.
We implement this by making the do_sigprocmask() wrapper suppress
SIGSEGV when doing the host process signal mask manipulation; instead
we store the current state of SIGSEGV in the TaskState struct.
If we get a SIGSEGV for the guest when the guest has blocked the
signal, we treat it as if the default SEGV handler was in place,
as the kernel does for forced SIGSEGV delivery.
This patch is based on an idea by Alex Barcelo, but rather than
simply lying to the guest about the SIGSEGV state we track it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Alex Barcelo <abarcelo@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1c275925bfbbc2de84a8f0e09d1dd70bbefb6da3
Author: Alex Barcelo <abarcelo@xxxxxxxxxx>
Date: Fri Mar 14 14:36:55 2014 +0000
signal: added a wrapper for sigprocmask function
Create a wrapper for signal mask changes initiated by the guest;
(this includes syscalls and also the sigreturns from signal.c)
this will give us a place to put code which prevents the guest
from changing the handling of signals used by QEMU itself
internally.
The wrapper is called from all the guest-initiated sigprocmask, but
is not called from internal qemu sigprocmask calls.
Signed-off-by: Alex Barcelo <abarcelo@xxxxxxxxxx>
[PMM: Added calls to wrapper for sigprocmask uses in signal.c
when setting the signal mask on entry and exit from signal
handlers, since these also are guest-provided signal masks.]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 6b1275ff15b205a7738aa8ba96fe355f097b5879
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 12:59:17 2014 +0000
linux-user: Don't reserve space for commpage for AArch64
AArch64 Linux, unlike AArch32, doesn't use a commpage. This means we
should not be reserving room in the guest address space for one.
Fixes LP:1287195.
Reported-by: Amanieu d'Antras <amanieu@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 8d5d30046b9aadfeee60e09fe79c063f419993db
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Fri Mar 7 15:24:08 2014 +0100
linux-user: implement F_[GS]ETOWN_EX
F_GETOWN is replaced by F_GETOWN_EX inside the glibc fcntl wrapper
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 3b899ea7d405dc7634ac629aa7b0e7639d506d9f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 13:06:01 2014 +0000
linux-user: Don't return uninitialized value for atomic_barrier syscall
QEMU's implementation of the m68k atomic_barrier syscall, like the
kernel's,
is just a no-op. However we still need to return a result code from it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 7f72cd235fa33f2fc7a8d1cc4d621bf7db61e9eb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 13:06:00 2014 +0000
linux-user/signal.c: Correct error path for AArch64 do_rt_sigreturn
The error path in AArch64 do_rt_sigreturn() which fails before
attempting lock_user_struct() was doing an unlock_user_struct()
on an uninitialized variable. Initialize frame to NULL so we
can use the same error-exit path in all cases (unlock of NULL
is permitted and does nothing).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 6fffa26244737f8fd8641a21fee29bd6aa9fdff5
Merge: e638308 9c749e4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 15 18:22:10 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-03-15' into staging
trivial patches for 2014-03-15
# gpg: Signature made Sat 15 Mar 2014 09:54:30 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-03-15:
FSL eTSEC: Fix typo in rx ring
scripts/make-release: Don't distribute .git directories
configure: Don't use __int128_t for clang versions before 3.2
audio: Add 'static' attributes to several variables
tests: Fix 'make test' for i686 hosts (build regression)
misc: Fix typos in comments
Add qga/qapi-generated to .gitignore
hw/timer/grlib_gptimer: Avoid integer overflows
.travis.yml: add IRC notifications for build failures
.travis.yml: trivial whitespace fixup
.travis.yml: re-enable lttng user space trace test
.travis.yml: add a new build target with non-core devlibs
sasl: Avoid 'Could not find keytab file' in syslog
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e6383080977ef1c761a00005ed533695acbe81e1
Merge: 4191d0e 582ab77
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 15 18:03:15 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-aarch-6-2' into staging
* remotes/rth/tcg-aarch-6-2:
tcg-aarch64: Introduce tcg_out_insn_3405
tcg-aarch64: Support div, rem
tcg-aarch64: Support muluh, mulsh
tcg-aarch64: Support add2, sub2
tcg-aarch64: Support deposit
tcg-aarch64: Use tcg_out_insn for setcond
tcg-aarch64: Support movcond
tcg-aarch64: Support andc, orc, eqv, not, neg
tcg-aarch64: Handle constant operands to and, or, xor
tcg-aarch64: Handle constant operands to add, sub, and compare
tcg-aarch64: Implement mov with tcg_out_insn
tcg-aarch64: Introduce tcg_out_insn_3401
tcg-aarch64: Convert shift insns to tcg_out_insn
tcg-aarch64: Introduce tcg_out_insn
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9c749e4dbe65e61e159ad822a4110167c2c108fe
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Mar 14 17:51:41 2014 +0100
FSL eTSEC: Fix typo in rx ring
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 379e21c258d5faf0cd7c6f9208347726e14ae241
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri Mar 14 12:49:13 2014 -0400
scripts/make-release: Don't distribute .git directories
[crobinso@localhost qemu-2.0.0-rc0]$ find . -name .git
./dtc/.git
./pixman/.git
This is already done for the rom submodules.
https://bugs.launchpad.net/qemu/+bug/1224414
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a00f66ab9b3021e781695a73c579b6292501ab37
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 7 10:43:38 2014 +0100
configure: Don't use __int128_t for clang versions before 3.2
Those versions don't fully support __int128_t.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 69df1c3c9d937a2b4f005a5bad0fefd21b39f383
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Mar 5 22:21:32 2014 +0100
audio: Add 'static' attributes to several variables
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6d4adef48dd6bb738474ab857f4fcb240ff9d2d6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 7 11:11:22 2014 +0100
tests: Fix 'make test' for i686 hosts (build regression)
'make test' is broken at least since commit
baacf04799ace72a9c735dd9306a1ceaf305e7cf. Several source files were moved
to util/, and some of them there split, so add the missing prefix and new
files to fix the compiler and linker errors.
There remain more issues, but these changes allow running the test on a
Linux i686 host.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3b163b0165b1eee51afd00aeae8d2ad41d05c2a2
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 7 19:48:59 2014 +0100
misc: Fix typos in comments
Codespell found and fixed these new typos:
* doesnt -> doesn't
* funtion -> function
* perfomance -> performance
* remaing -> remaining
A coding style issue (line too long) was fixed manually.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f214530f56b99be507e40cc261c9616ec84b72d3
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Mon Mar 10 14:08:59 2014 -0400
Add qga/qapi-generated to .gitignore
The folder "qga/qapi-generated" shows up after building QEMU, and
gets in the way during e.g. "git add ."; Add it to .gitignore to
keep it from accidentally ending up in the wrong place.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9d5614d582d23ec96b167583557bf3f25f64f050
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 16 12:12:38 2014 +0100
hw/timer/grlib_gptimer: Avoid integer overflows
The GPTIMER uses 32-bit registers. Use a 64-bit operation to get the
ptimer count, otherwise we end up with a count of 0 for GPTIMER counter
values of 0xffffffff.
Use the GPTIMER counter value for tracing to avoid an overflow of the
32-bit value passed to trace_grlib_gptimer_enable().
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 39d16d29c81295be72dbae6e6bc7adc58deacb41
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:53 2014 +0000
.travis.yml: add IRC notifications for build failures
I'm trying to avoid spamming the IRC channel (not overly likely as
builds take a while). So failure will always be reported but if the
build continues to work then the IRC notifications will be quiet.
Note any GitHub based repository with Travis enabled will use this
notification. If it proves to be too spammy we may want to ask users not
to use Travis themselves although this seems sub-optimal.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cc13eead53b2e4cf5f209fec606aebf11c1dc8a8
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:52 2014 +0000
.travis.yml: trivial whitespace fixup
Purely cosmetic but satisfies my OCD.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 86c3b20a5f654ae444ba6bd1a7b0516e0a17541d
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:51 2014 +0000
.travis.yml: re-enable lttng user space trace test
This build was disabled while the lttng tracing was broken. Stefan has
recently submitted a pull request with it re-enabled.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6d585ca55999aec2bcfcbf04c3cbecbb952b7302
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:50 2014 +0000
.travis.yml: add a new build target with non-core devlibs
The current builds don't include all the features which are
auto-detected and then disabled when the appropriate test packages don't
exist. I've added another target that enables all known additional
packages for increased coverage. I didn't add it to the core package
list to reduce build time.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dfb3804d478bce02350bdf87534dc7dd3d1ded51
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Mar 14 15:39:36 2014 +0100
sasl: Avoid 'Could not find keytab file' in syslog
The "keytab" specification in "qemu.sasl" only makes sense if "gssapi" is
selected in "mech_list". Even if the latter is not done (ie. "gssapi" is
not selected), the cyrus-sasl library tries to open the specified keytab
file, although nothing has a use for it outside the gssapi backend.
Since the default keytab file "/etc/qemu/krb5.tab" is usually absent, the
cyrus-sasl library emits a warning to syslog at startup, which tends to
annoy users (who didn't ask for gssapi in the first place).
Comment out the keytab specification per default.
"qemu-doc.texi" already correctly explains how to use "mech_list: gssapi"
together with "keytab:".
See also:
- upstream libvirt commit fe772f24,
- Red Hat Bugzilla <https://bugzilla.redhat.com/show_bug.cgi?id=1018434>.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
ACKed-By: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4191d0eb414b14bcf3eab803095566aeb9b198f0
Merge: 03d5142 46dea41
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 14 18:44:22 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 14 Mar 2014 16:12:14 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
qemu-iotests: remove 085 and 087 from 'quick' group
qemu-iotests: add 083 NBD client disconnect tests
tests: add nbd-fault-injector.py utility
nbd: close socket if connection breaks
block: Explicitly specify 'unsigned long long' for VHDX 64-bit constants
blockdev: Refuse to open encrypted image unless paused
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 03d51428e2da0188a0adea00cbd713cc1e967e7a
Merge: 5d92c74 aa7a6a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 14 18:17:25 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
virtio-scsi: actually honor sense_size from configuration space
scsi: Fix migration of scsi sense data
spapr-vscsi: fix CRQ status
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 582ab779c5cf9c941909faa65e092b6b492e2da6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:57:36 2013 -0700
tcg-aarch64: Introduce tcg_out_insn_3405
Cleaning up the implementation of tcg_out_movi at the same time.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 8678b71ce61a337109bca27b058a9027ff1c24ae
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:29:18 2013 -0700
tcg-aarch64: Support div, rem
Clean up multiply at the same time.
For remainder, generic code will produce mul+sub,
whereas we can implement with msub.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 1fcc9ddfb3c42431c027eb490613b51491202daa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:03:27 2013 -0700
tcg-aarch64: Support muluh, mulsh
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit c6e929e7847cb440dbda8ae562a1fb1fdc5f0c77
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 13:30:07 2013 -0700
tcg-aarch64: Support add2, sub2
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit b3c56df769c4b53b91219a0993f8ab8fcb25857b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 13:05:07 2013 -0700
tcg-aarch64: Support deposit
Also tidy the implementation of ubfm, sbfm, extr in order to share code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit ed7a0aa8bc15a5278c8e76b83c359167c021ce86
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 11 18:54:46 2013 -0700
tcg-aarch64: Use tcg_out_insn for setcond
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 04ce397b337cb1f81cde54d2b5dd7d6f0e08fffd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 9 23:58:19 2013 -0400
tcg-aarch64: Support movcond
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 14b155ddc4358342fcec7891615a4303b698221c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 9 23:15:44 2013 -0400
tcg-aarch64: Support andc, orc, eqv, not, neg
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit e029f29385d0f9116c717d2e7a9c55d4bac8fe8a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 11:27:03 2013 -0700
tcg-aarch64: Handle constant operands to and, or, xor
Handle a simplified set of logical immediates for the moment.
The way gcc and binutils do it, with 52k worth of tables, and
a binary search depth of log2(5334) = 13, seems slow for the
most common cases.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 90f1cd9138deba50a6ff15a7f520c8e35ae870ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 09:56:14 2013 -0700
tcg-aarch64: Handle constant operands to add, sub, and compare
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 7d11fc7c2b853fe01b5166a9de01ca94d0787b85
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 14:49:18 2013 -0700
tcg-aarch64: Implement mov with tcg_out_insn
Avoid the magic numbers in the current implementation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 096c46c0ff3ad1db6048373620b44bef19f8408f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 14:37:08 2013 -0700
tcg-aarch64: Introduce tcg_out_insn_3401
This merges the implementation of tcg_out_addi and tcg_out_subi.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit df9351e372cb4a9d3079fcc5c7edead10b2a288e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 13:49:17 2013 -0700
tcg-aarch64: Convert shift insns to tcg_out_insn
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 50573c66ebba29e96222390645d0adeb64f814cd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 12:10:08 2013 -0700
tcg-aarch64: Introduce tcg_out_insn
Converting the add/sub (3.5.2) and logical shifted (3.5.10) instruction
groups to the new scheme.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 46dea4160d587add2f3670306c41ad9ad4064af5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 13 10:28:01 2014 +0100
qemu-iotests: remove 085 and 087 from 'quick' group
The 'quick' group in qemu-iotests are not allowed to run QEMU since we
don't know which targets are available. In other words, they may only
use qemu-img, qemu-io, and qemu-nbd.
Drop 085 and 087 from the 'quick' group since they run QEMU. This
makes "make check-block" pass again.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dc668ded1009f88da5e31bc5a143cf3e9070d49b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 26 15:30:20 2014 +0100
qemu-iotests: add 083 NBD client disconnect tests
This new test case uses nbd-fault-injector.py to simulate broken TCP
connections at each stage in the NBD protocol. This way we can exercise
block/nbd-client.c's socket error handling code paths.
In particular, this serves as a regression test to make sure
nbd-client.c doesn't cause an infinite loop by leaving its
nbd_receive_reply() fd handler registered after the connection has been
closed. This bug was fixed in an earlier patch.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e8ece0db3e8604d3a17bbd2bd1277161851a44a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 26 15:30:19 2014 +0100
tests: add nbd-fault-injector.py utility
The nbd-fault-injector.py script is a special kind of NBD server. It
throws away all writes and produces zeroes for reads. Given a list of
fault injection rules, it can simulate NBD protocol errors and is useful
for testing NBD client error handling code paths.
See the patch for documentation. This scripts is modelled after Kevin
Wolf <kwolf@xxxxxxxxxx>'s blkdebug block driver.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4a41a2d68a684241aca96dba066e0699941b730d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 26 15:30:18 2014 +0100
nbd: close socket if connection breaks
nbd_receive_reply() is called by the event loop whenever data is
available or the socket has been closed by the remote side.
This patch closes the socket when an error occurs to prevent the
nbd_receive_reply() handler from being called indefinitely after the
connection has failed.
Note that we were already correctly returning EIO for pending requests
but leaving the nbd_receive_reply() handler registered resulted in high
CPU consumption and a flood of error messages.
Reuse nbd_teardown_connection() to close the socket.
Reported-by: Zhifeng Cai <bluewindow@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 62e466e84592900756f080802782d0615c6a3b5c
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Mar 14 06:50:37 2014 -0400
block: Explicitly specify 'unsigned long long' for VHDX 64-bit constants
On 32-bit hosts, some compilers will warn on too large integer constants
for constants that are 64-bit in length. Explicitly put a 'ULL' suffix
on those defines.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3adb58fe0b2db4942f5b2f5d19bc51a29b93a89
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 14 09:22:48 2014 +0100
blockdev: Refuse to open encrypted image unless paused
Opening an encrypted image takes an additional step: setting the key.
Between open and the key set, the image must not be used.
We have some protection against accidental use in place: you can't
unpause a guest while we're missing keys. You can, however, hot-plug
block devices lacking keys into a running guest just fine, or insert
media lacking keys. In the latter case, notifying the guest of the
insert is delayed until the key is set, which may suffice to protect
at least some guests in common usage.
This patch makes the protection apply in more cases, in a rather
heavy-handed way: it doesn't let you open encrypted images unless
we're in a paused state.
It doesn't extend the protection to users other than the guest (block
jobs?). Use of runstate_check() from block.c is disgusting. Best I
can do right now.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aa7a6a399f8253d3831465b1db8544032b49f57a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Mar 6 11:18:53 2014 +0100
virtio-scsi: actually honor sense_size from configuration space
We were always truncating the sense size to 96 bytes.
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2e323f03bfa323636552b386c982412944ff86ae
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Mar 6 16:26:02 2014 +0800
scsi: Fix migration of scsi sense data
c5f52875 changed the size of sense array in vmstate_scsi_device by
mistake. This patch restores the old size, and add a subsection for the
remaining part of the buffer size. So that migration is not broken.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 22956a3755749b9cf6375ad024d58c1d277100bf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Mar 5 16:15:16 2014 +1100
spapr-vscsi: fix CRQ status
Normally VIOSRP_OK (0) means success and non-zero value means error
except VIOSRP_OK2 (0x99) which is another success code by weird accident.
This uses 0 as success code always as some guests do not cope with
the 0x99 value well. The existing linux driver checks for both VIOSRP_OK
and VIOSRP_OK2 since 2.6.32.
This returns non-zero code (VIOSRP_ADAPTER_FAIL == 0x10) on errors which
can only happen if DMA write failed.
Suggested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5d92c74f8a1728a202ba9457872ab0f27ff15e81
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 13 20:08:15 2014 -0700
Update version for v2.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b19fc63cadb2815d5bcb1ec25b22849e455cbb31
Merge: 90c5d39 01c22f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 21:50:39 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* QOM cast fix for virtserialport and regression test
* QTest error handling fix
* QTest output cleanup
# gpg: Signature made Thu 13 Mar 2014 20:43:34 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
main-loop: Suppress "I/O thread spun" warnings for qtest
qtest: Fix crash if SIGABRT during qtest_init()
virtio-console-test: Test virtserialport as well
virtio-console: Fix VIRTIO_CONSOLE() cast macro
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 90c5d39cb847d7f360454950be647cd83cacea58
Merge: 8bf0975 7effdaa
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 21:27:54 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0
* Fixes for -device VGA
# gpg: Signature made Thu 13 Mar 2014 19:57:12 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
spapr: Fix return value of vga initialization
Fix vga_interface_type for command line argument '-device VGA'
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 01c22f2cdd4fcf02276ea10f48253850a5fd7259
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 14:17:29 2014 +0000
main-loop: Suppress "I/O thread spun" warnings for qtest
When running under qtest we don't actually have any vcpu threads
to be starved, so the warning about the I/O thread spinning isn't
relevant, and the way qtest manipulates the simulated clock means
the warning is produced a lot as a false positive. Suppress it if
qtest_enabled(), so 'make check' output is less noisy.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb201b4872f16dfbce63f8648b2584631e2e965f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 13 10:41:34 2014 +0100
qtest: Fix crash if SIGABRT during qtest_init()
If an assertion fails during qtest_init() the SIGABRT handler is
invoked. This is the correct behavior since we need to kill the QEMU
process to avoid leaking it when the test dies.
The global_qtest pointer used by the SIGABRT handler is currently only
assigned after qtest_init() returns. This results in a segfault if an
assertion failure occurs during qtest_init().
Move global_qtest assignment inside qtest_init(). Not pretty but let's
face it - the signal handler depends on global state.
Reported-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f33f991185bccd22963c256437b9d8ea63361ff5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 16:47:24 2014 +0100
virtio-console-test: Test virtserialport as well
A test is only as good as its coverage - testing virtserialport in
addition to virtconsole showed that commit
0399a3819b27083ba69b88a9baa9025facab85bd (virtio-console: QOM cast
cleanup for VirtConsole) broke virtserialport.
Acked-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit be21c336162f5f4269131faffb1c6461cf57b74a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 17:12:53 2014 +0100
virtio-console: Fix VIRTIO_CONSOLE() cast macro
Commit 0399a3819b27083ba69b88a9baa9025facab85bd (virtio-console: QOM
cast cleanup for VirtConsole) broke virtserialport since it shares
functions and state struct with virtconsole. Let virtconsole inherit
from virtserialport, and use virtserialport type for casting.
Note that virtio-serial-port is the abstract base type in
virtio-serial-bus.c, whereas virtserialport is the user-instantiatable
type in virtio-console.c. Therefore using TYPE_VIRTIO_CONSOLE_SERIAL_PORT.
Reported-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Acked-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8bf0975902bb23aea98da91e3a102bae3e1d94a6
Merge: bbbd67f d0b2542
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 20:09:11 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-2.0' into
staging
PReP machine and devices
* ppc_rom.bin update
* Raven PCI host bridge preparations for OpenBIOS
# gpg: Signature made Thu 13 Mar 2014 19:28:37 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-2.0:
raven: Move BIOS loading from board code to PCI host
prep: Update ppc_rom.bin
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7effdaa32198b7077c51e29621dfca3d1b14e420
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 10 22:37:41 2014 +0800
spapr: Fix return value of vga initialization
Before spapr_vga_init will returned false if the vga is specified by
the command '-device VGA' because vga_interface_type was evaluated to
VGA_NONE. With the change in previous patch of this series,
spapr_vga_init should return true if it's told that the vga will be
initialized in flow of the generic devices initialization.
To keep '-nodefaults' have the semantics of bare minimum, it adds a
check of 'has_defaults' in usb_enabled() to avoid that a USB controller
is added by '-nodefautls, -device VGA' implicitly.
This patch also makes two cleanups:
1. skip initialization for VGA_NONE
2. remove the useless 'break'
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d44229c54f7477035c7e914dd12c84e01bbd4123
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 10 22:37:40 2014 +0800
Fix vga_interface_type for command line argument '-device VGA'
Some machine (like pseries) initialization code determines if it has
graphics according to vga_interface_type. In the original code,
vga_interface_type is evaluated to VGA_NONE even if a VGA is added
via '-device VGA'. It causes the machine not aware of the graphics
device configured. Add a new VGA device type to indicate that it has a
VGA device, which will be initialized in QOM device initialization.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d0b25425749d5525b2ba6d9d966d8800a5643b35
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Nov 5 00:09:45 2013 +0100
raven: Move BIOS loading from board code to PCI host
Raven datasheet explains where firmware lives in system memory, so do
it there instead of in board code. Other boards using the same PCI
host will not have to copy the firmware loading code.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Drop BIOS size workaround in favor of replacing our firmware blob]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 4c1410d59c6d02882b97ded8c3144bfbd039e0df
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Mar 12 18:43:01 2014 +0100
prep: Update ppc_rom.bin
This increases file size from 512 KiB to 1 MiB.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit bbbd67f0ccdba93702e58879997c1d2ca67311b1
Merge: d7f0a59 2ef1f68
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 19:13:33 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* Deadlock fix for exit requests around CPU reset
* X86CPU x2apic for KVM
* X86CPU model subclasses
* SPARCCPU preparations for model subclasses
* -cpu arguments for arm, cris, lm32, moxie, openrisc, ppc, sh4, uc32
* m68k assertion cleanups
* CPUClass hooks for cpu.h inline functions
* Field movements from CPU_COMMON to CPUState and follow-up cleanups
# gpg: Signature made Thu 13 Mar 2014 19:06:56 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0: (58 commits)
user-exec: Change exception_action() argument to CPUState
cputlb: Change tlb_set_page() argument to CPUState
cputlb: Change tlb_flush() argument to CPUState
cputlb: Change tlb_flush_page() argument to CPUState
target-microblaze: Replace DisasContext::env field with MicroBlazeCPU
target-cris: Replace DisasContext::env field with CRISCPU
exec: Change cpu_abort() argument to CPUState
exec: Change memory_region_section_get_iotlb() argument to CPUState
cputlb: Change tlb_unprotect_code_phys() argument to CPUState
cpu-exec: Change cpu_resume_from_signal() argument to CPUState
exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument
exec: Change cpu_watchpoint_{insert,remove{,_by_ref,_all}} argument
target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook
translate-all: Change tb_flush_jmp_cache() argument to CPUState
translate-all: Change tb_gen_code() argument to CPUState
translate-all: Change cpu_io_recompile() argument to CPUState
translate-all: Change tb_check_watchpoint() argument to CPUState
translate-all: Change cpu_restore_state_from_tb() argument to CPUState
translate-all: Change cpu_restore_state() argument to CPUState
cpu-exec: Change cpu_loop_exit() argument to CPUState
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2ef1f68d4f6630e6c77071d2dd979123d1b4d0ed
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Sep 4 08:54:24 2013 +0200
user-exec: Change exception_action() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0c591eb0a9d0593d71d7cb61f4184222ac14fdd2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 13:59:37 2013 +0200
cputlb: Change tlb_set_page() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 00c8cb0a36f51a6866a83c08962d12a0eb21864b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Sep 4 02:19:44 2013 +0200
cputlb: Change tlb_flush() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 31b030d4abc5bea89c2b33b39d3b302836f6b6ee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Sep 4 01:29:02 2013 +0200
cputlb: Change tlb_flush_page() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0063ebd6ac5ce0a17896d05f117757a6ebf3ca96
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 20:02:48 2013 +0200
target-microblaze: Replace DisasContext::env field with MicroBlazeCPU
This cleans up some mb_env_get_cpu() needed for cpu_abort().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0dd106c5f098466aae7a87362b98467f09863079
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 18:42:27 2013 +0200
target-cris: Replace DisasContext::env field with CRISCPU
This cleans up repeated cris_env_get_cpu() for cpu_abort().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a47dddd7348d3e75ad650ef5e2ca9c3b13a600ac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 17:38:47 2013 +0200
exec: Change cpu_abort() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d7f0a59ff02affb8270ad9b6ee7e60974ac92df0
Merge: 4a9a1f4 d58b912
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 18:37:00 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-6' into
staging
input: activate legacy kbd
gtk: Add mouse wheel support
# gpg: Signature made Thu 13 Mar 2014 10:34:17 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-6:
gtk: Add mouse wheel support
input: activate legacy kbd
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bb0e627a84752707e629fde5534558ac08e7c521
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 13:32:01 2013 +0200
exec: Change memory_region_section_get_iotlb() argument to CPUState
It no longer needs CPUArchState since moving watchpoints to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit baea4fae7b6d75ce0d1aeb2be0a223c7be8f4161
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 10:51:26 2013 +0200
cputlb: Change tlb_unprotect_code_phys() argument to CPUState
Note that the argument is unused.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ea8cb8895a9f9adea89fb202984dcd9e890e504
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 02:12:23 2013 +0200
cpu-exec: Change cpu_resume_from_signal() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3310ab3380995af2c640a3ffd82f6e7b352c9e6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Sep 2 17:26:20 2013 +0200
exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument
Use CPUState. Allows to clean up CPUArchState in gdbstub.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 75a34036d43dc961cbef2a4705682d0666caf384
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Sep 2 16:57:02 2013 +0200
exec: Change cpu_watchpoint_{insert,remove{,_by_ref,_all}} argument
Use CPUState. This lets us drop a few local env usages.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d0e39c5d70c4e0a9c41ef816a19887fd8f55c665
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Sep 2 14:14:24 2013 +0200
target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 611d4f996f650294483ff4b01c3140651e2dd29c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:52:07 2013 +0200
translate-all: Change tb_flush_jmp_cache() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 648f034c6cd81c64d93a1cfd7bb262006f560649
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:43:17 2013 +0200
translate-all: Change tb_gen_code() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90b40a696a6bcfac88529930d4d1e1599878dae3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:21:47 2013 +0200
translate-all: Change cpu_io_recompile() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 239c51a54fe2a1ffc5108f496caae79e5be0cabc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:12:23 2013 +0200
translate-all: Change tb_check_watchpoint() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74f10515d1b6e6064e4161157f8c98095c49065f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:02:58 2013 +0200
translate-all: Change cpu_restore_state_from_tb() argument to CPUState
And normalize the argument order.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3f38f309b22d9a30b5b427501eb3d522c439482e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 16:51:34 2013 +0200
translate-all: Change cpu_restore_state() argument to CPUState
This lets us drop some local variables in tlb_fill() functions.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5638d180d6c469fc4c56127a3c717e8b9f27d925
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Aug 27 17:52:12 2013 +0200
cpu-exec: Change cpu_loop_exit() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d5a11fefef1eeed86a8f06021067ba9990729a5a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Aug 27 00:28:06 2013 +0200
exec: Change tlb_fill() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f0c3c505a8ec1a948006b3a16a35864a2270a84b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 21:22:53 2013 +0200
cpu: Move breakpoints field from CPU_COMMON to CPUState
Most targets were using offsetof(CPUFooState, breakpoints) to determine
how much of CPUFooState to clear on reset. Use the next field after
CPU_COMMON instead, if any, or sizeof(CPUFooState) otherwise.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ff4700b05cfb305a880762c288b88ca01c782352
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 18:23:18 2013 +0200
cpu: Move watchpoint fields from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0429a9719551a4aa794051aeb8c7b42658902c27
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 18:14:44 2013 +0200
cpu: Move opaque field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 27103424c40ce71053c07d8a54ef431365fa9b7f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 08:31:06 2013 +0200
cpu: Move exception_index field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6f03bef0ffc5cd75ac5ffcca0383c489ae48108c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 06:22:03 2013 +0200
cpu: Move jmp_env field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8cd70437f385fc53f34481d506cf4a18ebe75976
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 06:03:38 2013 +0200
cpu: Move tb_jmp_cache field from CPU_COMMON to CPUState
Clear it on reset.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 28ecfd7a62fafe8f4f0b35a157005f4d13913043
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 05:51:49 2013 +0200
cpu: Move icount_decr field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit efee734004c42ba185098086e5185d8a85ed02af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 05:39:29 2013 +0200
cpu: Move icount_extra field from CPU_COMMON to CPUState
Reset it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 99df7dce8ae81e4a42dac98094ccca3a32dcf8f8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 05:15:23 2013 +0200
cpu: Move can_do_io field from CPU_COMMON to CPUState
Rename can_do_io() to cpu_can_do_io() and change argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 93afeade09680c657e109bf192dbf70233e4ebbe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 03:41:01 2013 +0200
cpu: Move mem_io_{pc,vaddr} fields from CPU_COMMON to CPUState
Reset them.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7510454e3e74aafa2e6c50388bf24904644b6a96
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 03:01:33 2013 +0200
cpu: Turn cpu_handle_mmu_fault() into a CPUClass hook
Note that while such functions may exist both for *-user and softmmu,
only *-user uses the CPUState hook, while softmmu reuses the prototype
for calling it directly.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7372c2b926200db295412efbb53f93773b7f1754
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 13:24:49 2014 +0000
target-m68k: Remove custom qemu_assert() function
Remove the custom qemu_assert() function defined by
target-m68k/translate.c
in favour of either using glib g_assert_not_reached() (for the genuinely
can't-happen cases) or cpu_abort() (for the "this isn't implemented",
in line with other unimplemented cases in the target).
This has the benefit of silencing some clang warnings about
variables used while uninitialized (which are emitted because
clang can't figure out that qemu_assert(0, something) never
returns.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9262685b818512215f0829f0dc95c2363898a1ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 03:17:10 2014 +0100
cpu: Factor out cpu_generic_init()
All targets using it gain the ability to set -cpu name,key=value,...
options via the default TYPE_CPU CPUClass::parse_features()
implementation.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1590bbcb02921dfe8e3cf66e3a3aafd31193babf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Mar 3 23:33:51 2014 +0100
cpu: Implement CPUClass::parse_features() for the rest of CPUs
CPUs who do not provide their own implementation of feature parsing
will treat each option as a QOM property and set it to the supplied
value.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 247bf011f67c4037df7bfcd11ff0106e06f439c9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 01:26:33 2014 +0100
target-sparc: Defer SPARCCPU feature inference to QOM realize
Gets it out of cpu_sparc_register() and aligns with target-arm.
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 433ac7a968ccff83f0d0e9a3c3921bc208175239
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 00:38:58 2014 +0100
target-sparc: Implement CPUClass::parse_features() for SPARCCPU
Factor cpu_model parsing out of cpu_sparc_find_by_name() by passing
cpu_sparc_find_by_name() the name portion only and calling
CPUClass::parse_features() from cpu_sparc_register() afterwards.
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db5d39f7866d3b02e06b91b0404061a4da00cd6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Mar 3 23:47:54 2014 +0100
target-sparc: Use error_report() for CPU error reporting
Replace non-debug fprintf() with error_report().
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 94a444b295cddad008483eb928925a793af5aa9b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Mar 3 23:19:19 2014 +0100
cpu: Introduce CPUClass::parse_features() hook
Adapt the X86CPU implementation to suit the generic hook.
This involves a cleanup of error handling to cope with NULL errp.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d940ee9b787d37a9ea90f4379a79825ade08bb05
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 10 08:21:30 2014 -0200
target-i386: X86CPU model subclasses
Register separate QOM types for each x86 CPU model.
This will allow management code to more easily probe what each CPU model
provides, by simply creating objects using the appropriate class name,
without having to restart QEMU.
This also allows us to eliminate the qdev_prop_set_globals_for_type()
hack to set CPU-model-specific global properties.
Instead of creating separate class_init functions for each class, I just
used class_data to store a pointer to the X86CPUDefinition struct for
each CPU model. This should make the patch shorter and easier to review.
Later we can gradually convert each X86CPUDefinition field to lists of
per-class property defaults.
The "host" CPU model is special, as the feature flags depend on KVM
being initialized. So it has its own class_init and instance_init
function, and feature flags are set on instance_init instead of
class_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Limit the host CPU type to CONFIG_KVM as build fix]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 500050d1e0fd4bf61bd77915f5e42e2180cf6f7d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 10 22:02:44 2014 +0100
target-i386: Prepare CPUClass::class_by_name for X86CPU
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ef02ef5f4536dba090b12360a6c862ef0e57e3bc
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 11:58:12 2014 -0300
target-i386: Enable x2apic by default on KVM
When on KVM mode, enable x2apic by default on all CPU models.
Normally we try to keep the CPU model definitions as close as the real
CPUs as possible, but x2apic can be emulated by KVM without host CPU
support for x2apic, and it improves performance by reducing APIC access
overhead. x2apic emulation is available on KVM since 2009 (Linux
2.6.32-rc1), there's no reason for not enabling x2apic by default when
running KVM.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8fb4f821e93a75431973bf3a11bacd924e43816c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 11:58:11 2014 -0300
target-i386: Introduce x86_cpu_compat_disable_kvm_features()
Instead of the feature-specific disable_kvm_pv_eoi() function, create a
more general function that can be used to disable other feature bits in
machine-type compat code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5fcca9ff3b7bd6567bc1a9488f2481f163de46ba
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 11:58:10 2014 -0300
target-i386: Make kvm_default_features an array
We will later make the KVM-specific code affect other feature words,
too.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74f54bc4bab8ccc5e0692c3aee479c155a701343
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 16:39:21 2014 -0300
target-i386: Don't declare variables in the middle of blocks
Some of my recent changes introduced variable declarations in the middle
of code blocks.
Fix the code so that it compiles without warnings when using
-Wdeclaration-after-statement.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9576de75734488e9774bdcb0ce4d7a38a8dc7901
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:58 2014 -0200
target-i386: Rename x86_def_t to X86CPUDefinition
As the new X86CPU subclass code is going to change lots of the code
invoving x86_def_t, let's rename the struct to match coding style first.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 285f025d2c804de78d4f3a90cd1efa4c8907d641
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:57 2014 -0200
target-i386: Call x86_cpu_load_def() earlier
As we will initialize the X86CPU fields on instance_init eventually,
move the code that initializes the X86CPU data based on the CPU model
name closer to the object_new() call.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c080e30ec8727d7b8c4995fe288852541aa58b06
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:56 2014 -0200
target-i386: Rename cpu_x86_register() to x86_cpu_load_def()
There isn't any kind of "registration" involved in cpu_x86_register()
anymore: it is simply looking up a CPU model name and loading the model
definition data into the X86CPU object. Rename it to x86_cpu_load_def()
to reflect what it does.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8c2e1b0093aa4a89548df47d969217d8b0dfd070
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 25 18:53:55 2013 +0200
cpu: Turn cpu_has_work() into a CPUClass hook
Default to false.
Tidy variable naming and inline cast uses while at it.
Tested-by: Jia Liu <proljc@xxxxxxxxx> (or32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1cf5ccbca8915277098727d900d52c495a711f88
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 20:02:29 2014 +0100
target-xtensa: Clean up ENV_GET_CPU() usage
Commits a00817cc4c18b7872e92765a4736fb2227cc237b and
fdfba1a298ae26dd44bcfdb0429314139a0bc55a added usages of ENV_GET_CPU()
macro in target-specific code.
Use xtensa_env_get_cpu() instead.
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62864712b3c585545365e332a041b515e319a3b8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:58:13 2014 +0100
target-unicore32: Clean up ENV_GET_CPU() usage
Commit fdfba1a298ae26dd44bcfdb0429314139a0bc55a added a usage of
ENV_GET_CPU() macro in target-specific code.
Use uc32_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2fad1112dbbac5b5428707e03bddd89cd20e21d2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:51:00 2014 +0100
target-sparc: Clean up ENV_GET_CPU() usage
Commits fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 and
f606604f1c10b60ef294f1b9b229426521a365e3 added usages of ENV_GET_CPU()
macro in target-specific code.
Use sparc_env_get_cpu() instead and reuse the variables.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2efc6be2eaacc289fbfb865198d290b0f6d2ac6e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:40:08 2014 +0100
target-s390x: Clean up ENV_GET_CPU() usage
Commits f606604f1c10b60ef294f1b9b229426521a365e3,
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 and
5ce5944dc0ffdc43c11b5cad11e526f699aabe4c added usages of ENV_GET_CPU()
macro in target-specific code.
Use s390_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 33276f1b9cf0cc2a1f3ccedb20d3850fb2b97c1d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:29:41 2014 +0100
target-ppc: Clean up ENV_GET_CPU() usage
Commits fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
ab1da85791340e504d10487e1add81b9988afa98,
f606604f1c10b60ef294f1b9b229426521a365e3 and
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 added usages of ENV_GET_CPU()
macro in target-specific code.
Use ppc_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19d6ca16d9079a29e95307948f80f9ef02f7582c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:15:27 2014 +0100
target-i386: Clean up ENV_GET_CPU() usage
Commits fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
f606604f1c10b60ef294f1b9b229426521a365e3 and
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 added usages of ENV_GET_CPU()
macro in target-specific code.
Use x86_env_get_cpu() or reuse existing X86CPU variable instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70d74660e7024c6725543b791d9c8138abedd433
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:10:29 2014 +0100
target-arm: Clean up ENV_GET_CPU() usage
Commits ab1da85791340e504d10487e1add81b9988afa98,
fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 added usages of ENV_GET_CPU()
macro to target-specific code.
Use arm_env_get_cpu() instead and enforce separating variable
declarations.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2810ffd34a89b697f0ad4aeebf2d5f2c2abc79e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 18:58:57 2014 +0100
target-alpha: Clean up ENV_GET_CPU() usage
Commits 2c17449b3022ca9623c4a7e2a504a4150ac4ad30,
fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
ab1da85791340e504d10487e1add81b9988afa98 and
f606604f1c10b60ef294f1b9b229426521a365e3 added usages of ENV_GET_CPU()
macro in target-specific code.
Use alpha_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9d111183d5d67be6252dd4a4e688ef4ad323f817
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Feb 13 15:07:14 2014 +1000
cpu: Don't clear cpu->exit_request on reset
cpu->exit_request is part of the execution environment and should
not be cleared when a CPU resets.
Otherwise, we might deadlock QEMU if a CPU resets while there is
I/O going on.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a9a1f49c58fb0cbdd17ad3de2cc682aad3230b8
Merge: 57fac92 ac1b84d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 17:19:14 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-chardev-1' into
staging
char: restore read callback on a reattached (hotplug) chardev
# gpg: Signature made Thu 13 Mar 2014 10:29:34 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-chardev-1:
char: restore read callback on a reattached (hotplug) chardev
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 57fac92c2d4487d5c45e1ca96df6790f96c9e64c
Merge: 41975b2 57ed25b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 15:33:04 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Thu 13 Mar 2014 13:50:49 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request: (24 commits)
block/raw-win32: bdrv_parse_filename() for hdev
block/raw-posix: Strip protocol prefix on creation
block/raw-posix: bdrv_parse_filename() for cdrom
block/raw-posix: bdrv_parse_filename() for floppy
block/raw-posix: bdrv_parse_filename() for hdev
qemu-io: Fix warnings from static code analysis
block: Unlink temporary file
qcow2: Don't write with BDRV_O_INCOMING
qcow2: Keep option in qcow2_invalidate_cache()
qmp: add query-iothreads command
iothread: stash thread ID away
dataplane: replace internal thread with IOThread
iothread: add "iothread" qdev property type
qdev: make get_pointer() handle temporary strings
iothread: add I/O thread object
aio: add aio_context_acquire() and aio_context_release()
rfifolock: add recursive FIFO lock
object: add object_get_canonical_path_component()
block: Rewrite the snapshot authorization mechanism for block filters.
iotests: Test corruption during COW request
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 41975b269cf1503c735f8233f8ef373d74f1f137
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Mar 13 14:27:59 2014 +0100
oslib-posix: Fix build on FreeBSD
Commit 10f5bff622cad71645e22c027b77ac31e51008ef (util: Split out
exec_dir from os_find_datadir) moved code from os-posix.c to
util/oslib-posix.c but forgot to move a FreeBSD #include alongside,
needed for CTL_KERN among others.
Cc: Fam Zheng <famz@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1394717279-23406-1-git-send-email-andreas.faerber@xxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 57ed25b1b08a43f29326df064d43b6420a23b5ba
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:45 2014 +0100
block/raw-win32: bdrv_parse_filename() for hdev
The "host_device" protocol driver should strip the "host_device:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc28c6aa46334be01f3e65a74601ae38f94bd602
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:44 2014 +0100
block/raw-posix: Strip protocol prefix on creation
The hdev_create() implementation in block/raw-posix.c is used by the
"host_device", "host_cdrom" and "host_floppy" protocol block drivers
together. Thus, any of the associated prefixes may occur and exactly one
should should be stripped, if it does (thus,
"host_device:host_cdrom:/dev/cdrom" is not shortened to "/dev/cdrom").
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 18fa1c42a314a3e18f097b28ec5189a144d36f99
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:43 2014 +0100
block/raw-posix: bdrv_parse_filename() for cdrom
The "host_cdrom" protocol drivers should strip the "host_cdrom:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d3f49845831d75fa2e2a5dab04cb78fb12f8a2bc
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:42 2014 +0100
block/raw-posix: bdrv_parse_filename() for floppy
The "host_floppy" protocol driver should strip the "host_floppy:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7af803d4f80efb56c250f16409501994e60adf60
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:41 2014 +0100
block/raw-posix: bdrv_parse_filename() for hdev
The "host_device" protocol driver should strip the "host_device:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f988388025c230ef3293cc0c3820cb40e03adfbf
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Mar 5 22:23:00 2014 +0100
qemu-io: Fix warnings from static code analysis
Smatch complains about several global symbols which should be local.
Add the missing 'static' attributes and move the 'extern' declaration
of variable qemuio_misalign to qemu-io.h. This variable also changes
the type from 'int' to 'bool' which better fits documents its use.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9562f69cfdc55c7c1625bb88df1637fed182e68b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Feb 15 18:03:21 2014 +0100
block: Unlink temporary file
If the image file cannot be opened and was created as a temporary file,
it should be deleted; thus, in this case, we should jump to the
"unlink_and_fail" label and not just to "fail".
Reported-by: Benoît Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 27eb6c097c132bf9fc49d73554b0160293b630cd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 11 15:15:03 2014 +0100
qcow2: Don't write with BDRV_O_INCOMING
qcow2_open() causes writes when repairing an image with the dirty flag
set and when clearing autoclear flags. It shouldn't do this when another
qemu instance is still actively working on this image file.
One effect of the bug is that images may have a cleared dirty flag while
the migration source host still has it in use with lazy refcounts
enabled, so refcounts are not accurate and the dirty flag must remain
set.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d475e5acd2f4679d6ce458369ee658dbd60227e9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 11 17:42:41 2014 +0100
qcow2: Keep option in qcow2_invalidate_cache()
Instead of manually building a list of all options from BDRVQcowState
values just reuse the options that were used to open the image.
qcow2_open() won't fully use all of the options in the QDict, but that's
okay.
This fixes all of the driver-specific options in qcow2, except for
lazy-refcounts, which was special cased before.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dc3dd0d2bed6edf3b60041f31200c674348168e9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 27 11:48:42 2014 +0100
qmp: add query-iothreads command
The "query-iothreads" command returns a list of information about
iothreads. See the patch for API documentation.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88eb7c29e4320597d2f246adf731f0aac97cfbcc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 27 11:48:41 2014 +0100
iothread: stash thread ID away
Keep the thread ID around so we can report it via QMP.
There's only one problem: qemu_get_thread_id() (gettid() wrapper on
Linux) must be called from the thread itself. There is no way to get
the thread ID outside the thread.
This patch uses a condvar to wait for iothread_run() to populate the
thread_id inside the thread.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 48ff269272f18d2b8fa53cb08365df417588f585
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:08 2014 +0100
dataplane: replace internal thread with IOThread
Today virtio-blk dataplane uses a 1:1 device-per-thread model. Now that
IOThreads have been introduced we can generalize this to N:M devices per
threads.
This patch drops thread code from dataplane in favor of running inside
an IOThread AioContext.
As a bonus we solve the case where a guest keeps submitting I/O requests
while dataplane is trying to stop. Previously the dataplane thread
would continue to process requests until the request gave it a break.
Now we can shut down in bounded time thanks to
aio_context_acquire/release.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6e4a876b433f78f72724f45ae3f9e26596da1b4d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:07 2014 +0100
iothread: add "iothread" qdev property type
Add a "iothread" qdev property type so devices can be hooked up to an
IOThread from the comand-line:
qemu -object iothread,id=iothread0 \
-device some-device,x-iothread=iothread0
Note that Paolo Bonzini <pbonzini@xxxxxxxxxx> has suggested using QOM
links instead. This way the relationship between the objects is
reflected in QOM. There are currently shortcomings of
object_property_add_link() which prevent this use case. I will attempt
to fix them and move to QOM links in a separate series.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d1de46448d0d52183c397d76fbc86cb614ed21b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Mar 3 11:30:06 2014 +0100
qdev: make get_pointer() handle temporary strings
get_pointer()'s print() callback might return a heap allocated
string, to avoid adding dedicated get_pointer_foo for this case
convert current print() callbacks to return temporary heap
allocated string and make get_pointer() free it.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit be8d8537668c9be7a8dee6aed94b2b3f9fcd4a9f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:05 2014 +0100
iothread: add I/O thread object
This is a stand-in for Michael Roth's QContext. I expect this to be
replaced once QContext is completed.
The IOThread object is an AioContext event loop thread. This patch adds
the concept of multiple event loop threads, allowing users to define
them.
When SMP guests run on SMP hosts it makes sense to instantiate multiple
IOThreads. This spreads event loop processing across multiple cores.
Note that additional patches are required to actually bind a device to
an IOThread.
[Andreas Färber <afaerber@xxxxxxx> pointed out that the embedded parent
object instance should be called "parent_obj" and have a newline
afterwards. This patch has been changed to reflect this.
-- Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 98563fc3ec44c1becce6f1720ad6b0a82ed101b4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:04 2014 +0100
aio: add aio_context_acquire() and aio_context_release()
It can be useful to run an AioContext from a thread which normally does
not "own" the AioContext. For example, request draining can be
implemented by acquiring the AioContext and looping aio_poll() until all
requests have been completed.
The following pattern should work:
/* Event loop thread */
while (running) {
aio_context_acquire(ctx);
aio_poll(ctx, true);
aio_context_release(ctx);
}
/* Another thread */
aio_context_acquire(ctx);
bdrv_read(bs, 0x1000, buf, 1);
aio_context_release(ctx);
This patch implements aio_context_acquire() and aio_context_release().
Note that existing aio_poll() callers do not need to worry about
acquiring and releasing - it is only needed when multiple threads will
call aio_poll() on the same AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2da61b671eb89fcaa306738f44eed472977d6587
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:03 2014 +0100
rfifolock: add recursive FIFO lock
QemuMutex does not guarantee fairness and cannot be acquired
recursively:
Fairness means each locker gets a turn and the scheduler cannot cause
starvation.
Recursive locking is useful for composition, it allows a sequence of
locking operations to be invoked atomically by acquiring the lock around
them.
This patch adds RFifoLock, a recursive lock that guarantees FIFO order.
Its first user is added in the next patch.
RFifoLock has one additional feature: it can be initialized with an
optional contention callback. The callback is invoked whenever a thread
must wait for the lock. For example, it can be used to poke the current
owner so that they release the lock soon.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11f590b1a242492a0108da42f40f0e2b20f0a778
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:02 2014 +0100
object: add object_get_canonical_path_component()
It is often useful to find an object's child property name. Also use
this new function to simplify the implementation of
object_get_canonical_path().
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b5042a36229b4fa5eeb66bbcde78f704975aec00
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Mon Mar 3 19:11:34 2014 +0100
block: Rewrite the snapshot authorization mechanism for block filters.
This patch keep the recursive way of doing things but simplify it by
giving
two responsabilities to all block filters implementors.
They will need to do two things:
-Set the is_filter field of their block driver to true.
-Implement the bdrv_recurse_is_first_non_filter method of their block
driver like
it is done on the Quorum block driver. (block/quorum.c)
[Paolo Bonzini <pbonzini@xxxxxxxxxx> pointed out that this patch changes
the semantics of blkverify, which now recurses down both bs->file and
s->test_file.
-- Stefan]
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 98d39e34fe95f8609be3ccbd1b67926631d2c7c0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 10 23:44:09 2014 +0100
iotests: Test corruption during COW request
Extend test file 060 by a test case for corruption occuring concurrently
to a COW request. QEMU should not crash but rather return an appropriate
error message.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 938789ea92b3073ad1113b3e1bdf90d469ea4bf4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 10 23:44:08 2014 +0100
block: bs->drv may be NULL in bdrv_debug_resume()
Currently, bdrv_debug_resume() requires every bs->drv in the BDS stack
to be NULL until a bs->drv with an implementation of bdrv_debug_resume()
is found. For a normal function, this would be fine, but this is a
function for debugging purposes and should therefore allow intermediate
BDS not to have a driver (i.e., be "ejected"). Otherwise, it is hard to
debug such situations.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dba2855572c746836ad90ce9154403b5929d996b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 10 23:44:07 2014 +0100
qcow2: Check bs->drv in copy_sectors()
Before dereferencing bs->drv for a call to its member bdrv_co_readv(),
copy_sectors() should check whether that pointer is indeed valid, since
it may have been set to NULL by e.g. a concurrent write triggering the
corruption prevention mechanism.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3456a8d1852e970688b73d03fdc44dde851759e1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 11 10:58:39 2014 +0100
block: Update image size in bdrv_invalidate_cache()
After migration has completed, we call bdrv_invalidate_cache() so that
drivers which cache some data drop their stale copy of the data and
reread it from the image file to get a new version of data that the
source modified while the migration was running.
Reloading metadata from the image file is useless, though, if the size
of the image file stays stale (this is a value that is cached for all
image formats in block.c). Reads from (meta)data after the old EOF
return only zeroes, causing image corruption.
We need to update bs->total_sectors in all layers that could potentially
have changed their size (i.e. backing files are not a concern - if they
are changed, we're in bigger trouble)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 26d49c46750aff62c8c6e7a8b14c79d4114a8e53
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Mar 7 23:10:12 2014 +0100
qcow2-refcount: Sanitize refcount table entry
When reading the refcount table entry in get_refcount(), only bits which
are actually significant for the refcount block offset should be taken
into account.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit be86c53c058d75fc3938b1b54f363259f282b3d5
Merge: c8d146a 295d51a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 13:19:46 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0-rc0
* QEMUMachine include cleanup
* SLOF update
* XICS reset fix
* sPAPR PCI host bridge refactorings
# gpg: Signature made Thu 13 Mar 2014 02:50:51 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
spapr-pci: Convert fprintf() to error_report()
spapr-pci: Convert to QOM realize
xics-kvm: Fix reset function
pseries: Update SLOF firmware image to qemu-slof-20140304
Move QEMUMachine typedef to qemu/typedefs.h
Revert "KVM: Split QEMUMachine typedef into separate header"
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c8d146aecceb560664b112279ffddf6fe1db99db
Merge: 0100f42 f876202
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 12:32:47 2014 +0000
Merge remote-tracking branch
'remotes/afaerber/tags/qom-devices-for-peter' into staging
QOM/QTest infrastructure fixes and device conversions
* QTest cleanups and test cases for some virtio devices
* QTest for sPAPR PCI host bridge
* qom-test now tests reading all properties beneath /machine
* QOM API leak fixes
* QOM cleanups for SSI devices
* QOM conversion of QEMUMachine
* QOM realize for buses
* sPAPR PCI bus name change
# gpg: Signature made Thu 13 Mar 2014 00:22:40 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-peter: (31 commits)
libqtest: Fix possible deadlock in qtest initialization
pci: Move VMState registration/unregistration to QOM realize/unrealize
qdev: Realize buses on device realization
qdev: Prepare realize/unrealize hooks for BusState
tests: Add spapr-pci-host-bridge qtest
virtio-serial-port: Convert to QOM realize/unrealize
virtio-console: QOM cast cleanup for VirtConsole
tests: Add virtio-console qtest
tests: Add virtio-serial qtest
tests: Add virtio-scsi qtest
tests: Add virtio-rng qtest
tests: Add virtio-balloon qtest
tests: Add virtio-blk qtest
tests: Clean up IndustryPack TPCI200 gcov paths
qom-test: Test QOM properties
hw/boards: Convert current_machine to MachineState
vl: Use MachineClass instead of global QEMUMachine list
hw/core: Introduce QEMU machine as QOM object
qdev-monitor-test: Don't test human-readable error message
qdev-monitor-test: Simplify using g_assert_cmpstr()
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0100f42550201f346cc0c20c1864f941509eb592
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 11:24:15 2014 +0000
libqtest: Avoid inline varargs functions
Older versions of gcc (eg 4.6) can't handle varargs functions declared
inline for anything other than completely trivial uses, and complain:
tests/qom-test.c: In function 'qmp': tests/libqtest.h:359:60: sorry,
unimplemented: function 'qmp' can never be inlined because it uses
variable argument lists
Avoid this problem by putting the functions into libqtest.c instead
of using inline definitions in libqtest.h.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit ac1b84dd1e020648db82a99260891aa982d1142c
Author: Gal Hammer <ghammer@xxxxxxxxxx>
Date: Tue Feb 25 12:12:35 2014 +0200
char: restore read callback on a reattached (hotplug) chardev
Fix a bug that was introduced in commit 386a5a1e. A removal of a device
set the chr handlers to NULL. However when the device is plugged back,
its read callback is not restored so data can't be transferred from the
host to the guest (e.g. via the virtio-serial port).
https://bugzilla.redhat.com/show_bug.cgi?id=1027181
Signed-off-by: Gal Hammer <ghammer@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 295d51aa6a0d3b9a97200913f58a4d8b0c53ac42
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Nov 21 15:08:58 2013 +1100
spapr-pci: Convert fprintf() to error_report()
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c6ba42f6bce0e361e27803622987ffbd05ce7b7a
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Nov 21 15:08:55 2013 +1100
spapr-pci: Convert to QOM realize
This converts the old-style SysBusDevice::init() callback to a new-style
DeviceClass::realize() callback.
As a part of conversion, this replaces fprintf(stderr) with error_setg()
as realize() does not "return" any value, instead it puts the extended
error into **errp.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fb0e843a11abae5b959a4b02be7aef617c023b4e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Feb 13 12:08:35 2014 +1100
xics-kvm: Fix reset function
Currently interrupt priorities are set to 0 (highest) at the very
beginning of the guest execution which is not correct and makes the guest
produce random interrupt error messages such as:
"Interrupt 0x1001 (real) is invalid, disabling it".
This also prevents interrupt states from correct migration.
This initializes priority to 0xFF as the emulated XICS does.
Suggested-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8f3babb74d48e17e8a717b79d57c1fbe6b3b2480
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 10 23:07:58 2014 +1100
pseries: Update SLOF firmware image to qemu-slof-20140304
The changelog is:
> version: update to 20140304
> Introduce dummy console device
> vio-vscsi: Fix CRQ allocation alignment
> version: update to 20140204
> virtio-9p: disable unused structure
> Make "boot net:dhcp" boot from IPv4 only
> Fix virtio device shutdown
> Change shutdown method name for virtio-scsi
> Add support for 64bit LE ABI v1 and v2 support
> Change representation of string environment variable
> cas: return error when unknown node found
> version: update
> Reset obp-tftp arguments before parsing
> Enable seamless netboot on IPv6 network
> Fix shutdown for virtio devices
> Fix zero checksum in UDP header
> Handle router advertisement message properly
> [oex]hci_exit: Check before freeing/unmapping memory
> Work around missing sc 1 traps on pHyp
> fix print_version() to return where it came from
> usb-xhci: memory freeing and using returns as bool uniformly
> Output banner and initial display output in VNC window
> use VERSION file to generate FW version
> cas: remove warning
> Add support for loading little endian ELF binaries.
> Add bswap_{16,32,64}p
> dhcpv6 and other minor net-snk fixes
> Fix missing drop in virtio-fs setup-alias
> Find next available alias name
> SLOF does not exit if given 1KB disk
> boot: enable support for bootindex
> pci-properties: add properties to enable hotplug for spapr
> e1000: remember node handle
> Increase quiesce tokens array size
> virtio: timeout after 5sec
> Enable IPv6 support in dns
> usb-ohci: fix warnings
> Add ipv6 support in net-snk
> ipv4: fix frame overwriting following arp_send_request
> e1000: fix SLOF_dma_map_out arguments
> Maintain single global packet buffer for tftp
> Increase virtio-net receive queue size
> Increase veth receive queue size
> Fix dprintf macros at various points
> usb-ohci: rewrite done_head processing code
> boot: add net in default boot order
> block 0 address in the allocator
> scsi: make-media-alias fix
> usb-xhci: add xhci host controller support
> usb-xhci: add xhci support
> Avoid veth read/write calls with zero length buffer
> boot: include other aliases
> usb-core: disable xhci
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
commit 7a1a4dac94e5dea21ecc404f362ef2c62f9f089c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 03:40:13 2014 +0100
Move QEMUMachine typedef to qemu/typedefs.h
As reported in commit 9c06a1f79f959fffd09bfb7efc3d76051a6cd2da, xen.h is
not self-contained with regards to its use of QEMUMachine. Fix this.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 602a3921ffd62a08c29750d123e0d5d96acc84ee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 03:29:51 2014 +0100
Revert "KVM: Split QEMUMachine typedef into separate header"
This reverts commit 9c06a1f79f959fffd09bfb7efc3d76051a6cd2da.
The new header sysemu/qemumachine.h is undesired.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f8762027a33e2f5d0915c56a904962b1481f75c1
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Mar 11 15:00:34 2014 +0200
libqtest: Fix possible deadlock in qtest initialization
'socket_accept' waits for QEMU to init its unix socket.
If QEMU encounters an error during command line parsing,
it can exit before initializing the communication channel.
Using a timeout for sockets fixes the issue.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2f69df746f06d785ffbf6cc9711f7df9d014e35
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Mon Nov 25 17:48:42 2013 -0500
pci: Move VMState registration/unregistration to QOM realize/unrealize
Use the realize and unrealize hooks to register and unregister
vmstate_pcibus respectively.
Relocate some stuff to avoid forward declarations.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
[AF: Keep using PCI_BUS() cast macro]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c21ce77d7e5643089ceec556c0408445d017f32
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Mar 12 21:02:12 2014 +0100
qdev: Realize buses on device realization
Integrate (un)realization of child buses with realization/unrealization
of the device hosting them. Code in device_unparent() is reordered for
unrealization of buses to work as part of device unrealization.
That way no changes need to be made to bus instantiation.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02e7f85dac3c639b70460ce557cb6c29963db97a
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Mon Nov 25 17:48:40 2013 -0500
qdev: Prepare realize/unrealize hooks for BusState
Add a "realized" property calling realize/unrealize hooks as for devices.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04e9a20b495f37f3132f4ada80fd925b4794b253
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Feb 10 14:52:56 2014 +1100
tests: Add spapr-pci-host-bridge qtest
This adds a test whether sPAPR PHB can be added via the command line.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ef66625f3a8978dcbbad773e6813f747971381e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 19:02:12 2013 +0200
virtio-serial-port: Convert to QOM realize/unrealize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0399a3819b27083ba69b88a9baa9025facab85bd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 19:10:02 2013 +0200
virtio-console: QOM cast cleanup for VirtConsole
Introduce type constant, cast macro and rename parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6e8114a0650e78b6476e312de59361ef11c62b59
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 17:49:12 2014 +0100
tests: Add virtio-console qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa97405e3289059ab614e906ce4f1141971dfd9c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 17:36:57 2014 +0100
tests: Add virtio-serial qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 26c9a015ef8ad158a62690f72ee04d10545db80d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 16:42:15 2014 +0100
tests: Add virtio-scsi qtest
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6f46f02f4756d0cd6c45515c1728a899fbb1dd3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:43:10 2014 +0100
tests: Add virtio-rng qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02063aaa653c35291f06d58400a3349305000dd6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:39:47 2014 +0100
tests: Add virtio-balloon qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7a59bed62184d2d5ef5c6ed87c7ee6c23c57802
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:32:55 2014 +0100
tests: Add virtio-blk qtest
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 83bb0b2ffd589346c8b8f4fee9296d0a8a309cf4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 16:29:17 2014 +0100
tests: Clean up IndustryPack TPCI200 gcov paths
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dc06cbd28611c366096fd1c9b8bba7b459a96877
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 7 15:36:16 2014 +0100
qom-test: Test QOM properties
Recursively walk all properties under /machine and try to retrieve their
value. This is a regression test for link<> properties and the
DeviceState::hotpluggable property.
Cf. be2f78b6b062eec5170e2612299fb8953046993f and
1a37eca107cece3ed454bae29eef0bd1fac4a244
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0056ae24bc36798fdd96d0b31e217e9f73896736
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Wed Mar 5 19:30:47 2014 +0200
hw/boards: Convert current_machine to MachineState
In order to allow attaching machine options to a machine instance,
current_machine is converted into MachineState.
As a first step of deprecating QEMUMachine, some of the functions
were modified to return MachineClass.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 261747f176f6f2d88f8268aaebfdd1a1afe887e2
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Wed Mar 5 19:30:46 2014 +0200
vl: Use MachineClass instead of global QEMUMachine list
The machine registration flow is refactored to use the QOM functionality.
Instead of linking the machines into a list, each machine has a type
and the types can be traversed in the QOM way.
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 36d20cb2b39311869b061e1669cb55ccbf0af759
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Wed Mar 5 19:30:45 2014 +0200
hw/core: Introduce QEMU machine as QOM object
The main functional change is to convert QEMUMachine into MachineClass
and QEMUMachineInitArgs into MachineState, instance of MachineClass.
As a first step, in order to make possible an incremental development,
both QEMUMachine and QEMUMachineInitArgs are being embedded into the
new types.
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 49649f23db977137c031a21eee2f0521404f6710
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 6 10:12:53 2014 +0100
qdev-monitor-test: Don't test human-readable error message
Test the error class instead. Expecting a specific message is
fragile. In fact, it broke once already, in commit 75884af. Restore
the test of error member "class" dropped there, and drop the test of
error member "desc".
There are no other tests of "desc" as far as I can tell.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3d7cbc1397bf01249b5c39dd1e285bd6aa818dc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 6 10:12:52 2014 +0100
qdev-monitor-test: Simplify using g_assert_cmpstr()
Use g_assert_cmpstr() instead of combining g_assert() and strcmp(3).
This simplifies the code since we no longer have to play games to
distinguish NULL from "" using "(null)".
gcc extension haters will also be happy that ?: was dropped.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b8601b0ea0b91467561e0bbddd52a833e4b2b1a
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Mar 6 14:11:00 2014 +1100
spapr-pci: Change the default PCI bus naming
Previously libvirt required the first/default PCI bus to have name "pci".
Since QEMU can support multiple buses now, libvirt wants "pci.0" now.
This removes custom bus name and lets QEMU make up default names.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cdccf7d7e7f16046cdb192423323a42ad7f43bec
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:30:45 2014 -0800
block/m25p80: Remove FROM_SSI_SLAVE() usages
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Rename parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f760d5f2bbe89685f2fe4b12a898c26196d3a1e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:30:10 2014 -0800
ssi: Remove SSI_SLAVE_FROM_QDEV() macro
There are no usages left of this legacy cast. Delete.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Rename SSISlave parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
ssi: Rename parent field
commit 7c77b654c5371e970bc3190afe8dc85bc4f2c8ff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:29:35 2014 -0800
misc/max111x: QOM casting sweep
Define and use QOM cast macro. Removes some usages of legacy casting
systems.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Rename parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ef4a1c304ef60224c29aa9f6d9c2ac0591d020a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:29:00 2014 -0800
misc/max111x: Create abstract max111x type
Create an abstract class that encompasses both max111x variants. This is
needed for QOM cast macro creation (and is the right thing to do
anyway). Macroify type-names in the process.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d43269dddc2e084a61bb6cfcc18081b0b6bb0e62
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:28:25 2014 -0800
ssi: Convert legacy SSI_BUS -> BUS casts
Remove two legacy ->qbus style casts from TYPE_SSI_BUS to TYPE_BUS in
ssi.c.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Convert one missing ->qbus and rename parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1a7d9ee6dd4aa44fc7d937bded8d542e0265e57f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:27:50 2014 -0800
ssi: Convert legacy SSI_SLAVE -> DEVICE casts
Convert legacy ->qdev style casts from TYPE_SSI_SLAVE to TYPE_DEVICE.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Introduce local DeviceState variable for transition to QOM realize]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a01aedc8d32e6f5b08a4041b62be3c5fab7a3382
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Mar 4 15:28:18 2014 +0100
qom: Avoid leaking str and bool properties on failure
When object_property_add_str() and object_property_add_bool() fail, they
leak their internal StringProperty and BoolProperty structs. Remember
to free the structs on error.
Luckily this is a low-impact memory leak since most QOM properties are
static qdev properties that will never take the error case.
object_property_add() only fails if the property name is already in use.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7b0309490cb108d881a0c66d6b350b4db7b3b4ac
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Mar 3 15:57:55 2014 +0800
qdev-monitor: Set properties after parent is assigned in device_add
Test steps:
(qemu) device_add e1000,addr=adsf
Property 'e1000.addr' doesn't take value 'adsf'
(qemu) info qtree
Then qemu crashed.
Currently we set a link to the new device from its parent bus, but the
device hasn't been added to QOM tree yet. When it fails to set properties,
object_unparent() can't clean up the device.
Delay setting of device properties until the device has been added to
the QOM composition tree. This way, when setting a property fails,
object_unparent() can clean up the device properly.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 267a3264cdaf0ca945ffc7a60c019ad9f89be8d8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Feb 18 17:56:53 2014 +0100
qdev: Set DeviceClass::hotpluggable default in class_init()
Move setting DeviceClass::hotpluggable default from device's
class_base_init() to device's class_init().
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b81b35f8f18d6874d1a0605ac5e40028966051b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Mar 7 19:04:13 2014 +0100
qdev: Fix bus dependency of DeviceState::hotpluggable getter
Commit 1a37eca107cece3ed454bae29eef0bd1fac4a244 (qdev: add
"hotpluggable" property to Device) added a property "hotpluggable" to
each device, with its getter accessing parent_bus->allow_hotplug.
Add a NULL check.
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 750036a848ea913ba6343718ffa70da98f7eef6b
Merge: 2f23e9a 21143b6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 17:53:37 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-upstream'
into staging
PReP machine and devices
* ppc_rom.bin update and submodule
# gpg: Signature made Wed 12 Mar 2014 17:32:40 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-upstream:
prep: Update ppc_rom.bin
Add OpenHack'Ware submodule
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2f23e9ae2cc37788ae1211803a7f8545ae14df91
Merge: a822837 68e5ec6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 16:45:25 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request'
into staging
Net patches
# gpg: Signature made Wed 12 Mar 2014 13:48:20 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/net-pull-request:
tap: avoid deadlocking rx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 21143b615aaf6f1661a1a6e69f00a39e456cc168
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Mar 2 22:27:14 2014 +0100
prep: Update ppc_rom.bin
Functionally, this is a revert of Jocelyn's r3309 /
55aa45ddde3283cdd781326d001f7456bf02f684 (Quickly hack PowerPC BIOS
able to boot on CDROM again.), for which we do not have the sources.
Therefore the sources used are v0.4.1 plus pc-bios/ohw.diff plus a
workaround turning IDE errors into warnings.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit fd3ece2533730eb4ab2dd787a1c1418b38b40d6a
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Mar 12 17:16:56 2014 +0100
Add OpenHack'Ware submodule
This replaces the ohw.diff file on top of v0.4.1.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit a822837d123183293f1cfc3167cc4e5255765915
Merge: 01ac27c 84f3fe1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 15:46:43 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request'
into staging
Tracing pull request
# gpg: Signature made Wed 12 Mar 2014 13:20:10 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/tracing-pull-request:
trace: Fix build warnings for Win32 build
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit eee822e3595bbdd69e71198edd65dd29db27a6e5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 12 16:13:58 2014 +0200
acpi-build: fix misaligned access
clang build reported a misaligned access:
runtime error: store to misaligned address 0x2b5aa47dfb19 for type
'uint16_t' (aka 'unsigned short'), which requires 2 byte alignment
0x2b5aa47dfb19: note: pointer points here
45 53 54 0b ff ff 5b 80 50 45 4f 52 01 50 45 53 54 01 5b 81 0b 50
45 4f 52 01 50 45 50 54 08 14
fix this up
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 01ac27ce7f144e1768d8c0948a2789eb0f109928
Merge: 2c3445b dc9528f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 15:03:42 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-misc-1' into
staging
Docs: Introduce multiport serial support in qemupciserial.inf.
# gpg: Signature made Wed 12 Mar 2014 09:35:55 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-misc-1:
Docs: Introduce multiport serial support in qemupciserial.inf.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 84f3fe1b077a06ca50f85fa3ff696a8fe094623b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 19:44:25 2014 +0000
trace: Fix build warnings for Win32 build
The Win32 build warns about trace/control-internal.h:
warning: 'trace_event_count' declared inline after being called
Fix this by simply reordering trace_event_id() and
trace_event_count().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c3445bb850fbfb4481e9487d8852f10e8c74e4c
Merge: 7602e3e 5c1e189
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 12:47:26 2014 +0000
Merge remote-tracking branch 'remotes/kiszka/queues/slirp' into staging
* remotes/kiszka/queues/slirp:
slirp smb with modern win guests when samba is also running on host
qemu/slirp: Fix SMB security configuration on newer samba versions
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7602e3e4a36715f8de9932dfd489cc4a2c6a7807
Merge: 613c12e 16c358e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 11:44:59 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging
* remotes/mcayland/qemu-sparc:
target-sparc: Add and use CPU_FEATURE_CASA
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 613c12ec28573b10cae0cd91139ba69b964f347c
Merge: be813ef 2a7a1a5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 10:47:07 2014 +0000
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp:
tests: test-qmp-commands: Fix double free
qapi script: do not add "_" for every capitalized char in enum
qapi script: do not allow string discriminator
qapi: convert BlockdevOptions to use enum discriminator
qapi script: support enum type as discriminator in union
qapi script: use same function to generate enum string
qapi script: code move for generate_enum_name()
qapi script: check correctness of union
qapi script: remember line number in schema parsing
qapi script: add check for duplicated key
qapi script: remember explicitly defined enum values
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d58b9122716bc444305515ead3a69b91d807bf3c
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Mar 11 17:26:44 2014 +0100
gtk: Add mouse wheel support
Hook into scroll-event to properly forward mouse wheel movements to the
guest, just like we already do in SDL.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7f5e07d9b36467a7ce84ecf57623df561910c181
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 11 14:08:31 2014 +0100
input: activate legacy kbd
Restores traditional behavior: Keyboard input will be routed to the most
recently added keyboard. Without this all kbd input goes to the ps/2
keyboard, even if you add a usb keyboard to your guest.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dc9528fdf9f61dfa6355b4052dc42b8cbadf9167
Author: Miki Mishael <mmishael@xxxxxxxxxx>
Date: Sun Jan 19 11:43:05 2014 -0500
Docs: Introduce multiport serial support in qemupciserial.inf.
Support for pci-serial-2x and pci-serial-4x
was added to the inf file.
Standard Windows driver mf.sys used to
split single function device into per-port nodes.
Signed-off-by: Miki Mishael <mmishael@xxxxxxxxxx>
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 68e5ec64009812dbaa03ed9cfded9344986f5304
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat Mar 8 16:00:43 2014 +0100
tap: avoid deadlocking rx
The net subsystem has a control flow mechanism so peer NetClientStates
can tell each other to stop sending packets. This is used to stop
monitoring the tap file descriptor for incoming packets if the guest rx
ring has no spare buffers.
There is a corner case when tap_can_send() is true at the beginning of
an event loop iteration but becomes false before the tap_send() fd
handler is invoked.
tap_send() will read the packet from the tap file descriptor and attempt
to send it. The net queue will hold on to the packet and return 0,
indicating that further I/O is not possible. tap then stops monitoring
the file descriptor for reads.
This is unlike the normal case where tap_can_send() is the same before
and during the event loop iteration. The event loop would simply not
monitor the file descriptor if tap_can_send() returns true. Upon next
iteration it would check tap_can_send() again and begin monitoring if we
can send.
The deadlock happens because tap_send() explicitly disabled read_poll.
This is done with the expectation that the peer will call
qemu_net_queue_flush(). But hw/net/virtio-net.c does not monitor
vm_running transitions and issue the flush. Hence we're left with a
broken tap device.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Neil Skrypuch <neil@xxxxxxxxxxxxxxx>
Tested-by: Neil Skrypuch <neil@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5c1e1890bfa1f6b4bc3f51e368bfd47af1b60db0
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Nov 28 23:32:55 2013 +0400
slirp smb with modern win guests when samba is also running on host
After numerous reports that -smb (or -netdev user,smb=foo) not working
with modern windows (win7 and vista are reported as non-working), I
started digging myself. And found that indeed it doesn't work, and
why.
The thing is that modern win tries to connect to port 445 (microsoft-ds)
first, and if that fails, it falls back to old port 139 (netbios-ssn).
slirp code in qemu only redirects port 139, it does not touch port 445.
So the prob is that if samba is also running on the host, guest will try
to communicate using port 445, and that will succed, but ofcourse guest
will not talk with our samba but with samba running on the host.
If samba is not running on the host, guest will fall back to port 139,
and will reach the redirecting rule and qemu will spawn smbd correctly.
The solution is to redirect both ports (139 and 445), and the fix is
a one-liner, adding second call to slirp_add_exec() at the end of
net/slirp.c:slirp_smb() function (provided below).
But it looks like that is not a proper fix really, since in theory
we should redirect both ports to the SAME, single samba instance,
but I'm not sure this is possible with slirp. Well, even if two
smbd processes will be run on the same config dir, it should not
be a problem.
The one-liner (not exactly 1 since it touches previous line too) is like
this:
Signed-off-By: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit c2804ee6c0eba19c029bb2950fa2998c16f3ea11
Author: Michael Buesch <m@xxxxxxx>
Date: Fri Nov 1 12:23:49 2013 +0100
qemu/slirp: Fix SMB security configuration on newer samba versions
The smb.conf automatically generated by qemu's -smb option fails on
current
samba, because smbd rejects the security=share option with the following
warning:
> WARNING: Ignoring invalid value 'share' for parameter 'security'
Which makes it fall back to security=user without guest login.
This results in being unable to login to the samba server from the guest
OS.
This fixes it by selecting 'user' explicitly and mapping
unknown users to guest logins.
Signed-off-by: Michael Buesch <m@xxxxxxx>
Reviewed-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 16c358e96e0597b7d60754547166ad05ecc6d93d
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 11 10:36:00 2014 +0100
target-sparc: Add and use CPU_FEATURE_CASA
The LEON3 processor has support for the CASA instruction which is
normally only available for SPARC V9 processors. Binutils 2.24
and GCC 4.9 will support this instruction for LEON3. GCC uses it to
generate C11 atomic operations.
The CAS synthetic instruction uses an ASI of 0x80. If TARGET_SPARC64 is
not defined use a supervisor data load/store for an ASI of 0x80 in
helper_ld_asi()/helper_st_asi(). The supervisor data load/store was
choosen according to the LEON3 documentation.
The ASI 0x80 is defined in the SPARC V9 manual, Table 12â??Address Space
Identifiers (ASIs). Here we have: 0x80, ASI_PRIMARY, Unrestricted
access, Primary address space.
Tested with the following program:
#include <assert.h>
#include <stdatomic.h>
void test(void)
{
atomic_int a;
int e;
_Bool b;
atomic_store(&a, 1);
e = 1;
b = atomic_compare_exchange_strong(&a, &e, 2);
assert(b);
assert(atomic_load(&a) == 2);
atomic_store(&a, 3);
e = 4;
b = atomic_compare_exchange_strong(&a, &e, 5);
assert(!b);
assert(atomic_load(&a) == 3);
}
Tested also on a NGMP board with a LEON4 processor.
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit be813ef02d18ba58e1ff32f1706bcacb88f1f764
Merge: 2396187 13f65b2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 19:52:32 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,test bug fixes
More small fixes: the issues annoy developers so
I thought they are worth fixing quickly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 11 Mar 2014 11:27:44 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
acpi-test: update expected SSDT files
acpi-build: don't access unaligned addresses
q35: Correct typo BRDIGE -> BRIDGE
configure: don't modify .status on error
pc: avoid duplicate names for ROM MRs
loader: rename in_ram/has_mr
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 239618707637ec87eba8c452d2b2f75dc5ca20c7
Merge: 01207d0 b0f15a5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 19:39:17 2014 +0000
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
target-i386: bugfix of Intel MPX
file_ram_alloc: unify mem-path,mem-prealloc error handling
kvm-all: exit in case max vcpus exceeded
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 01207d0b78208c2f49c3f457d6794eea215d5be7
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Mar 11 16:49:23 2014 +0100
qemu-thread-posix: Fix build against older glibc version
pthread_setname_np was introduced with 2.12.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0ca540dbaea142ec5c3e7a1d12db7139b8317f37
Merge: ed9b103 72c1d3a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 13:20:23 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140310' into staging
target-arm queue:
* implement WFE as yield (improves performance with emulated SMP)
* fixes to avoid undefined behaviour shifting left into sign bit
* libvixl format string fixes for 32 bit hosts
* fix build error when intptr_t and tcg_target_long are different
sizes (eg x32)
* implement PMCCNTR register
* fix incorrect setting of E bit in CPSR (broke booting under
KVM on ARM)
# gpg: Signature made Mon 10 Mar 2014 15:05:25 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140310:
target-arm: Implement WFE as a yield operation
hw/arm/musicpal: Avoid shifting left into sign bit
hw/ssi/xilinx_spips.c: Avoid shifting left into sign bit
hw/arm/omap1.c: Avoid shifting left into sign bit
pxa2xx: Don't shift into sign bit
libvixl: Fix format strings for several int64_t values
target-arm: Fix intptr_t vs tcg_target_long
target-arm: Implements the ARM PMCCNTR register
target-arm: Fix incorrect setting of E bit in CPSR
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2a7a1a56d1e30de07cf7d7636a35bf7706b9500e
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Sat Mar 8 12:20:06 2014 -0500
tests: test-qmp-commands: Fix double free
The ret variable is freed twice, but on the second time we actually want
to free ret3 instead. Don't know why this didn't explode.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5d371f41b4db8e47c89626ecf9d9914119583e23
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:40 2014 -0800
qapi script: do not add "_" for every capitalized char in enum
Now "enum AIOContext" will generate AIO_CONTEXT instead of A_I_O_CONTEXT,
"X86CPU" will generate X86_CPU instead of X86_C_P_U.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5223070c47c6fc35ee000b2392ae76d9fab54f16
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:39 2014 -0800
qapi script: do not allow string discriminator
Since enum based discriminators provide better type-safety and
ensure that future qapi additions do not forget to adjust dependent
unions, forbid using string as discriminator from now on.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 59ca664ef86c8a9078157336b566e832fc5466e2
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:38 2014 -0800
qapi: convert BlockdevOptions to use enum discriminator
After this patch, hidden enum type BlockdevOptionsKind will not
be generated, and other API can use enum BlockdevDriver.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit bceae7697ff1711675c26f715b945737bc6849ae
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Thu Mar 6 17:08:56 2014 -0800
qapi script: support enum type as discriminator in union
By default, any union will automatically generate a enum type as
"[UnionName]Kind" in C code, and it is duplicated when the discriminator
is specified as a pre-defined enum type in schema. After this patch,
the pre-defined enum type will be really used as the switch case
condition in generated C code, if discriminator is an enum field.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b0b58195e4a3039b6a473124dc27ed707db50240
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:36 2014 -0800
qapi script: use same function to generate enum string
Prior to this patch, qapi-visit.py used custom code to generate enum
names used for handling a qapi union. Fix it to instead reuse common
code, with identical generated results, and allowing future updates to
generation to only need to touch one place.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6299659f54420955419c4995283f7dd770367939
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:35 2014 -0800
qapi script: code move for generate_enum_name()
Later both qapi-types.py and qapi-visit.py need a common function
for enum name generation.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b86b05ed60d8d49c5770851860d4e6b89c133e7e
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:34 2014 -0800
qapi script: check correctness of union
Since line info is remembered as QAPISchema.line now, this patch
uses it as additional info for every expr in QAPISchema inside qapi.py,
then improves error message with it in checking of exprs.
For common union the patch will check whether base is a valid complex
type if specified. For flat union it will check whether base presents,
whether discriminator is found in base, whether the key of every branch
is correct when discriminator is an enum type.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 515b943a91db6c9faf9e35377c18db9ca32ecb40
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:33 2014 -0800
qapi script: remember line number in schema parsing
Before this patch, 'QAPISchemaError' scans whole input until 'pos'
to get error line number. After this patch, the scan is avoided since
line number is remembered in schema parsing. This patch also benefits
other error report functions, which would be introduced later.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4b35991a3bd5f9e03333d5b1bd4a7bcf9941aac5
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:32 2014 -0800
qapi script: add check for duplicated key
It is bad that same key was specified twice, especially when a union has
two branches with same condition. This patch can prevent it.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dad1fcab91bf101a02151069036d416367b59c5c
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:31 2014 -0800
qapi script: remember explicitly defined enum values
Later other scripts will need to check the enum values.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ed9b103d3e3102f17791ca53d4a8b17a3de929de
Merge: c57ec32 c9dd407
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 13:03:21 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-4' into
staging
minor spice patches.
# gpg: Signature made Mon 10 Mar 2014 13:13:14 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-4:
configure: Prettify message for hosts without spice support
spice: QemuUIInfo windup
spice: fix simple display surface handling
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c57ec3249e9839c7ea2e3789f6e40f9ec1c92f55
Merge: fe6c53b dbb2a13
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 12:52:08 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-5' into
staging
input: fixes for the rewrite.
# gpg: Signature made Mon 10 Mar 2014 12:50:25 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-5:
input: map INPUT_BUTTON_WHEEL_{UP,DOWN} to legacy input z axis moves.
input: sdl: fix guest_cursor logic.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 13f65b2e1073cf7e2c8fb3880c77d8a53fa2f95e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 10 21:13:59 2014 +0200
acpi-test: update expected SSDT files
SSDT doesn't have _SUN for non hotpluggable slots
anymore.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b4e5a4bffda0d5dd79c87c66f28a5fac87182e30
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 10 21:30:16 2014 +0200
acpi-build: don't access unaligned addresses
casting an unaligned address to e.g.
uint32_t can trigger undefined behaviour in C.
Replace cast + assignment with memcpy.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 263cf4367fd86dc0e15beebe65919cd50501844d
Author: BALATON Zoltan <balaton@xxxxxxxxxx>
Date: Fri Feb 28 11:28:03 2014 +0100
q35: Correct typo BRDIGE -> BRIDGE
Signed-off-by: BALATON Zoltan <balaton@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit dc655404659def26fbcd66583ca61575af9da8b9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 9 17:37:49 2014 +0200
configure: don't modify .status on error
./configure --help
make
will try to re-run configure with --help
which isn't what was intended.
The reason is that config.status was written
even on configure error.
Defer writing config.status until configure
has completed successfully.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ac41881b48858b279960a17c07f0b159af91e75a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Mar 6 14:57:09 2014 +0200
pc: avoid duplicate names for ROM MRs
Since
commit 04920fc0faa4760f9c4fc0e73b992b768099be70
loader: store FW CFG ROM files in RAM
RAM MRs including ROM files in FW CFGs are created
and named using the file basename.
This becomes problematic if these names are
supplied by user, since the basename might not
be unique.
There are two cases we care about:
- option-rom flag.
- option ROM for devices. This triggers e.g. when
using rombar=0.
At the moment we get an assert. E.g
qemu -option-rom /usr/share/ipxe/8086100e.rom -option-rom
/usr/share/ipxe.efi/8086100e.rom
RAMBlock "/rom@genroms/8086100e.rom" already registered, abort!
This is a regression from 1.6.
For now let's keep it simple and just avoid creating the
MRs in case of option ROMs.
when using 1.7 machine types, enable
option ROMs in RAM to match that version.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fe6c53b4bbd2e83f82087bc5e37daa11ffc65879
Merge: 118760d e22492d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 10:53:17 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-1' into staging
vnc dirty tracking optinizations.
various vnc bugfixes.
# gpg: Signature made Mon 10 Mar 2014 12:39:54 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-vnc-1:
ui/vnc: disable adaptive update calculations if not needed
ui/vnc: optimize setting in vnc_dpy_update()
ui/vnc: optimize clearing in find_and_clear_dirty_height()
ui/vnc: optimize dirty bitmap tracking
ui/vnc: derive cmp_bytes from VNC_DIRTY_PIXELS_PER_BIT
ui/vnc: introduce VNC_DIRTY_PIXELS_PER_BIT macro
vnc: fix use-after-free in vnc_update_client_sync
vnc: Fix qemu crashed when vnc client disconnect suddenly
vnc: Fix tight_detect_smooth_image() for lossless case
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b0f15a5d5628994c71a6f428f360a5a537ad3b39
Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
Date: Mon Mar 3 05:24:14 2014 +0000
target-i386: bugfix of Intel MPX
The correct size of cpuid 0x0d sub-leaf 4 is 0x40, not 0x10.
This is confirmed by Anvin H Peter and Mallick Asit K.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Asit K Mallick <asit.k.mallick@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
commit 118760dfc9f4db2df3700ddb2934543abef86bfa
Merge: b304bf0 220c8ed
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 19:14:11 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,pci,virtio,memory bug fixes
This collects several small fixes from all over the place.
Additionally, Marcel's changes make acpi unit tests more robust.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 09 Mar 2014 19:14:57 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
qemu: x86: ignore ioapic polarity
pckbd: return 'keyboard enabled' on read input port command
pam: partly fix write-only mode
acpi-test: issue errors instead of warnings when possible
acpi-test: retain both asl and aml files on failure
MAINTAINERS: drop an out of date address
Add a 'name' parameter to qemu_thread_create
Add 'debug-threads' suboption to --name
Rework --name to use QemuOpts
PCIE: fix regression with coldplugged multifunction device
memory_region_present: return false if address is not found in child
MemoryRegion
virtio-net: remove function calls from assert
acpi-test-data: update expected files
acpi-build: append description for non-hotplug
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b304bf0021a2dfb24fa91f704a1d976b74f56f20
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Mar 6 09:49:25 2014 +0100
s390/kvm: Add Maintainers for s390/kvm
Lets add Conny and myself as maintainers for s390/kvm and
related code. This does not include any tcg related code,
which is maintained by Richard and Alex.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1394095765-29686-2-git-send-email-borntraeger@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3f1506704eca5f0f26dd7b5c56f4a8ca6d21f745
Merge: 0c126db cbc14e6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 16:22:39 2014 +0000
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
* remotes/riku/linux-user-for-upstream:
linux-user: set minimum kernel version to 2.6.32
linux-user: correct handling of break exception for MIPS
linux-user: translate signal number on return from sigtimedwait
linux-user: Implement sendmmsg syscall
linux-user: Fix getresuid, getresgid if !USE_UID16
linux-user: Don't use UID16 on AArch64
linux-user: AArch64: Implement SA_RESTORER for signal handlers
linux-user/signal.c: Fix AArch64 big-endian FP register restore
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0c126db27ceaca994548214656a457c9b011dc17
Merge: e9d818b 5264917
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 15:36:12 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-openbios' into staging
* remotes/mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 72c1d3af6e9c2745edfeaa71918a68bcee4b79db
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:30 2014 +0000
target-arm: Implement WFE as a yield operation
Implement WFE to yield our timeslice to the next CPU.
This avoids slowdowns in multicore configurations caused
by one core busy-waiting on a spinlock which can't possibly
be unlocked until the other core has an opportunity to run.
This speeds up my test case A15 dual-core boot by a factor
of three (though it is still four or five times slower than
a single-core boot).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393339545-22111-1-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Rob Herring <rob.herring@xxxxxxxxxx>
commit 2b194951c592ad670ddf3bc5764216408ade46f8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:30 2014 +0000
hw/arm/musicpal: Avoid shifting left into sign bit
Add missing 'U' suffixes to avoid shifting left into sign
bit of a signed integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-5-git-send-email-peter.maydell@xxxxxxxxxx
commit c8f8f9fb2b8bd832be7e87c548929e40113e8e3d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:30 2014 +0000
hw/ssi/xilinx_spips.c: Avoid shifting left into sign bit
Add missing 'U' suffix to avoid shifting left into sign bit of
a signed integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-4-git-send-email-peter.maydell@xxxxxxxxxx
commit d2f41a1169bb0357bd863296b1a664fe2af10acd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
hw/arm/omap1.c: Avoid shifting left into sign bit
Add missing 'U' suffix to avoid shifting left into sign bit.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 43a32ed68f3aac5ccde4fa6fa4a158e9e8153c94
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
pxa2xx: Don't shift into sign bit
Add missing 'U' suffixes to avoid potentially shifting into
the sign bit of a signed integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-2-git-send-email-peter.maydell@xxxxxxxxxx
commit b29c8f115de5f48f0019afc2c779cf64e5fcefaf
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
libvixl: Fix format strings for several int64_t values
"%d" or "%x" won't work on hosts where int values are smaller than 64 bit.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1394219753-26106-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0624976f6166fe3d59477f4c08d5cdd7c1edc7d1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
target-arm: Fix intptr_t vs tcg_target_long
Fixes a build error when these are different, e.g. x32.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394043257-4800-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7c2cb42b5033a851aa2a81de8d8a9e75bb65c2b6
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Mon Mar 10 14:56:28 2014 +0000
target-arm: Implements the ARM PMCCNTR register
This patch implements the ARM PMCCNTR register including
the disable and reset components of the PMCR register.
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Message-id:
bbf405e1feaf352cf39d5db402c9efcbd0f57c78.1393459802.git.alistair.francis@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af5199347a874db2214bf818151bad71b856ff37
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:28 2014 +0000
target-arm: Fix incorrect setting of E bit in CPSR
Commit 4cc35614a moved the exception mask bits out of env->uncached_cpsr
and into env->daif. However the env->daif contents are AArch64 style
mask bits, which include not just the AArch32 AIF bits but also the
new D bit (masks debug exceptions). This means that when reconstructing
the AArch32 CPSR value we must not allow the D bit in env->daif to get
into the CPSR, because the corresponding bit in the CPSR is E, the
endianness bit.
This bug didn't affect execution under TCG because we don't implement
endianness-swapping and so simply ignored the E bit; however it meant
that kernel booting under KVM failed, because KVM does honour the E bit.
Reported-by: Alexey Ignatov <lexszero@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c9dd4074df9b702090fa0e42c0101d75d44c7eb9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Mar 6 18:13:33 2014 +0100
configure: Prettify message for hosts without spice support
Instead of
spice support no (/)
configure now prints
spice support no
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9b74d0d598b022e558d06bf6d57f0f303d1a4bc8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 18:47:20 2014 +0100
spice: QemuUIInfo windup
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4b87dc4c9729aaa77737d2f20c255231f4edb526
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 10:48:58 2014 +0100
spice: fix simple display surface handling
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dbb2a1326a7af6159861d3d7976c251a15ce0f92
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 10 09:31:01 2014 +0100
input: map INPUT_BUTTON_WHEEL_{UP,DOWN} to legacy input z axis moves.
Unbreaks mouse wheel.
Reported-by: BALATON Zoltan <balaton@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3aa84b68f45d915160a523b4d7b9c6f4cf2219c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 10 09:22:16 2014 +0100
input: sdl: fix guest_cursor logic.
Unbreaks relative mouse mode with SDL.
Reported-by: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e9d818b8b1a7fadc6c92256b716f1bc21b8daabc
Merge: 16513b1 f8e2484
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 12:34:41 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-aarch-6-1' into staging
* remotes/rth/tcg-aarch-6-1:
tcg-aarch64: Remove nop from qemu_st slow path
tcg-aarch64: Simplify tcg_out_ldst_9 encoding
tcg-aarch64: Use intptr_t apropriately
tcg-aarch64: Remove the shift_imm parameter from tcg_out_cmp
tcg-aarch64: Hoist common argument loads in tcg_out_op
tcg-aarch64: Don't handle mov/movi in tcg_out_op
tcg-aarch64: Set ext based on TCG_OPF_64BIT
tcg-aarch64: Change all ext variables to TCGType
tcg-aarch64: Remove redundant CPU_TLB_ENTRY_BITS check
tcg-aarch64: Enable builtin disassembler
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cbc14e6f286169949105c10ec60c924e086521ad
Author: Riku Voipio <riku.voipio@xxxxxxxxxx>
Date: Wed Feb 19 14:50:41 2014 +0200
linux-user: set minimum kernel version to 2.6.32
Popular glibc based distributions[1] require minimum
2.6.32 as kernel version. For some targets 2.6.18
would be enough, but dropping so low would mean some
suboptimal system calls could get used.
Set the minimum kernel advertized to 2.6.32 for
all architectures but aarch64 to ensure working qemu
linux-user in case host kernel is older.
[1] https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/921078
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 16513b1b45a3fc6889c6173bc9a211a027a5ac0f
Merge: f53f3d0 464400f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 11:48:42 2014 +0000
Merge remote-tracking branch
'remotes/juanquintela/tags/migration/20140308-1' into staging
migration/next for 20140308
# gpg: Signature made Sat 08 Mar 2014 21:26:01 GMT using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* remotes/juanquintela/tags/migration/20140308-1:
migration: extend section_start/end traces
vl: add system_wakeup_request tracepoint
qemu_file: Fix mismerge of "use fwrite() correctly"
XBZRLE: Fix qemu crash when resize the xbzrle cache
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e22492d332c5c80ea8cb1755c29ca9b6240c7716
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:38 2014 +0100
ui/vnc: disable adaptive update calculations if not needed
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 919372251cbfa9e43b0264fec475dd1eca23784f
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:37 2014 +0100
ui/vnc: optimize setting in vnc_dpy_update()
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 863d7c91050551def59116f4f3b39fab7f1568f7
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:36 2014 +0100
ui/vnc: optimize clearing in find_and_clear_dirty_height()
The following artifical test (just the bitmap operation part) running
vnc_update_client 65536 times on a 2560x2048 surface illustrates the
performance difference:
All bits clean - vnc_update_client_new: 0.07 secs
vnc_update_client_new2: 0.07 secs
vnc_update_client_old: 10.98 secs
All bits dirty - vnc_update_client_new: 11.26 secs
- vnc_update_client_new2: 0.29 secs
vnc_update_client_old: 20.19 secs
Few bits dirty - vnc_update_client_new: 0.07 secs
- vnc_update_client_new2: 0.07 secs
vnc_update_client_old: 10.98 secs
vnc_update_client_new2 shows the performance of vnc_update_client
with this patch added.
Comparing with the test run of the last patch the performance
is at least unchanged while it is significantly improved
for the all bits dirty case.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 12b316d4c173bf07f421ef9dc98ba4b53916066e
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:35 2014 +0100
ui/vnc: optimize dirty bitmap tracking
vnc_update_client currently scans the dirty bitmap of each client
bitwise which is a very costly operation if only few bits are dirty.
vnc_refresh_server_surface does almost the same.
this patch optimizes both by utilizing the heavily optimized
function find_next_bit to find the offset of the next dirty
bit in the dirty bitmaps.
The following artifical test (just the bitmap operation part) running
vnc_update_client 65536 times on a 2560x2048 surface illustrates the
performance difference:
All bits clean - vnc_update_client_new: 0.07 secs
vnc_update_client_old: 10.98 secs
All bits dirty - vnc_update_client_new: 11.26 secs
vnc_update_client_old: 20.19 secs
Few bits dirty - vnc_update_client_new: 0.08 secs
vnc_update_client_old: 10.98 secs
The case for all bits dirty is still rather slow, this
is due to the implementation of find_and_clear_dirty_height.
This will be addresses in a separate patch.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6cd859aa8a7fb60fe6edb89e628cddfe25dfe186
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:34 2014 +0100
ui/vnc: derive cmp_bytes from VNC_DIRTY_PIXELS_PER_BIT
this allows for setting VNC_DIRTY_PIXELS_PER_BIT to different
values than 16 if desired.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b4c85ddcec24c60616aad9b3b7fc36ce19ba3ca4
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:33 2014 +0100
ui/vnc: introduce VNC_DIRTY_PIXELS_PER_BIT macro
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 38ee14f4f33f8836fc0e209ca59c6ae8c6edf380
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 6 13:54:28 2014 +0100
vnc: fix use-after-free in vnc_update_client_sync
Spotted by Coverity:
876 static int vnc_update_client_sync(VncState *vs, int has_dirty)
877 {
(1) Event freed_arg: "vnc_update_client(VncState *, int)" frees "vs".
[details]
Also see events: [deref_arg]
878 int ret = vnc_update_client(vs, has_dirty);
(2) Event deref_arg: Calling "vnc_jobs_join(VncState *)" dereferences
freed pointer "vs". [details]
Also see events: [freed_arg]
879 vnc_jobs_join(vs);
880 return ret;
881 }
Remove vnc_update_client_sync wrapper, replace it with an additional
argument to vnc_update_client, so we can so the sync properly in
vnc_update_client (i.e. skip it in case of a client disconnect).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit e3c1adf16e38714ebd761dd02517dd07760ba6d2
Author: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>
Date: Thu Jan 23 13:30:57 2014 +0000
vnc: Fix qemu crashed when vnc client disconnect suddenly
Hi,
When I use RealVNC viewer client (http://www.realvnc.com/) to connect vnc
server,
the client disconnect suddenly, and I click reconnect button immediately,
then the Qemu crashed.
In the function vnc_worker_thread_loop, will call vnc_async_encoding_start
to set the local vs->output buffer by global queue's buffer. Then send
rectangles to
the vnc client call function vnc_send_framebuffer_update. Finally, Under
normal circumstances,
call vnc_async_encoding_end to set the global queue'buffer by the local
vs->output conversely.
When the vnc client disconnect, the job->vs->csock will be set to -1. And
the current prcoess
logic will goto disconnected partion without call function
vnc_async_encoding_end.
But, the function vnc_send_framebuffer_update will call buffer_reserve,
which
maybe call g_realloc reset the local vs's buffer, meaning the global
queue's buffer is modified also.
If anyone use the original global queue's buffer memory will cause
corruption and then crash qemu.
This patch assure the function vnc_async_encoding_end being called
even though the vnc client disconnect suddenly.
Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2e7bcdb99adbd8fc10ad9ddcf93bd2bf3c0f1f2d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 21 16:42:52 2014 +0100
vnc: Fix tight_detect_smooth_image() for lossless case
VncTight member uint8_t quality is either (uint8_t)-1 for lossless or
less than 10 for lossy.
tight_detect_smooth_image() first promotes it to int, then compares
with -1. Always unequal, so we always execute the lossy code. Reads
beyond tight_conf[] and returns crap when quality is actually
lossless.
Compare to (uint8_t)-1 instead, like we do elsewhere.
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5264917bcf79d63d7a8df47eef1fd99597ba33a5
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Mon Mar 10 08:48:31 2014 +0000
Update OpenBIOS images
Update OpenBIOS images to SVN r1280 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit 98bc3ab0f256cb983700089770db0823e59c7ceb
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 9 18:42:06 2014 +0200
loader: rename in_ram/has_mr
we put copy of ROMs in MR for migration.
but the name rom_in_ram makes one think we
load it in guest RAM.
Rename has_mr to make intent clearer.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 220c8ed536491315b4040d820328b8dfd60d67a7
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Fri Feb 28 13:57:19 2014 -0500
qemu: x86: ignore ioapic polarity
Both QEMU and KVM have already accumulated a significant number of
optimizations based on the hard-coded assumption that ioapic polarity
will always use the ActiveHigh convention, where the logical and
physical states of level-triggered irq lines always match (i.e.,
active(asserted) == high == 1, inactive == low == 0). QEMU guests
are expected to follow directions given via ACPI and configure the
ioapic with polarity 0 (ActiveHigh). However, even when misbehaving
guests (e.g. OS X <= 10.9) set the ioapic polarity to 1 (ActiveLow),
QEMU will still use the ActiveHigh signaling convention when
interfacing with the emulated ioapic.
This patch modifies the emulated ioapic to completely ignore polarity
as set by the guest OS, enabling misbehaving guests to work alongside
those which comply with the ActiveHigh polarity specified by QEMU's
ACPI tables.
Signed-off-by: Gabriel L. Somlo <somlo@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f1b7e0e498c03e5b4519eeea73b49aafe9d88618
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Feb 11 23:46:03 2014 +0100
pckbd: return 'keyboard enabled' on read input port command
Bit 7 of Input Port is the keyboard inhibit switch.
0 means keyboard inhibited, while 1 means keyboard enabled.
Incidentaly, this also fixes an error encountered while booting
an Award BIOS: "Keyboard is locked out - Unlock the key".
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 175f099b30d4736d23384a838b5f324961f67a1e
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Feb 11 23:46:02 2014 +0100
pam: partly fix write-only mode
In write-only mode, writes are forwarded to RAM, while reads should not be
handled (ie should return 0xff).
Assume that in this mode, no read access is ever done, as they shouldn't
give any sensible result.
So, in write-only mode, alias PAM region to RAM, instead of PCI memory
(which can even be mapped to some device!)
This fixes Award BIOS, which use this mode to shadow system BIOS and
video BIOS.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15d914b18dd7a9a3bd85291f476613b2f9c2caa6
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Feb 27 16:17:32 2014 +0200
acpi-test: issue errors instead of warnings when possible
If the expected (offline) acpi tables loaded correctly,
it is safe to assume the iasl installation is OK and
issue an error if the actual tables failed to load.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 262f6f5140ea54646c518adc94aab86c4b1c0019
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Feb 27 16:17:31 2014 +0200
acpi-test: retain both asl and aml files on failure
Updated the error message while at it.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4a4fcdf6df3189a4ab5bdec70cffb7587c50405d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Feb 19 15:46:07 2014 +0200
MAINTAINERS: drop an out of date address
Gleb's address seems to be out of date. Since it stayed like that for a
while now, I'm guessing he's no longer interested in getting mail.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4900116e6f0edef6877c0e8a9ca19957d47765c9
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Jan 30 10:20:32 2014 +0000
Add a 'name' parameter to qemu_thread_create
If enabled, set the thread name at creation (on GNU systems with
pthread_set_np)
Fix up all the callers with a thread name
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 8f480de0c91a18d550721f8d9af969ebfbda0793
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Jan 30 10:20:31 2014 +0000
Add 'debug-threads' suboption to --name
Add flag storage to qemu-thread-* to store the namethreads flag
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 5d12f961c6f10cba15b0aa43a877c1fffca463d1
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Jan 30 10:20:30 2014 +0000
Rework --name to use QemuOpts
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 6e1f0a55a14bad1d0c8b9d29626ef4e4b2617c74
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 17 15:00:06 2014 +0100
PCIE: fix regression with coldplugged multifunction device
PCIE is causing asserts each time a multifunction device is added
on command line (coldplug).
This is caused by
commit a66e657e18cd9b70e9f57ae5512c07faf2bc508f
pci/pcie: convert PCIE hotplug to use hotplug-handler API
QEMU abort is caused by misplaced assertion, which should
be checked only when device is hotplugged.
Reference to regression report:
http://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg216226.html
Fixes: a66e657e18cd9b70e9f57ae5512c07faf2bc508f
Reported-By: Nigel Kukard <nkukard+qemu@xxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8e46bbf362458fc3e4638a53249248a1ee40b912
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Feb 6 11:24:33 2014 +0100
memory_region_present: return false if address is not found in child
MemoryRegion
Windows XP shows COM2 port as non functional in
"Device Manager" although no COM2 port backing device
is present in QEMU.
This regression is really due to
3bb28b7208b349e7a1b326e3c6ef9efac1d462bf?
memory: Provide separate handling of unassigned io ports accesses
That is caused by the fact that QEMU reports to
OSPM that device is present by setting 5th bit in
PII4XPM.pci_conf[0x67] register when COM2 doesn't
exist.
It happens due to memory_region_present(io_as, 0x2f8)
returning false positive since 0x2f8 address eventually
translates into catchall io_as address space.
Fix memory_region_present(parent, addr) by returning
true only if addr maps into a MemoryRegion within
parent (excluding parent itself), to match its
doc comment.
While at it fix copy/paste error in
memory_region_present() doc comment.
Note: this is a temporary hack: we really need better handling for
unassigned regions, we should avoid fallback regions since they are bad
for performance (breaking radix tree assumption that the data structure
is sparsely populated); for memory we need to fix this to implement PCI
master abort properly, anyway.
Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ddfa83ea06680e83643978f6ecf740b60f86f7c2
Author: Joel Stanley <joel@xxxxxxxxx>
Date: Tue Feb 11 10:42:02 2014 +1030
virtio-net: remove function calls from assert
peer_{de,at}tach were called from inside assert().
We don't support building without NDEBUG but it's not tidy.
Rearrange to attach peer outside assert calls.
Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6cb46e1e900a05dea1734a6cbe81c0c1ecb2f2cb
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Feb 17 06:42:11 2014 +0200
acpi-test-data: update expected files
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8dcf525abc5dff785251a881f9764dd961065c0d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 17:43:47 2014 +0200
acpi-build: append description for non-hotplug
As reported in
http://article.gmane.org/gmane.comp.emulators.qemu/253987
Mac OSX actually requires describing all occupied slots
in ACPI - even if hotplug isn't enabled.
I didn't expect this so I dropped description of all
non hotpluggable slots from ACPI.
As a result: before
commit 99fd437dee468609de8218f0eb3b16621fb6a9c9 (enable
hotplug for pci bridges), PCI cards show up in the "device tree" of OS X
(System Information). E.g., on MountainLion users have:
Hardware -> PCI Cards:
Card Type Driver Installed Slot
*ethernet Ethernet Controller Yes PCI Slot 2
pci8086,2934 USB UHC Yes PCI Slot 29
ethernet:
Type: Ethernet Controller
Driver Installed: Yes
MSI: No
Bus: PCI
Slot PCI Slot 2
Vendor ID: 0x8086
Device ID: 0x100e
Subsystem Vendor ID: 0x1af4
Subsystem ID: 0x1100
Revision ID: 0x0003
Hardware -> Ethernet Cards
ethernet:
Type: Ethernet Controller
Bus: PCI
Slot PCI Slot 2
Vendor ID: 0x8086
Device ID: 0x100e
Subsystem Vendor ID: 0x1af4
Subsystem ID: 0x1100
Revision ID: 0x0003
BSD name: en0
Kext name: AppleIntel8254XEthernet.kext
Location: /System/Library/Extensions/...
Version: 3.1.1b1
After commit 99fd437dee468609de8218f0eb3b16621fb6a9c9, users get:
Hardware -> PCI Cards:
This computer doesn't contain any PCI cards. If you installed PCI
cards, make sure they're properly installed.
Hardware -> Ethernet Cards
ethernet:
Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x8086
Device ID: 0x100e
Subsystem Vendor ID: 0x1af4
Subsystem ID: 0x1100
Revision ID: 0x0003
BSD name: en0
Kext name: AppleIntel8254XEthernet.kext
Location: /System/Library/Extensions/...
Version: 3.1.1b1
Ethernet still works, but it's not showing up on the PCI bus, and it
no longer thinks it's plugged in to slot #2, as it used to before the
change.
To fix, append description for all occupied non hotpluggable PCI slots.
One need to be careful when doing this: VGA devices
are now described in SSDT, so we need to drop description from DSDT.
And ISA devices are used in DSDT so drop them from SSDT.
Reported-by: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Also update generated dsdt and pcihp hex dump files.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8e2484389acc564521d36cb7ca459428c134e7b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 3 15:43:27 2014 -0800
tcg-aarch64: Remove nop from qemu_st slow path
Commit 023261ef851b22a04f6c5d76da870051031757a6 failed to remove a
nop that's no longer required.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 523fdc08ccc64d20e6cab1326635fb9ab864bf74
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 4 08:52:49 2014 -0800
tcg-aarch64: Simplify tcg_out_ldst_9 encoding
At first glance the code appears to be using 1's compliment encoding,
a-la AArch32. Except that the constant is "off", creating a complicated
split field 2's compliment encoding.
Much clearer to just use a normal mask and shift.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 017a86f7ad6da088927f7000c79388177d91a9ad
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 3 17:55:33 2014 -0800
tcg-aarch64: Use intptr_t apropriately
As opposed to tcg_target_long.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2e796c7621fa130011a3f794ffad9060f87b745f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 11 16:36:12 2013 -0700
tcg-aarch64: Remove the shift_imm parameter from tcg_out_cmp
It was unused. Let's not overcomplicate things before we need them.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8d8db193f257ea103700b45f2c04725711d05966
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 09:40:57 2013 -0700
tcg-aarch64: Hoist common argument loads in tcg_out_op
This reduces the code size of the function significantly.
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a51a6b6ad5876e9286498e5c068a0ffa3b57fced
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 11:13:06 2013 -0700
tcg-aarch64: Don't handle mov/movi in tcg_out_op
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f029341494a8ebff589a70bee01d0775e63845d4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 09:11:46 2013 -0700
tcg-aarch64: Set ext based on TCG_OPF_64BIT
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7763ffa017f64bf2a40dcce0cb0f3596dfca5b20
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 11:11:00 2013 -0700
tcg-aarch64: Change all ext variables to TCGType
We assert that the values for _I32 and _I64 are 0 and 1 respectively.
This will make a couple of functions declared by tcg.c cleaner.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3353d0dcc331f15dbbadfc42772d57c864017d4b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 13:36:00 2013 -0700
tcg-aarch64: Remove redundant CPU_TLB_ENTRY_BITS check
Removed from other targets in 56bbc2f967ce185fa1c5c39e1aeb5b68b26242e9.
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 82295d8a2d4dcbb99869c832c6ecb6bc4a1273a0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 3 22:53:27 2014 -0500
tcg-aarch64: Enable builtin disassembler
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 464400f6a5583eafb466595add435a3a33ea980f
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 01:33:37 2014 +0530
migration: extend section_start/end traces
This adds @idstr to savevm_section_start and savevm_section_end
tracepoints.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 4fed9421e931128bd3c86a4f1c90a5989beb88eb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 01:33:36 2014 +0530
vl: add system_wakeup_request tracepoint
It might be useful for tracing migration.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ac4df4e608e84da135eacecd7bba7c6e9e9a63b7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 7 01:33:35 2014 +0530
qemu_file: Fix mismerge of "use fwrite() correctly"
Reviewers accepted v2 of the patch, but what got committed was v1,
with the R-bys for v2. This is the v1->v2 followup fix.
[Amit:
This fixes commit aded6539d983280212e08d09f14157b1cb4d58cc
]
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit fd8cec932c2ddc687e2da954978954b46a926f90
Author: Gonglei <arei.gonglei@xxxxxxxxxx>
Date: Tue Mar 4 21:29:21 2014 +0800
XBZRLE: Fix qemu crash when resize the xbzrle cache
Resizing the xbzrle cache during migration causes qemu-crash,
because the main-thread and migration-thread modify the xbzrle
cache size concurrently without lock-protection.
Signed-off-by: ChenLiang <chenliang88@xxxxxxxxxx>
Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f53f3d0a00b6df39ce8dfca942608e5b6a9a4f71
Merge: d7c698a 993c91a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 8 12:38:43 2014 +0000
Merge remote-tracking branch 'remotes/kvaneesh/for-upstream' into staging
* remotes/kvaneesh/for-upstream:
hw/9pfs: Include virtio-9p-device.o in build
hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation
hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()
hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:"
fsdev: Fix overrun after readlink() fills buffer completely
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d7c698af8a5c7330a5ba70de0ff70904a661c20e
Merge: 6570025 4089f7c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 8 12:17:17 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches
# gpg: Signature made Fri 07 Mar 2014 13:30:04 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
block: qemu-iotests 085 - live snapshots tests
hw/ide/ahci.h: Avoid shifting left into sign bit
block: Fix error path segfault in bdrv_open()
qemu-iotests: Test a few blockdev-add error cases
blockdev: Fix NULL pointer dereference in blockdev-add
blockdev: Fail blockdev-add with encrypted images
block/raw-win32: Strip "file:" prefix on creation
block/raw-win32: Implement bdrv_parse_filename()
block/raw-posix: Strip "file:" prefix on creation
block/raw-posix: Implement bdrv_parse_filename()
block: Keep "filename" option after parsing
block: mirror - remove code cruft that has no function
block: make bdrv_swap rebuild the bs graph node list field.
block: Fix bs->request_alignment assertion for bs->sg=1
iscsi: Use bs->sg for everything else than disks
qemu-iotests: Test progress output for conversion
qemu-img convert: Fix progress output
gluster: Remove unused defines and header include
gluster: Change licence to GPLv2+
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6570025e53df25c47486d79cc8d3aea725f1744e
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Mon Jan 20 12:21:54 2014 +0100
build: Fix installation of target-dependent files
Pass all the relevant sub-directory make variables.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 20140120112153.5685.30949.stgit@xxxxxxxxxxxxxxxxx
commit 80aaa0741f207a6f6e3b234b9a5e775798e0c9de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Mar 7 22:42:08 2014 +0100
xenfb: Fix graphic_console_init() build failure
In commit 5643706a095044d75df1c0588aac553a595b972b (console: add head
to index to qemu consoles.) graphic_console_init() was extended to take
an additional argument, but xenfb was not updated accordingly. Fix it.
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Don Slutz <dslutz@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394228528-31625-1-git-send-email-afaerber@xxxxxxx
commit 6fc0303b95c873d9e384d7fb51e412ac2e53b9c1
Merge: bb2b045 47c0374
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 7 18:29:32 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-4' into
staging
Input handling rewrite.
SDL2 support.
# gpg: Signature made Wed 05 Mar 2014 11:16:08 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-4: (38 commits)
ui/sdl2 : initial port to SDL 2.0 (v2.0)
console: add QemuUIInfo
console: add head to index to qemu consoles.
input: remove index_from_keycode (no users)
input: move do_mouse_set to new core
input: move qmp_query_mice to new core
input: add input_mouse_mode tracepoint
input: move mouse mode notifier to new core
input-legacy: remove kbd_mouse_event
input-legacy: remove kbd_mouse_is_absolute
input-legacy: remove kbd_mouse_has_absolute
input-legacy: remove kbd_put_keycode
input: trace events
input: mouse: switch cocoa ui to new core
input: keyboard: switch cocoa ui to new core
input: mouse: switch monitor to new core
input: mouse: switch spice ui to new core
input: mouse: switch vnc ui to new core
input: mouse: switch sdl ui to new core
input: mouse: switch gtk ui to new core
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bb2b04503497608cdc5fa4c990d26e936f9d2102
Merge: c3f8d28 0f20ba6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 7 16:36:37 2014 +0000
Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream'
into staging
Patch queue for ppc - 2014-03-05
This pull request includes:
- VSX emulation support
- book3s pr/hv selection
- some bug fixes
- qdev stable numbering
- eTSEC emulation
# gpg: Signature made Wed 05 Mar 2014 02:14:19 GMT using RSA key ID
03FEDC60
# gpg: Can't check signature: public key not found
* remotes/agraf/tags/signed-ppc-for-upstream: (130 commits)
target-ppc: spapr: e500: fix to use cpu_dt_id
target-ppc: add PowerPCCPU::cpu_dt_id
target-ppc: Introduce hypervisor call H_GET_TCE
target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel
htab
target-ppc: Change the hpte store API
target-ppc: Fix page table lookup with kvm enabled
target-ppc: Fix htab_mask calculation
target-ppc: Use Additional Temporary in stqcx Case
target-ppc: Fix Compiler Warnings Due to 64-Bit Constants Declared as UL
PPC: sPAPR: Only use getpagesize() when we run with kvm
target-ppc/translate.c: Use ULL suffix for 64 bit constants
spapr-vlan: flush queue whenever can_receive can go from false to true
target-ppc: Altivec 2.07: Vector Permute and Exclusive OR
target-ppc: Altivec 2.07: Vector SHA Sigma Instructions
target-ppc: Altivec 2.07: AES Instructions
target-ppc: Altivec 2.07: Binary Coded Decimal Instructions
target-ppc: Altivec 2.07: Vector Polynomial Multiply Sum
target-ppc: Altivec 2.07: Vector Gather Bits by Bytes
target-ppc: Altivec 2.07: Doubleword Compares
target-ppc: Altivec 2.07: vbpermq Instruction
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c3f8d28e455bff9bde2b81bd0c9b1d437b88c159
Merge: 4c288ac 7e74946
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 7 15:58:27 2014 +0000
Merge remote-tracking branch 'remotes/cohuck/tags/virtio-ccw-20140305'
into staging
One patch introducing support for adapter interrupts in virtio-ccw.
This improves performance for those guests that issue the new
CCW_CMD_SET_IND_ADAPTER channel command.
# gpg: Signature made Wed 05 Mar 2014 08:48:18 GMT using RSA key ID
C6F02FAF
# gpg: Can't check signature: public key not found
* remotes/cohuck/tags/virtio-ccw-20140305:
s390x/virtio-ccw: Adapter interrupt support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4089f7c6a0d91020ca60ce8300784c93dd9ddcbe
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Feb 28 21:08:11 2014 -0500
block: qemu-iotests 085 - live snapshots tests
This adds tests for live snapshots, both through the single
snapshot command, and the transaction group snapshot command.
The snapshots are done through the QMP interface, using the
following commands for snapshots:
Single snapshot:
{ 'execute': 'blockdev-snapshot-sync', 'arguments':
{ 'device': 'virtio0', 'snapshot-file':'...',
'format': 'qcow2' } }"
Group snapshot:
{ 'execute': 'transaction', 'arguments':
{'actions': [
{ 'type': 'blockdev-snapshot-sync', 'data' :
{ 'device': 'virtio0', 'snapshot-file': '...' } },
{ 'type': 'blockdev-snapshot-sync', 'data' :
{ 'device': 'virtio1', 'snapshot-file': '...' } } ]
} }
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c02f88780aa611d669f73b7677aeadc1211de7e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:03:01 2014 +0000
hw/ide/ahci.h: Avoid shifting left into sign bit
Add 'U' suffixes to avoid undefined behaviour shifting left into
the signed bit of a signed integer type. Clang's sanitizer will
warn about this:
hw/ide/ahci.c:1210:27: runtime error: left shift of 1 by 31 places
cannot be represented in type 'int'
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4c288acbd6b9eccb13076103e59a426af3d15030
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 21:53:30 2014 +0000
configure: Always build with -fno-common
MacOSX doesn't pull .o files from .a archives if the symbol that it
requires is one which the .o file defines as a common symbol.
(Common symbols are those declared without "extern"; the linker
will merge together common symbols with the same name, so
redeclaring the same variable in two compilation units results in
them referring to the same symbol rather than a compilation error).
This MacOSX difference from traditional linker behaviour means that
"make check" produces link errors:
Undefined symbols for architecture x86_64:
"_cur_mon", referenced from:
_error_vprintf in libqemuutil.a(qemu-error.o)
_error_printf in libqemuutil.a(qemu-error.o)
_error_printf_unless_qmp in libqemuutil.a(qemu-error.o)
_error_print_loc in libqemuutil.a(qemu-error.o)
_error_report in libqemuutil.a(qemu-error.o)
ld: symbol(s) not found for architecture x86_64
in this case because "cur_mon" is a common symbol in
libqemustub.a(mon-set-error.o).
In QEMU we don't make any use at all of the common symbol
functionality, so we can avoid this problem entirely simply
by compiling with -fno-common. Enable this option for all
builds, not just MacOSX, so that if we ever inadvertently
introduce multiple definitions of some variable that will
be immediately spotted as a build error rather than only
breaking the MacOSX build.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1393451610-24617-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 9c83ffd859a13d840aa3f983833b6ea1e34de483
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 18:27:49 2014 +0000
configure: Make C++ test work with --enable-werror
gcc's C++ compiler complains about being passed some -W options
which make sense for C but not for C++. This means we mustn't try
a C++ compile with QEMU_CFLAGS, but only with a filtered version
that removes the offending options. This filtering was already being
done for uses of C++ in the build itself, but was omitted for the
"does C++ work?" configure test. This only showed up when doing
builds which explicitly enabled -Werror with --enable-werror,
because the "do the compilers work" tests were mistakenly placed
above the "default werror based on whether compiling from git" code.
Another error in this category is that clang warns if you ask it to
compile C++ code from a file named "foo.c". Further, because we
were running do_cc in a subshell in the condition part of an "if",
the error_exit inside do_compiler wouldn't terminate configure and
we would plunge on regardless. Fix this complex of errors:
1. Move the default-werror code up so that there are no invocations
of compile_object and friends between it and the point where we
set $werror explicitly based on the --enable-werror command line
option.
2. Provide a mechanism for filtering QEMU_CFLAGS to create
QEMU_CXXFLAGS, and use it for the test we run here.
3. Provide a do_cxx function to run a test with the C++ compiler
rather than doing cute tricks with subshells and do_cc.
4. Use a new temporary file TMPCXX for the C++ program fragment.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393352869-22257-1-git-send-email-peter.maydell@xxxxxxxxxx
Tested-by: Andreas Färber <afaerber@xxxxxxx>
commit eb909c7f72362e3c891d679f6f4eab0885fdb1c1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 16:34:46 2014 +0100
block: Fix error path segfault in bdrv_open()
Using an invalid option for a block device that is opened with
BDRV_O_PROTOCOL led to drv = NULL, and when trying to include the driver
name in the error message, qemu dereferenced it:
$ x86_64-softmmu/qemu-system-x86_64 -drive
file=/tmp/test.qcow2,file.foo=bar
Segmentation fault (core dumped)
With this patch applied, the expected error message is printed:
$ x86_64-softmmu/qemu-system-x86_64 -drive
file=/tmp/test.qcow2,file.foo=bar
qemu-system-x86_64: -drive file=/tmp/test.qcow2,file.foo=bar: could
not open disk image /tmp/test.qcow2: Block protocol 'file' doesn't
support the option 'foo'
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit c75203c8d343dc71d95144862bbb47290689c455
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 15:52:14 2014 +0100
qemu-iotests: Test a few blockdev-add error cases
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit c6e0bd9b7037937aafeb1d34ec17975a7d685bb7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 15:47:32 2014 +0100
blockdev: Fix NULL pointer dereference in blockdev-add
If aio=native, we check that cache.direct is set as well. If however
cache wasn't specified at all, qemu just segfaulted.
The old condition didn't make any sense anyway because it effectively
only checked for the default cache mode case, but not for an explicitly
set cache.direct=off mode.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8ae8e904fcba484ff7c3f8f31339b56ebd88fbad
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 15:43:42 2014 +0100
blockdev: Fail blockdev-add with encrypted images
Encrypted images need a password before they can be used, and we don't
want blockdev-add to create BDSes that aren't fully initialised. So for
now simply forbid encrypted images; we can come back to it later if we
need the functionality.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d5546c5e776ac8f6277ddfdd59df9888e7919c2f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:40 2014 +0100
block/raw-win32: Strip "file:" prefix on creation
The bdrv_create() implementation of the block/raw-win32 "file" protocol
driver should strip the "file:" prefix from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7dc74db88b1eb3cff12174d0448ecfb6cd0e2469
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:39 2014 +0100
block/raw-win32: Implement bdrv_parse_filename()
The "file" protocol driver should strip the "file:" prefix from
filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 464d9f641d5a2382bd43d10ae41355edf69338b1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:38 2014 +0100
block/raw-posix: Strip "file:" prefix on creation
The bdrv_create() implementation of the block/raw-posix "file" protocol
driver should strip the "file:" prefix from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 078896a9eeeaf7c301bbc59fc791c3331324285f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:37 2014 +0100
block/raw-posix: Implement bdrv_parse_filename()
The "file" protocol driver should strip the "file:" prefix from
filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cd5d031e75751838fb40f7b5a5f60fc15d543c55
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:36 2014 +0100
block: Keep "filename" option after parsing
Currently, bdrv_file_open() always removes the "filename" option from
the options QDict after bdrv_parse_filename() has been (successfully)
called. However, for drivers with bdrv_needs_filename, it makes more
sense for bdrv_parse_filename() to overwrite the "filename" option and
for bdrv_file_open() to fetch the filename from there.
Since there currently are no drivers that implement
bdrv_parse_filename() and have bdrv_needs_filename set, this does not
change current behavior.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 50c75136beec0180171971c88bb6e3fa3aa66463
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Mar 4 10:35:48 2014 -0500
block: mirror - remove code cruft that has no function
Originally, this built up the error message with the backing filename,
so that errp was set as follows:
error_set(errp, QERR_OPEN_FILE_FAILED, backing_filename);
However, we now propagate the local_error from the
bdrv_open_backing_file() call instead, making these 2 lines useless
code.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 90ce8a061bdcc485a56142cae68cfbfff270e634
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Wed Mar 5 23:48:29 2014 +0100
block: make bdrv_swap rebuild the bs graph node list field.
Moving only the node_name one field could lead to some inconsitencies
where a
node_name was defined on a bs which was not registered in the graph node
list.
bdrv_swap between a named node bs and a non named node bs would lead to
this.
bdrv_make_anon would then crash because it would try to remove the bs
from the
graph node list while it is not in it.
This patch remove named node bses from the graph node list before doing
the swap
then insert them back.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 47ea2de2d68b6c5319308b7de1980f463b7c125c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 5 15:49:55 2014 +0100
block: Fix bs->request_alignment assertion for bs->sg=1
For sg backends, bs->request_alignment is meaningless and may be 0.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f47c3f5a800a927238d20de9f99b5c77f0bc3fe0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 5 15:45:00 2014 +0100
iscsi: Use bs->sg for everything else than disks
The current iscsi block driver code makes the rather arbitrary decision
that TYPE_MEDIUM_CHANGER and TYPE_TAPE devices have bs->sg = 1 and all
other device types are disks.
Instead of this, check for TYPE_DISK to expose the disk interface and
make everything else bs->sg = 1. In particular, this includes devices
with TYPE_STORAGE_ARRAY, which is what LUN 0 of an iscsi target is.
(See https://bugzilla.redhat.com/show_bug.cgi?id=1067784 for the exact
scenario.)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2fa4c042bc55ec10b9ca16163697d02cddd2d768
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 3 14:53:04 2014 +0100
qemu-iotests: Test progress output for conversion
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 64bb01aa35a24bea7ad0a1a8713991bab5020d12
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 3 14:54:07 2014 +0100
qemu-img convert: Fix progress output
Initialise progress output only when the -p and -q options have already
been parsed, otherwise it's always disabled.
Reported-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b1f7d84fd2197337c0e71701b0c04174be98df77
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 29 19:59:56 2014 +0530
gluster: Remove unused defines and header include
Remove the definitions of GLUSTER_FD_WRITE and GLUSTER_FD_READ which are
no longer used. Also sockets.h isn't needed any more.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 85c09bc016076d59561449e786b7cd2138ea9446
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 29 19:59:55 2014 +0530
gluster: Change licence to GPLv2+
Pipe handling mechanism in gluster driver was based on similar
implementation
in RBD driver and hence had GPLv2 and associated copyright information.
After changing gluster driver to coroutine based implementation, the pipe
handling code no longer exists and hence change gluster driver's licence
to
GPLv2+ and remove RBD copyrights.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 47c03744b37c72b8f633b03380d5a323615b9ac4
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Tue Dec 10 14:05:51 2013 +1000
ui/sdl2 : initial port to SDL 2.0 (v2.0)
I've ported the SDL1.2 code over, and rewritten it to use the SDL2
interface.
The biggest changes were in the input handling, where SDL2 has done a
major
overhaul, and I've had to include a generated translation file to get from
SDL2 codes back to qemu compatible ones. I'm still not sure how the
keyboard
layout code works in qemu, so there may be further work if someone can
point
me a test case that works with SDL1.2 and doesn't with SDL2.
Some SDL env vars we used to set are no longer used by SDL2,
Windows, OSX support is untested,
I don't think we can link to SDL1.2 and SDL2 at the same time, so I felt
using --with-sdlabi=2.0 to select the new code should be fine, like how
gtk does it.
v1.1: fix keys in text console
v1.2: fix shutdown, cleanups a bit of code, support ARGB cursor
v2.0: merge the SDL multihead patch into this, g_new the number of
consoles
needed, wrap DCL inside per-console structure.
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
Fixes & improvements by kraxel:
* baum build fix
* remove text console logic
* adapt to new input core
* codestyle fixups
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6f90f3d786ec1ddae31535bb4be4a1120fd5dfe0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 17:38:20 2014 +0100
console: add QemuUIInfo
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5643706a095044d75df1c0588aac553a595b972b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 15:35:21 2014 +0100
console: add head to index to qemu consoles.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c07d00f1b33729b23326c57b55e71a9cd9b9310
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 10 17:30:15 2013 +0100
input: remove index_from_keycode (no users)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 70b52f62b8a94c34ccc939f374bcd00c22a8e3c4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 10 17:16:03 2013 +0100
input: move do_mouse_set to new core
This removes the last user of the lecagy input mouse handler list,
so we can remove more legacy bits with this.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e842c68d449a51ec51a0442aa0fe237d4a4b736d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 10 17:09:36 2013 +0100
input: move qmp_query_mice to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a8dfb1c34ffc17d16eebd46442be93d5e8fad44f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:24:14 2013 +0100
input: add input_mouse_mode tracepoint
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a33f45e2e4c773b47963baf5a8251963bd01e38
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:23:42 2013 +0100
input: move mouse mode notifier to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4798648e32112ce92be904bb9d53f8ad0f519c76
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:21:21 2013 +0100
input-legacy: remove kbd_mouse_event
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2d0755d21cdc4bd47a44ccbd5e3ee70ba67b20ec
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:20:39 2013 +0100
input-legacy: remove kbd_mouse_is_absolute
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 16b0ecd16837c5987ebc675ef4a0e1926491dc72
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 08:19:02 2013 +0100
input-legacy: remove kbd_mouse_has_absolute
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit faecd955ce3100992a8930a4e96c9bc5e27349ce
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 08:12:19 2013 +0100
input-legacy: remove kbd_put_keycode
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c43ce5512fad19896fc952dc769538d5c553f4c9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 15:20:05 2013 +0100
input: trace events
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 21bae11a39570bea2d7c839d01363dafdab608ce
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 14:08:04 2013 +0100
input: mouse: switch cocoa ui to new core
Build fixes by Peter Maydell.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2e08c665cccfcaa05e4a82b5a6a8865a6f42c340
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 12:53:44 2013 +0100
input: keyboard: switch cocoa ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c751a74afe07b82dbb968abd1eb45cd5163bd9f5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 15:02:28 2013 +0100
input: mouse: switch monitor to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f100db385d604d43332b2aece2db6645c4185e06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 12:46:34 2013 +0100
input: mouse: switch spice ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 14768eba46e4ecf60fd267452baf8925afd9ed09
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 15:17:45 2013 +0100
input: mouse: switch vnc ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3ab193e66262e60e0ff74ac1ab5cff04412e83cb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 12:27:40 2013 +0100
input: mouse: switch sdl ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 192f81bfcefa628d804f995449f6f03101c0195f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 12:06:04 2013 +0100
input: mouse: switch gtk ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit edd85a3d9eff57f92f3c07a51eec5452ca8a24ef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 17:41:40 2013 +0100
input: mouse: switch legacy handlers to new core
legacy mouse event handlers are registered in the new core,
so they receive events submitted to the new input core.
legacy kbd_mouse_event() continues to use the old code paths.
So new-core event handlers wouldn't see events submitted via
kbd_mouse_event.
This leads to the constrain that we we must transition all
kbd_mouse_event() users first to keep things working. But
that is easier to handle than translating legacy mouse events
into new-core mouse events ;)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 502c8db5b41bb3206ad136fa4baa753c186c9ebd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 11:31:09 2013 +0100
input: mouse: add qemu_input_is_absolute()
Same as kbd_mouse_is_absolute(), but using new input core.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d3535431e8006e8bf71229f306ea9c62d9e737e8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 11:29:33 2013 +0100
input: mouse: add graphic_rotate support
Transform absolute mouse events according to graphic_rotate.
Legacy input code does it for both absolute and relative events,
but the logic is broken for relative coordinates, so this is
most likely not used anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 43579403a3d67d6aab5ceb682dedae8fde85703c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 18:24:29 2013 +0100
input: mouse: add helpers functions to core
Likewise a bunch of helper functions to manage mouse button
and movement events, again to make life easier for the ui code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cd100328882ef6967918f3b47ddca9574bb31694
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 13:40:20 2013 +0100
input: keyboard: switch curses ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit de8f580b2360706d644296c690bb187ece6dc4c1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 12:23:54 2013 +0100
input: keyboard: switch spice ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8d447d10b74e5116ed85ce2b890301b77774ec49
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 14:27:18 2013 +0100
input: keyboard: switch vnc ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a25f545d685f44064d32889f6afa7a98631aba21
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 12:17:35 2013 +0100
input: keyboard: switch sdl ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit af98ba92ac3b417fa171736180a782f84b202cef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 11:40:27 2013 +0100
input: keyboard: switch gtk ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d2a9260335876ce9d17be0dabf0fd4ae1593de66
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 12:11:13 2013 +0100
input: keyboard: switch qmp_send_key() to new core.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9784e5793000f27cf4b506511fedf207dcf8521c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 11:59:25 2013 +0100
input: keyboard: switch legacy handlers to new core
legacy kbd event handlers are registered in the new core,
so they receive events from the new input core code.
keycode -> scancode translation needed here.
legacy kbd_put_keycode() sends events to the new core.
scancode -> keycode translation needed here.
So with this patch the new input core is fully functional
for keyboard events. New + legacy interfaces can be mixed
in any way.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6567147588fabd87c1b633cc35760d45b71b8d41
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 11:38:47 2013 +0100
input: keyboard: add helper functions to core
A bunch of helper functions to manage keyboard events,
to make life simpler for the ui code when submitting
keyboard events.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c8b405b6798e3731eb9a71fcd753745f224ce698
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 10:35:26 2013 +0100
input: add core bits of the new input layer
Register and unregister handlers.
Event dispatcher code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8b6b0c59a600d8254a409b837d5358d16e881fd0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 10:34:53 2013 +0100
input: qapi: add pause key
It's missing.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit bbd1b1cc25d551f2e0f85f4b635f4a769dbd86e4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 13 12:10:14 2013 +0100
input: qapi: add unmapped key
Simplifies building something -> QkeyCode mapping tables.
Uninitialized entries can easily identified then.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 031fa964399d3ed9090acc1378b65eee2633a5eb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 09:08:40 2013 +0100
input: qapi: define event types
Define input event types, using qapi. So we get nicely autogenerated
types for our input events. And when it comes to qmp support some day
things will be a lot easier.
Types are modeled after the linux input layer. There are separate
event types for each value. There is a sync to indicate the end
of a event group.
Mouse events are split into motion events (one for each axis) and
button events, which are grouped by sync.
Keyboard events are using the existing KeyValue type.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7ad95ff76ccc11c702ca8edcb01a95938eb7ffcd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 09:29:27 2013 +0100
input: rename file to legacy
Rename ui/input.c to ui/input-legacy.c.
We are going to replace it step by step.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4c853375508086132a72f2570e8877608ad6fe7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 09:58:18 2013 +0100
console: export QemuConsole index,width,height
Add functions to query QemuConsole properties.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7e7494627f43b26c565a132639d82de260c26cc8
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Feb 6 10:31:37 2013 +0100
s390x/virtio-ccw: Adapter interrupt support.
Handle the new CCW_CMD_SET_IND_ADAPTER command enabling adapter interrupts
on guest request. When active, host->guest notifications will be handled
via global_indicator -> queue indicators instead of queue indicators +
subchannel I/O interrupt. Indicators for virtqueues may be present at an
offset.
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 0f20ba62c35e6a779ba4ea00616192ef2abb6896
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sun Feb 2 01:45:52 2014 +1100
target-ppc: spapr: e500: fix to use cpu_dt_id
This makes use of @cpu_dt_id and related API in:
1. emulated XICS hypercall handlers as they receive fixed CPU indexes;
2. XICS-KVM to enable in-kernel XICS on right CPU;
3. device-tree renderer.
This removes @cpu_index fixup as @cpu_dt_id is used instead so QEMU
monitor
can accept command-line CPU indexes again.
This changes kvm_arch_vcpu_id() to use ppc_get_vcpu_dt_id() as at the
moment
KVM CPU id and device tree ID are calculated using the same algorithm.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0ce470cd4ca88e84e547a3b95159d23ce6be419e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sun Feb 2 01:45:51 2014 +1100
target-ppc: add PowerPCCPU::cpu_dt_id
Normally CPUState::cpu_index is used to pick the right CPU for various
operations. However default consecutive numbering does not always work
for POWERPC.
These indexes are reflected in /proc/device-tree/cpus/PowerPC,POWER7@XX
and used to call KVM VCPU's ioctls. In order to achieve this,
kvmppc_fixup_cpu() was introduced. Roughly speaking, it multiplies
cpu_index by the number of threads per core.
This approach has disadvantages such as:
1. NUMA configuration stays broken after the fixup;
2. CPU-targeted commands from the QEMU Monitor do not work properly as
CPU indexes have been fixed and there is no clear way for the user to
know what the new CPU indexes are.
This introduces a @cpu_dt_id field in the CPUPPCState struct which
is initialized from @cpu_index by default and can be fixed later
to meet the device tree requirements.
This adds an API to handle @cpu_dt_id.
This removes kvmppc_fixup_cpu() as it is not more needed, @cpu_dt_id
is calculated in ppc_cpu_realize().
This will be used later in machine code.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a0fcac9c21dcbf481eeb5573a738f55023f5a953
Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
Date: Fri Feb 21 10:29:06 2014 +0100
target-ppc: Introduce hypervisor call H_GET_TCE
This patch introduces the hypervisor call H_GET_TCE which is basically the
reverse of H_PUT_TCE, as defined in the Power Architecture Platform
Requirements (PAPR).
The hcall H_GET_TCE is required by the kdump kernel which is calling it to
retrieve the TCE set up by the panicing kernel.
Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c1385933804bb432a53d7a49836250d61b6e48bd
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:38 2014 +0100
target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel
htab
This support updating htab managed by the hypervisor. Currently we don't
have
any user for this feature. This actually bring the store_hpte interface
in-line with the load_hpte one. We may want to use this when we want to
emulate henter hcall in qemu for HV kvm.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ folded fix for the "warn_unused_result" build break in
kvmppc_hash64_write_pte(), Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3f94170be35e3d15d63498e9f0beeee6775be47d
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:31 2014 +0100
target-ppc: Change the hpte store API
For updating in kernel htab we need to provide both pte0 and pte1, hence
update
the interface to take pte0 and pte1 together
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ ldq_phys() API change, Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7c43bca004afdb2a86c20ab3131ec1eb7a78d80d
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:24 2014 +0100
target-ppc: Fix page table lookup with kvm enabled
With kvm enabled, we store the hash page table information in the
hypervisor.
Use ioctl to read the htab contents. Without this we get the below error
when
trying to read the guest address
(gdb) x/10 do_fork
0xc000000000098660 <do_fork>: Cannot access memory at address
0xc000000000098660
(gdb)
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ fixes for 32 bit build (casts!), ldq_phys() API change,
Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f3c75d42adbba553eaf218a832d4fbea32c8f7b8
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:17 2014 +0100
target-ppc: Fix htab_mask calculation
Correctly update the htab_mask using the return value of
KVM_PPC_ALLOCATE_HTAB ioctl. Also we don't update sdr1
on GET_SREGS for HV. We check for external htab and if
found true, we don't need to update sdr1
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ fixed pte group offset computation in ppc_hash64_htab_lookup() that
caused TCG to fail, Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3707cd62db79ba965a211b9e2bb808792ae7343a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 24 08:16:16 2014 -0600
target-ppc: Use Additional Temporary in stqcx Case
Per Alex Graf's suggestion, the recently added case to
gen_conditional_store
for stqcx should use an additional temporary when accessing the second
doubleword. This avoids the mutation of the EA argument to the function,
which is counter intuitive.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7dff9abe639e5baa6faa78267cc10726504b8de5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 24 08:12:13 2014 -0600
target-ppc: Fix Compiler Warnings Due to 64-Bit Constants Declared as UL
This patch fixes 64 bit constants that were erroneously declared as "ul"
instead of
"ull". The preferred form "ULL" is used.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3c3b0ddefac9255f29f5e5c2eb346d0a27e6d022
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Feb 21 10:38:51 2014 +0100
PPC: sPAPR: Only use getpagesize() when we run with kvm
We currently size the msi window trap page according to the host's page
size so that we poke a working hole into a memory slot in case we overlap.
However, this is only ever necessary with KVM active. Without KVM, we
should
rather try to be host platform agnostic and use a constant size: 4k.
This fixes a build breakage on win32 hosts.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e5d7d2b0f55a3b90965044a0ea77e30700a5e136
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 19:47:27 2014 +0000
target-ppc/translate.c: Use ULL suffix for 64 bit constants
64 bit constants need the "ULL" suffix, not just "UL", because
on 32 bit platforms 'long' is not large enough and this will
cause a compiler warning.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Feb 14 12:27:04 2014 +1100
spapr-vlan: flush queue whenever can_receive can go from false to true
When the guests adds buffers to receive queue, the network device
should flush its queue of pending packets. This is done with
qemu_flush_queued_packets.
This adds a call to qemu_flush_queued_packets() which wakes up the main
loop and let QEMU update the network device status which now is "can
receive". The patch basically does the same thing as e8b4c68 does.
Suggested-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ac174549b730531a4d13c8281e2247e66ba0f46d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:19 2014 -0600
target-ppc: Altivec 2.07: Vector Permute and Exclusive OR
This patch adds the Vector Permuate and Exclusive OR (vpermxor)
instruction introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 57354f8f12d04efc3c38126b967fc178b56885f5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:18 2014 -0600
target-ppc: Altivec 2.07: Vector SHA Sigma Instructions
This patch adds the Vector SHA Sigma instructions introduced in Power
ISA Version 2.07:
- Vector SHA-512 Sigma Doubleword (vshasigmad)
- Vector SHA-256 Sigma Word (vshasigmaw)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 557d52fa697c938aeff2784b79df55952c3bfcc1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:17 2014 -0600
target-ppc: Altivec 2.07: AES Instructions
This patch adds the Vector AES instructions introduced in Power ISA
Version 2.07:
- Vector AES Cipher (vcipher)
- Vector AES Cipher Last (vcipherlast)
- Vector AES Inverse Cipher (vncipher)
- Vector AES Inverse Cipher Last (vncipherlast)
- Vector AES SubBytes (vsbox)
Note that the implementation of vncipher deviates from the RTL in
ISA V2.07. However it does match the verbal description in the
third paragraph. The RTL will be fixed in ISA V2.07B. The
implementation here has been tested against actual P8 hardware.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e8f7b27b9942d02ece7df34ae2b2a09cb9da7196
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:16 2014 -0600
target-ppc: Altivec 2.07: Binary Coded Decimal Instructions
This patch add the Binary Coded Decimal instructions bcdadd. and
bcdsub.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b8476fc7c6e205f0dc9fff3cfa199eee8af0fa27
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:15 2014 -0600
target-ppc: Altivec 2.07: Vector Polynomial Multiply Sum
This patch adds the Vectory Polynomial Multiply Sum instructions
introduced in Power ISA Version 2.07:
- Vectory Polynomial Multiply Sum Byte (vpmsumb)
- Vectory Polynomial Multiply Sum Halfword (vpmsumh)
- Vectory Polynomial Multiply Sum Word (vpmsumw)
- Vectory Polynomial Multiply Sum Doubleword (vpmsumd)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f1064f612c9783136f2c59b94a4a8da70d3a09e3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:14 2014 -0600
target-ppc: Altivec 2.07: Vector Gather Bits by Bytes
This patch adds the Vector Gather Bits by Bytes Doubleword (vgbbd)
instruction which is introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6f3dab41fb9ecf1caf9779644e4267af6570dd71
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:13 2014 -0600
target-ppc: Altivec 2.07: Doubleword Compares
This patch adds the Vector Compare Doubleword instructions introduced
by Power ISA Version 2.07:
- Vector Compare Equal to Unsigned Doubleword (vcmpequd)
- Vector Compare Greater Than Signed Doubleword (vcmpgtsd)
- Vector Compare Greater Than Unsigned Doubleword (vcmpgtud)
These instructions are encoded with bit 31 set to 1 and so are duals with
vcmpeqfp, vcmpgtfp and vcmpbfp respectively.
The helper macro for integer compares is enhanced to account for 64-bit
operands.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4d82038e4198cdb8aacdf1d605c69cef29748761
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:12 2014 -0600
target-ppc: Altivec 2.07: vbpermq Instruction
This patch adds the Vector Bit Permute Quadword (vbpermq) instruction
introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b41da4ebb2658c4abaaab01e64b9d0bb67dba003
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:11 2014 -0600
target-ppc: Altivec 2.07: Quadword Addition and Subtracation
This patch adds the Vector Quadword Addition and Subtraction instructions
introduced in Power ISA Version 2.07:
- Vector Add Unsigned Quadword Modulo (vadduqm)
- Vector Add & Write Carry Unsigned Quadword (vaddcuq)
- Vector Add Extended Unsigned Quadword (vaddeuqm)
- Vector Add Extended & Write Carry Unsigned Quadword (vaddecuq)
- Vector Subtract Unsigned Quadword Modulo (vsubuqm)
- Vector Subtract & Write Carry Unsigned Quadword (vsubcuq)
- Vector Subtract Extended Unsigned Quadword (vsubeuqm)
- Vector Subtract Extended & Write Carry Unsigned Quadword (vsubecuq)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2fdf78e649b81a14e2c65770fdb0ac3e656a35c5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:10 2014 -0600
target-ppc: Altivec 2.07: Vector Doubleword Rotate and Shift Instructions
This patch adds the vector doublword rotate and shift instructions
introduced in Power ISA Version 2.07:
- Vector Rotate Left Doubleword instruction (vrld)
- Vector Shift Left Doubleword (vsld)
- Vector Shift Right Doubleword (vsrd)
- Vector Shift Right Algegbraic Doubleword (vsrad)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 818692ff95f143e640b44726da59646ea7fbcc23
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:09 2014 -0600
target-ppc: Altivec 2.07: Change Bit Masks to Support 64-bit Rotates and
Shifts
Existing code in the VROTATE, VSL and VSR macros for the Altivec rotate
and shift
helpers uses a formula to compute a bit mask used to extract the
rotate/shift
amount from the VRB register. What is desired is:
mask = (1 << (3 + log2(sizeof(element)))) - 1
but what is implemented is:
mask = (1 << (3 + (sizeof(element)/2))) - 1
This produces correct answers when "element" is uint8_t, uint16_t or
uint_32t. But
it breaks down when element is uint64_t.
This patch corrects the situation. Since the mask is known at compile
time, the
macros are changed to simply accept the mask as an argument.
Subsequent patches in this series will add double-word variants of
rotates and
shifts and thus take advantage of this fix.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0ffe77f275e62a57eceda4c7fbb26e499e9ed86
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:08 2014 -0600
target-ppc: Altivec 2.07: Vector Merge Instructions
This patch adds the Vector Merge Even Word (vmrgew) and Vector
Merge Odd Word (vmrgow) instructions introduced in Power ISA
Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4430e076632bc904e041914e410c51d2a9a43a99
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:07 2014 -0600
target-ppc: Altivec 2.07: Unpack Signed Word Instructions
This patch adds the Unpack Signed Word instructions introduced in
Power ISA Version 2.07:
- Vector Unpack High Signed Word (vupkusw)
- Vector Unpack Low Signed Word (vupklsw)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 024215b24210e7c7cbe129279ea94031dd55c791
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:06 2014 -0600
target-ppc: Altivec 2.07: Pack Doubleword Instructions
This patch adds the Vector Pack Doubleword instructions introduced in
Power ISA Version 2.07:
- Vector Pack Signed Doubleword Signed Saturate (vpksdss)
- Vector Pack Signed Doubleword Unsigned Saturate (vpksdus)
- Vector Pack Unsigned Doubleword Unsigned Modulo (vpkudum)
- Vector Pack Unsigned Doubleword Unsigned Saturate (vpkudus)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8203e31b547d38a8ec0ce04fe19e6cefe75b4391
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:05 2014 -0600
target-ppc: Altivec 2.07: Vector Min/Max Doubleword Instructions
This patch adds the Vector Minimum and Maximum Doubleword instructions
that are introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e13500b3c36533e22842bac28f40b2c86ded8c0c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:04 2014 -0600
target-ppc: Altivec 2.07: Vector Population Count Instructions
This patch adds the Vector Population Count instructions introduced in
Power
ISA Version 2.07: vpopcntb, vpopcnth, vpopcntw and vpopcntd.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f293f04ab5301f688ce7c9fe3006a787611c2485
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:03 2014 -0600
target-ppc: Altivec 2.07: Add Vector Count Leading Zeroes
This patch adds the Vector Count Leading Zeroes instructions introduced
in Power ISA Version 2.07 - vclzb, vclzh, vclzw and vclzd.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 953f0f5842a8515fd85ae28ebcdc219f8e7b76fe
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:02 2014 -0600
target-ppc: Altivec 2.07: vmuluw Instruction
This patch adds the Vector Multiply Unsigned Word Modulo (vmuluwm)
instruction.
The existing VARITH_DO macro is re-used to (trivially) instantiate
the helper code.
Since bits 21-31 of any vmuluwm instruction is 137, the instruction
is coded as a dual to vmulouw (bits 21-31 = 136).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 63be09365a9a4658060e85ce013cc0beaeac25e5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:01 2014 -0600
target-ppc: Altivec 2.07: Multiply Even/Odd Word Instructions
This patch adds the Multilpy Even/Odd Word instructions that are
introduced
in Power ISA Version 2.07:
- Vector Multiply Even Unsigned Word (vmuleuw)
- Vector Multiply Even Signed Word (vmulesw)
- Vector Multiply Odd Unsigned Word (vmulouw)
- Vector Multiply Odd Signed Word (vmulosw)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit aa9e930c8870d06a20b356785d3ec7d9a942a29f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:00 2014 -0600
target-ppc: Altivec 2.07: Change VMUL_DO to Support 64-bit Integers
This VMUL_DO macro provides support for the various vmule* and vmulo*
instructions. These instructions multiply vector elements, producing
products that are one size larger; e.g. vmuleub multiplies unsigned 8-bit
elements and produces a 16 bit unsigned element.
The existing macro works correctly for the existing instructions (8-bit,
and 16-bit source elements) but does not work correctly for 32-bit
source elements.
This patch adds an explicit cast to the multiplicands, forcing them to be
of the target element type. This is required for the forthcoming patches
that add the vmul[eo][us]w instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 56eabc750862b985a6ddfc3905b534576eeee33e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:59 2014 -0600
target-ppc: Altivec 2.07: Add/Subtract Unsigned Doubleword Modulo
This patch adds two Altivec unsigned doublword modulo instructions that
are introduced in Power ISA Version V2.07:
- vaddudm : Vector Add Unsigned Doubleword Modulo
- vsubudm : Vector Subtrace Unsigned Doubleword Modulo
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 111c5f54a1fda35ff3a35d5cb62cd5f0f3e9d5b2
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:58 2014 -0600
target-ppc: Altivec 2.07: Vector Logical Instructions
This patch adds the Vector Logical Instructions that are introduced
in Power ISA Version 2.07: veqv, vnand and vorc.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a737d3ebc8ece5728c2d98b725652b7a0056d593
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:57 2014 -0600
target-ppc: Altivec 2.07: Add Support for R-Form Dual Instructions
Some Alitvec instructions introduced in Power ISA Version 2.07 use bit 31
(aka the "Rc" bit) as an opcode but also use bit 21 as an actual Rc
bit. QEMU for PowerPC typically uses bits 0-5 and 21-30 for opcodes.
This patch introduces a generator macro that injects an auxiliary handler
which decodes both bits 21 and 31 and invokes one of four standard
handlers. Since the instructions are not, in general, from the same
version
of the ISA, two sets of PPC_*/PPC2_* flags are supported.
This patch also introduces a macro to insert two entries into the opcode
table -- one for bit 21 equal to 0 and one for bit 21 equal to 1.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 50f5fc0cf24fbc12434a5ad6e3784341f92e23bd
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:56 2014 -0600
target-ppc: Altivec 2.07: Add Opcode Macro for VX Form Instructions
This patch adds a macro to insert an entry into the opcode table for
Altivec
Power ISA Version 2.07 instructions. The macro is similar to the
GEN_VXFORM macro
except that it tags the entry with the PPC2_ALTIVEC_207 flag rather than
PPC_ALTIVEC.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5dffff5a4746075a4609366440c2c67983eec106
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:55 2014 -0600
target-ppc: Altivec 2.07: Add Support for Dual Altivec Instructions
Some Alitvec instructions introduced in Power ISA Version 2.07 use bit 31
(aka the "Rc" bit) as an opcode bit. However, QEMU for PowerPC uses
bits 0-5 and 21-30 for opcodes and not bit 31.
This patch introduces macros that will handle this situation by injecting
an auxiliary handler which decodes bit 31 in invokes one of two standard
handlers. Since the instructions are not, in general, from the same
version
of the ISA, two sets of PPC_*/PPC2_* instruction tags are supported.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9b47bb490c1b272c16b8f5e216b74456a3e17322
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:54 2014 -0600
target-ppc: Altivec 2.07: Add GEN_VXFORM3
This patch adds generator macro for Altivec instructions that have 3
source AVR operands. The macro is similar to the 2 operand form.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb5275338daf1b64bf9677e0361057cfa6ff6a7d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:53 2014 -0600
target-ppc: Altivec 2.07: Update AVR Structure
This patch updates the ppc_avr_t data structure to include elements for
signed 64-bit integers and (conditionally) unsigned 128 bit integers.
These elements will be in instructions models later on in this patch
series.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 32ea54ab5fe18954e05f33a5825ba088d6cd4163
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:52 2014 -0600
target-ppc: Altivec 2.07: Add Instruction Flag
This patch adds a flag that will be used to tag the Altivec instructions
introduced in Power ISA Version 2.07.
The flag is added to Power8 model since P8 supports these instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 27b95bfe624af1ddfaf63c07f3f0a63049b8c9fc
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:27:01 2014 -0600
target-ppc: Add Store Quadword Conditional
This patch adds the Store Quadword Conditionl (stqcx.) instruction
which is introduced in Power ISA 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
[agraf: fix compile error when !TARGET_PPC64]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9c294d5ab3eac0e600fa510becfa677d87b088bf
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:27:00 2014 -0600
target-ppc: Add Load Quadword and Reserve
This patch adds the Load Quadword and Reserve (lqarx) instruction,
which is new in Power ISA 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 84cab1e2f5be3ea6eaa65c9fc0422fb992946ce0
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:59 2014 -0600
target-ppc: Store Quadword
This patch adds support for the Store Quadword instruction in user mode.
Prior
to Power ISA 2.07, stq was legal only in privileged mode. Support for
Little
Endian mode is also new in ISA 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0498daab50d42f3948fc5607683c971fe9416fd
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:58 2014 -0600
target-ppc: Load Quadword
This patch adds the Book I (user space) Load Quadword (lq) instruction.
This instruction was introduced into Book I in Power ISA V2.07. Previous
versions of the architecture supported this as a privileged instruction.
Previous versions of the architecture also did not support Little Endian
mode.
Note that this patch also adds the PPC_64BX flag to the Power8 model,
which enables the lq instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 71a8c019c445377f0dd04881cbd7c7dfb6ff3e5c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:57 2014 -0600
target-ppc: Add is_user_mode Utility Routine
This patch adds a boolean function is_user_mode that can be re-used
in translation code that is sensitive to the MSR[PR] (user-mode)
state.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38a853375e63ea7315e138d7016ed387d744e43d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:56 2014 -0600
target-ppc: Add Flag for ISA 2.07 Load/Store Quadword Instructions
This patch adds a flag to identify the load/store quadword instructions
that are introduced with Power ISA 2.07.
The flag is added to the Power8 model since P8 supports these
instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 52a4984d97a942f35debb1887cb53d7f09bf1e26
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:55 2014 -0600
target-ppc: Add bctar Instruction
This patch adds the Branch Conditional to Address Register (bctar)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 60511041d6b846c9b6804a2c552ceda27d4e1f06
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:54 2014 -0600
target-ppc: Add Target Address SPR (TAR) to Power8
This patch adds support for the Target Address Register (TAR) to the
Power8
model.
Because supported SPRs are typically identified in an init_proc_*()
function and because the Power8 model is currently just using the
init_proc_POWER7() function, a new init_proc_POWER8() function
is added and plugged into the P8 model.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 94840e0700a3cbd0b0d99ae9ddecf47b4bbcc5d7
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:53 2014 -0600
target-ppc: Add Flag for bctar
This patch adds a flag for the bctar instruction. This instruction
is being introduced via Power ISA 2.07.
Also, the flag is added to the Power8 machine model since the P8
processor supports this instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f5bc1bfa35af5288fe43f459696e712474dafc66
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:25:09 2014 -0600
target-ppc: Fix xxpermdi When T==A or T==B
The existing implementation of xxpermdi is defective if the target
VSR is also a source VSR. This patch fixes the defect in this case
but also preserves the simpler, two TCG operation implementation
when the target is not once of the two sources.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3f34cf910cbc4e77d25a300d8c290ae50bdcc2ed
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Thu Feb 20 14:20:35 2014 +0100
target-ppc: add extended opcodes for dcbt/dcbtst
The latest glibc provides a memrchr routine using an extended opcode
of the 'dcbt' instruction :
00000000000a7cc0 <memrchr>:
a7cc0: 11 00 4c 3c addis r2,r12,17
a7cc4: b8 f8 42 38 addi r2,r2,-1864
a7cc8: 14 2a e3 7c add r7,r3,r5
a7ccc: d0 00 07 7c neg r0,r7
a7cd0: ff ff e7 38 addi r7,r7,-1
a7cd4: 78 1b 6a 7c mr r10,r3
a7cd8: 24 06 e6 78 rldicr r6,r7,0,56
a7cdc: 60 00 20 39 li r9,96
a7ce0: 2c 32 09 7e dcbtt r9,r6
....
which breaks grep, and other commands, in TCG mode :
invalid bits: 02000000 for opcode: 1f - 16 - 08 (7e09322c)
00003fff799feca0
This patch adds the extended opcodes for dcbt/dcbtst as no-ops just
like the 'dcbt' instruction.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 61de36761b565a4138d8ad7ec75489ab28fe84b6
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Feb 6 16:08:15 2014 +0100
qdev: Keep global allocation counter per bus
When we have 2 separate qdev devices that both create a qbus of the
same type without specifying a bus name or device name, we end up
with two buses of the same name, such as ide.0 on the Mac machines:
dev: macio-ide, id ""
bus: ide.0
type IDE
dev: macio-ide, id ""
bus: ide.0
type IDE
If we now spawn a device that connects to a ide.0 the last created
bus gets the device, with the first created bus inaccessible to the
command line.
After some discussion on IRC we concluded that the best quick fix way
forward for this is to make automated bus-class type based allocation
count a global counter. That's what this patch implements. With this
we instead get
dev: macio-ide, id ""
bus: ide.1
type IDE
dev: macio-ide, id ""
bus: ide.0
type IDE
on the example mentioned above.
This also means that if you did -device ...,bus=ide.0 you got a device
on the first bus (the last created one) before this patch and get that
device on the second one (the first created one) now. Breaks
migration unless you change bus=ide.0 to bus=ide.1 on the destination.
This is intended and makes the bus enumeration work as expected.
As per review request follows a list of otherwise affected boards and
the reasoning for the conclusion that they are ok:
target machine bus id times
------ ------- ------ -----
aarch64 n800 i2c-bus.0 2
aarch64 n810 i2c-bus.0 2
arm n800 i2c-bus.0 2
arm n810 i2c-bus.0 2
-> Devices are only created explicitly on one of the two buses, using
s->mpu->i2c[0], so no change to the guest.
aarch64 vexpress-a15 virtio-mmio-bus.0 4
aarch64 vexpress-a9 virtio-mmio-bus.0 4
aarch64 virt virtio-mmio-bus.0 32
arm vexpress-a15 virtio-mmio-bus.0 4
arm vexpress-a9 virtio-mmio-bus.0 4
arm virt virtio-mmio-bus.0 32
-> Makes -device bus= work for all virtio-mmio buses. Breaks
migration. Workaround for migration from old to new: specify
virtio-mmio-bus.4 or .32 respectively rather than .0 on the
destination.
aarch64 xilinx-zynq-a9 usb-bus.0 2
arm xilinx-zynq-a9 usb-bus.0 2
mips64el fulong2e usb-bus.0 2
-> Normal USB operation not affected. Migration driver needs command
line to use the other bus.
i386 isapc ide.0 2
x86_64 isapc ide.0 2
mips mips ide.0 2
mips64 mips ide.0 2
mips64el mips ide.0 2
mipsel mips ide.0 2
ppc g3beige ide.0 2
ppc mac99 ide.0 2
ppc prep ide.0 2
ppc64 g3beige ide.0 2
ppc64 mac99 ide.0 2
ppc64 prep ide.0 2
-> Makes -device bus= work for all IDE buses. Breaks migration.
Workaround for migration from old to new: specify ide.1 rather than
ide.0 on the destination.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5736245c80bb277f3de7f37d9482c906743612ad
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 28 13:29:59 2014 +0530
target-ppc: Update external_htab even when HTAB is managed by kernel
We will use this in later patches to make sure we use the right load
functions when copying hpte entries.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3b66da82cebf3ddd1c2e06233c647369f617a6bc
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:19 2014 +1100
spapr: print more detailed error message on failed load_elf()
This makes use of new error codes which load_elf() can return and
prints more informative error message.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 18674b26788a9e47f1157170234e32ece2044367
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:18 2014 +1100
elf-loader: add more return codes
The existing load_elf() just returns -1 if it fails to load ELF. However
it could be smarter than this and tell more about the failure such as
wrong endianness or incompatible platform.
This adds additional return codes for wrong architecture, wrong
endianness and if the image is not ELF at all.
This adds a load_elf_strerror() helper to convert return codes into
string messages.
This fixes handling of what load_elf() returns for s390x, other
callers just check the return value for <0 and this remains unchanged.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a2331d12ee7ca9fbcf2a3c22109513ca561a51e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:17 2014 +1100
moxie: fix load_elf() usage
At the moment in the case of error, load_elf() returns -1 so load_kernel()
will not signal error at all.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 133e70ee8831992e309f74c20084bc50e3bcf8e0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:16 2014 +1100
spapr: support only ELF kernel images
Currently everybody uses ELF kernel images with "-kernel" option on
pseries machine but QEMU still tries to boot from an image even it
fails to recognize it is ELF. This produces undefined behaviour if
the user tries a kernel image compiled for another architecture.
This removes support of raw kernel images.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eb1e7c3e514665bb948357ef39845efd9af29de1
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Wed Feb 5 14:59:28 2014 +0100
Add Enhanced Three-Speed Ethernet Controller (eTSEC)
This implementation doesn't include ring priority, TCP/IP Off-Load, QoS.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b36f100e17c8e2e737b48d78c9049b96752e4adf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:12:34 2014 +1100
PPC: KVM: suppress warnings about not supported SPRs
PR KVM lacks support of many SPRs in set/get one register API but it does
really break PR KVM. So convert them to switchable traces for now.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0658aa9cbacdfd40fffd23bfd6608870d12602c1
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Mon Feb 3 15:20:20 2014 +0000
virtex_ml507: Add support for loading initrd images
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
[agraf: fix up stray quotes and newlines in strings]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 69b31b907b1114b4ee24faa00582fd5ecaaccf5c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 31 13:24:00 2014 +1100
PPC: KVM: store SLB slot number
When ppc_store_slb() is called from kvm_arch_get_registers(), it stores
a SLB in CPUPPCState::slb[slot]. However it drops the slot number from
ESID so when kvm_arch_put_registers() puts SLBs back to KVM, they do not
have correct "index" field anymore. This broke migration with LPCR_AIR
enabled as now the guest is handling interrupts in virtual mode and unable
to reconstruct correct SLBs anymore.
This adds "index" field for valid SLBs when putting them to KVM.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 66c3e32841f185243efa59381ab7721b24deca35
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:10 2014 -0600
target-ppc: Add ISA2.06 lfiwzx Instruction
This patch adds the Load Floating Point as Integer Word and
Zero Indexed (lfiwzx) instruction which was introduced in
Power ISA 2.06.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ce8ca30b398fb74e522be1a9ea87aa7868f27428
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:09 2014 -0600
target-ppc: Enable frsqrtes on Power7 and Power8
The frsqrtes instruction was introduced prior to ISA 2.06 and is
support on both the Power7 and Power8 processors. However, this
instruction is handled as illegal in the current QEMU emulation
machines. This patch enables the existing implemention of frsqrtes
in the P7 and P8 machines.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d41d146c92e99e21ef267be4c4b9893940e0838
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:08 2014 -0600
target-ppc: Add ISA 2.06 ftsqrt
This patch adds the Floating Point Test for Square Root instruction
which was introduced in Power ISA 2.06.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit da29cb7bc7b62c14a69a104f91867edf9ce88543
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:07 2014 -0600
target-ppc: Add ISA 2.06 ftdiv Instruction
This patch adds the Floating Point Test for Divide instruction which
was introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 29a0e4e9a1adfaf8864cfb7a79e5bb0f28aac282
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:06 2014 -0600
target-ppc: Add Flag for Power ISA V2.06 Floating Point Test Instructions
This patch adds a flag for Floating Point Test instructions that were
introduced in Power ISA V2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c73860803f8f8f56ee01b6e796507bfb4ea073ec
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:05 2014 -0600
target-ppc: Fix and enable fri[mnpz]
The fri* series of instructions was introduced prior to ISA 2.06 and
is supported on Power7 and Power8 hardware. However, the instruction
is still considered illegal in the P7 and P8 QEMU emulation models.
This patch enables these instructions for the P7 and P8 machines.
Also, the existing helper is modified to correctly handle some of
the boundary cases (NaNs and the inexact flag).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 28288b48a83e903198ee22d8558c43b021e39a17
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:00 2014 -0600
target-ppc: Add ISA 2.06 fcfid[u][s] Instructions
This patch adds the fcfids, fcfidu and fcfidus instructions which
were introduced in Power ISA 2.06B. A common macro is provided to
eliminate repetitious code, and the existing fcfid instruction is
refactored to use this macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fab7fe426fa5325f93c931ffbe25f4e024b1ced4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:59 2014 -0600
target-ppc: Add ISA2.06 Float to Integer Instructions
This patch adds the four floating point to integer conversion instructions
introduced by Power ISA V2.06:
- Floating Convert to Integer Word Unsigned (fctiwu)
- Floating Convert to Integer Word Unsigned with Round Toward
Zero (fctiwuz)
- Floating Convert to Integer Doubleword Unsigned (fctidu)
- Floating Convert to Integer Doubleword Unsigned with Round
Toward Zero (fctiduz)
A common macro is developed to eliminate repetitious code. Existing
instructions
are also refactoried to use this macro (fctiw, fctiwz, fctid, fctidz).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1b0bd0029f16649a7f3d8ba021191bc6ca3a471f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:58 2014 -0600
target-ppc: Add Flag for ISA V2.06 Floating Point Conversion
This patch adds a flag for the floating point conversion instructions
introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 587c51f74bcf2f9aa03b7d8e1cff229f74d02860
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:57 2014 -0600
target-ppc: Add ISA 2.06 stbcx. and sthcx. Instructions
This patch adds the byte and halfword variants of the Store Conditional
instructions. A common macro is introduced and the existing
implementations
of stwcx. and stdcx. are refactored to use this macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5c77a786e21e9dc12efc0f0590221e67dd5143da
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:56 2014 -0600
target-ppc: Add ISA2.06 lbarx, lharx Instructions
This patch adds the byte and halfword variants of the Load and
Reserve instructions. Since there is much commonality among
all forms of Load and Reserve, a macro is provided and the existing
implementations of lwarx and ldarx are refactoried to use this
macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1fa6c533047b4447cef693a1f54babc6a69fe19d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:55 2014 -0600
target-ppc: Add Flag for ISA2.06 Atomic Instructions
This patch adds a flag for the atomic instructions introduced
in Power ISA V2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a98eb9e99df4c11966fcd56cbcb6f06e6f413a89
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:54 2014 -0600
target-ppc: Add ISA 2.06 divwe[o] Instructions
This patch addes the signed Divide Word Extended instructions
which were introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a4fda3358ca5a21e17d553074f74d512745c4f6
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:53 2014 -0600
target-ppc: Add ISA 2.06 divweu[o] Instructions
This patch addes the Unsigned Divide Word Extended instructions
which were introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e44259b6d4f4de69a868510a198b2696f24118a1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:52 2014 -0600
target-ppc: Add ISA2.06 divde[o] Instructions
This patch adds the Divide Doubleword Extended instructions.
The implementation builds on the unsigned helper provided in
the previous patch.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 98d1eb2748e84f9e3118d1bd2495f0cc917ac18d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:51 2014 -0600
target-ppc: Add ISA2.06 divdeu[o] Instructions
This patch adds the Divide Doubleword Extended Unsigned
instructions. This instruction requires dividing a 128-bit
value by a 64 bit value. Since 128 bit integer division is
not supported in TCG, a helper is used. An architecture
independent 128-bit division routine is added to host-utils.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
[agraf: use ||]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a824bc191a90d86980a9ed090cb1d1219faaf8e7
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:50 2014 -0600
target-ppc: Add Flag for ISA2.06 Divide Extended Instructions
This patch adds a flag for the Divide Extended instructions that
were introduced in Power ISA V2.06B. The flag is added to the
Power7 and Power8 models.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 86ba37edcb6556b124840f04d180a34ffcc71086
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:49 2014 -0600
target-ppc: Add ISA2.06 bpermd Instruction
This patch adds the Bit Permute Doubleword (bpermd) instruction,
which was introduced in Power ISA 2.06 as part of the base 64-bit
architecture.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7ee19fb9d682689d36c849576c808cf92e3bae40
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:45 2014 -0600
target-ppc: Scalar Non-Signalling Conversions
This patch adds the non-signalling scalar conversion instructions:
- VSX Scalar Convert Single Precision to Double Precision
Non-Signalling (xscvspdpn)
- VSX Scalar Convert Double Precision to Single Precision
Non-Signalling (xscvdpspn)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3d1140bf3e73e4fd244914bdf2867fe634759c71
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:44 2014 -0600
target-ppc: Scalar Round to Single Precision
This patch adds the VSX Scalar Round to Single Precision (xsrsp)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 097ec5d850df7dd1da87220726ce87a6ab3566c4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:43 2014 -0600
target-ppc: Floating Merge Word Instructions
This patch adds the Floating Merge Even Word (fmrgew) and Floating
Merge Odd Word (fmrgow) instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f5c0f7f981333da59cc35c3210d05ec1775c97c1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:42 2014 -0600
target-ppc: Move To/From VSR Instructions
This patch adds the Move To VSR instructions (mfvsrd, mfvsrwz)
and Move From VSR instructions (mtvsrd, mtvsrwa, mtvsrwz). These
instructions are unusual in that they are considered a floating
point instruction if the indexed VSR is in the first half of the
array (0-31) but they are considered vector instructions if the
indexed VSR is in the second half of the array (32-63).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 67a33f37277e29355239c7cb80af14f914f201f3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:41 2014 -0600
target-ppc: VSX Stage 4: Add xxleqv, xxlnand and xxlorc
This patchs adds the VSX Logical instructions that are new with
ISA V2.07:
- VSX Logical Equivalence (xxleqv)
- VSX Logical NAND (xxlnand)
- VSX Logical ORC (xxlorc)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 74698350ca1bc95eda751f8c5a93268f20f7214e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:40 2014 -0600
target-ppc: VSX Stage 4: Add xscvsxdsp and xscvuxdsp
This patch adds the VSX Scalar Convert Unsigned Integer Doubleword
to Floating Point Format and Round to Single Precision (xscvuxdsp)
and VSX Scalar Convert Signed Integer Douglbeword to Floating Point
Format and Round to Single Precision (xscvsxdsp) instructions.
The existing integer to floating point conversion macro
(VSX_CVT_INT_TO_FP)
is modified to support the rounding of the intermediate floating point
result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f53f81e08bd0192121c4e0c3f1fdc53832631b4b
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:39 2014 -0600
target-ppc: VSX Stage 4: Add Scalar SP Fused Multiply-Adds
This patch adds the Single Precision VSX Scalar Fused Multiply-Add
instructions: xsmaddasp, xsmaddmsp, xssubasp, xssubmsp, xsnmaddasp,
xsnmaddmsp, xsnmsubasp, xsnmsubmsp.
The existing VSX_MADD() macro is modified to support rounding of the
intermediate double precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 968e76bcab9a3c40f37c9a52822b6daa90ae7cd8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:38 2014 -0600
target-ppc: VSX Stage 4: add xsrsqrtesp
This patch adds the VSX Scalar Reciprocal Square Root Estimate
Single Precision (xsrsqrtesp) instruction.
The existing VSX_RSQRTE() macro is modified to support rounding
of the intermediate double-precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cea4e57473efc2fad1d241e87984eba4e5d9690c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:37 2014 -0600
target-ppc: VSX Stage 4: Add xssqrtsp
This patch adds the VSX Scalar Square Root Single Precision (xssqrtsp)
instruction.
The existing VSX_SQRT() macro is modified to support rounding of the
intermediate double-precision result to single-precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2c0c52ae620cf121a8b9084c7c1168d867564ee8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:36 2014 -0600
target-ppc: VSX Stage 4: Add xsresp
This patch adds the VSX Scalar Reciprocal Estimate Single Precision
(xsresp) instruction.
The existing VSX_RE macro is modified to support rounding of the
intermediate double precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b24d0b472b0d471e93ccc7fc7d4fd6ed30e7e434
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:35 2014 -0600
target-ppc: VSX Stage 4: Add xsdivsp
This patch adds the VSX Scalar Divide Single Precision (xsdivsp)
instruction.
The existing VSX_DIV macro is modified to support rounding of the
intermediate double precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab9408a2d11670d15b2692ca60646d8da8158d6f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:34 2014 -0600
target-ppc: VSX Stage 4: Add xsmulsp
This patch adds the VSX Scalar Multiply Single-Precision (xsmulsp)
instruction.
The existing VSX_MUL macro is modified to support rounding of the
intermediate result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3fd0aadfc19ba146ed6ced27b4e6ff6afc08473a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:33 2014 -0600
target-ppc: VSX Stage 4: Add xsaddsp and xssubsp
This patch adds the VSX Scalar Add Single-Precision (xsaddsp) and
VSX Scalar Subtract Single-Precision (xssubsp) instructions.
The existing VSX_ADD_SUB macro is modified to support the rounding
of the (intermediate) result to single-precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e16a626b8280cfcf3de385c59ddd1fde2840c2c3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:32 2014 -0600
target-ppc: VSX Stage 4: Add stxsiwx and stxsspx
This patch adds two store scalar instructions:
- Store VSX Scalar as Integer Word Indexed (stxsiwx)
- Store VSX Scalar Single-Precision Indexed (stxsspx)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f026da78308ea468d26d78792a6655bb34431f18
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:31 2014 -0600
target-ppc: VSX Stage 4: Refactor stxsdx
This patch refactors the stxsdx instruction. Reusable code is
extracted into a macro which will be used in subsequent patches
in this series.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cac7f0ba4a5a47050a249ef085bc846630224d0d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:30 2014 -0600
target-ppc: VSX Stage 4: Add lxsiwax, lxsiwzx and lxsspx
This patch adds the scalar load instructions introduced in ISA
V2.07:
- Load VSX Scalar as Integer Word Algebraic Indexd (lxsiwax)
- Load VSX Scalar as Integer Word and Zero Indexed (lxsiwzx)
- Load VSX Scalar Single-Precision Indexed (lxsspx)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e072fe796ee2b5f43e0dba259d0706e1b296138a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:29 2014 -0600
target-ppc: VSX Stage 4: Refactor lxsdx
This patch refactors the lxsdx generator. Resuable code is isolated
into a macro. The macro will be used in subsequent patches in this
series to implement other scalar load instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dbcc48fa8fc534c240129fcdece9c3fb0434e82c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:28 2014 -0600
target-ppc: VSX Stage 4: Add VSX 2.07 Flag
This patch adds a flag to identify those VSX instructions that are
new to Power ISA V2.07. The flag is added to the Power 8 processor
initialization so that the P8 models understand how to decode and
emulate instructions in this category.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88e33d08c9c2fc0aabc9b832719324bd2d454db9
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:35 2014 -0600
target-ppc: Add VSX Rounding Instructions
This patch adds the VSX Round to Floating Point Integer instructions:
- xsrdpi, xsrdpic, xsrdpim, xsrdpip, xsrdpiz
- xvrdpi, xvrdpic, xvrdpim, xvrdpip, xvrdpiz
- xvrspi, xvrspic, xvrspim, xvrspip, xvrspiz
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5177d2ca938496f060448f71f9edd9145231d9af
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:34 2014 -0600
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
This patch adds the VSX Integer Conversion instructions defined by
V2.06 of the PowerPC ISA:
- xscvdpsxds, xscvdpsxws, xscvdpuxds, xscvdpuxws
- xvcvdpsxds, xvcvdpsxws, xvcvdpuxds, xvcvdpuxws
- xvcvspsxds, xvcvspsxws, xvcvspuxds, xvcvspuxws
- xscvsxddp, xscvuxddp
- xvcvsxddp, xscvsxwdp, xvcvuxddp, xvcvuxwdp
- xvcvsxdsp, xscvsxwsp, xvcvuxdsp, xvcvuxwsp
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ed8ac5686a8e1aba7ddc5d8ca3a56a7496a2a536
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:33 2014 -0600
target-ppc: Add VSX Floating Point to Floating Point Conversion
Instructions
This patch adds the VSX instructions that convert between floating
point formats: xscvdpsp, xscvspdp, xvcvdpsp, xvcvspdp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 354a6decf1508f15fb1b4b419efcd05d209bece4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:32 2014 -0600
target-ppc: Add VSX Vector Compare Instructions
This patch adds the VSX floating point compare vector instructions:
- xvcmpeqdp[.], xvcmpgedp[.], xvcmpgtdp[.]
- xvcmpeqsp[.], xvcmpgesp[.], xvcmpgtsp[.]
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 959e9c9d1e5507a6c68d0b875d71ef967d3cfd6c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:31 2014 -0600
target-ppc: Add VSX xmax/xmin Instructions
This patch adds the VSX floating point maximum and minimum
instructions:
- xsmaxdp, xvmaxdp, xvmaxsp
- xsmindp, xvmindp, xvminsp
Because of the Power ISA definitions of maximum and minimum
on various boundary cases, the standard softfloat comparison
routines (e.g. float64_lt) do not work as well as one might
think. Therefore specific routines for comparing 64 and 32
bit floating point numbers are implemented in the PowerPC
helper code.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4f17e9c738321151e6b7aa4d2c25c3f1e2443cca
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:30 2014 -0600
target-ppc: Add VSX xscmp*dp Instructions
This patch adds the VSX scalar floating point compare ordered
and unordered instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 595c6eefb79a77a650dd7a49e812920ed53b0e9c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:29 2014 -0600
target-ppc: Add VSX ISA2.06 Multiply Add Instructions
This patch adds the VSX floating point multiply/add instructions
defined by V2.06 of the PowerPC ISA:
- xsmaddadp, xvmaddadp, xvmaddasp
- xsmaddmdp, xvmaddmdp, xvmaddmsp
- xsmsubadp, xvmsubadp, xvmsubasp
- xsmsubmdp, xvmsubmdp, xvmsubmsp
- xsnmaddadp, xvnmaddadp, xvnmaddasp
- xsnmaddmdp, xvnmaddmdp, xvnmaddmsp
- xsnmsubadp, xvnmsubadp, xvnmsubasp
- xsnmsubmdp, xvnmsubmdp, xvnmsubmsp
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5cb151acb18ab247f1e7c703e242b430551e3129
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:28 2014 -0600
target-ppc: Add VSX ISA2.06 xtsqrt Instructions
This patch adds the VSX floating point test for software square
root instructions defined by V2.06 of the PowerPC ISA: xstsqrtdp,
xvtsqrtdp, xvtsqrtsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bc80838f86375c420d37c6c20e6a9098904932ce
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:27 2014 -0600
target-ppc: Add VSX ISA2.06 xtdiv Instructions
This patch adds the VSX floating point test for software divide
instructions defined by V2.06 of the PowerPC ISA: xstdivdp, xvtdivdp,
and xvtdivsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d3f9df8fb83f72947a44bc773bec92105db731ff
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:26 2014 -0600
target-ppc: Add VSX ISA2.06 xrsqrte Instructions
This patch adds the VSX floating point reciprocal square root
estimate instructions defined by V2.06 of the PowerPC ISA: xsrsqrtedp,
xvrsqrtedp, xvrsqrtesp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d32404fe42ec67beee7d26aef8571e5e9c1e39b3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:25 2014 -0600
target-ppc: Add VSX ISA2.06 xsqrt Instructions
This patch adds the VSX floating point square root instructions
defined by V2.06 of the PowerPC ISA: xssqrtdp, xvsqrtdp, xvsqrtsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2009227fbe868979d6a0518ef34972462f140404
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:24 2014 -0600
target-ppc: Add VSX ISA2.06 xre Instructions
This patch adds the VSX floating point reciprocal estimate instructions
defined by V2.06 of the PowerPC ISA: xsredp, xvredp, xvresp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4b98eeef50c1bb619dc32bddc9d54ed03c365c5f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:23 2014 -0600
target-ppc: Add VSX ISA2.06 xdiv Instructions
This patch adds the VSX floating point divide instructions defined
by V2.06 of the PowerPC ISA: xsdivdp, xvdivdp, xvdivsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5e591d8812df5efa38518b6bf933d02c61fa1c10
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:22 2014 -0600
target-ppc: Add VSX ISA2.06 xmul Instructions
This patch adds the VSX floating point multiply instructions defined
by V2.06 of the PowerPC ISA: xsmuldp, xvmuldp, xvmulsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ee6e02c0aca020a1934a14c36cff258545dc29b5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:21 2014 -0600
target-ppc: Add VSX ISA2.06 xadd/xsub Instructions
This patch adds the floating point addition and subtraction
instructions defined by V2.06 of the PowerPC ISA: xssubdp,
xvsubdp and xvsubsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3c3cbbdc84dbe594b4fa4df52eb8ed6f42d640d8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:20 2014 -0600
target-ppc: General Support for VSX Helpers
This patch adds general support that will be used by the VSX helper
routines:
- a union describing the various VSR subfields.
- access routines to get and set VSRs
- VSX decoders
- a general routine to generate a handler that invokes a VSX
helper.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59800ec8e52bcfa271fa61fb0aae19205ef1b7f1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:19 2014 -0600
target-ppc: Add set_fprf Argument to fload_invalid_op_excp()
The fload_invalid_op_excp() function sets assorted invalid
operation status bits. However, it also implicitly modifies
the FPRF field of the PowerPC FPSCR. Many VSX instructions
set invalid operation bits but do not alter FPRF. Thus the
function is more generally useful if the setting of the FPRF
field is made conditional via a parameter.
All invocations of this routine in existing instructions are
modified to pass 1 and thus retain their current behavior.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4e38181979ec4bc80c75f0c181f9df2d4e933c13
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Dec 23 13:42:22 2013 +1100
target-ppc: disable unsupported modes for SPR_CTRL/SPR_UCTRL
The Figure 17 "SPR encodings" of the PowerISA 2.07 describes CTRL SPR as:
priviledged
# spr5-9 spr0-4 name mtspr mfspr len cat
136 00100 01000 CTRL - no 32 S
152 00100 11000 CTRL yes - 32 S
According to this chart, the hypervisor's CTRL (#152) does not support
reading, the user-space's CTRL (UCTRL, #136) does not support writing.
This replaces unsupported operations with the default SPR_NOACCESS hook.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3052f0d59426a1f8120ffbf66fd438973bfd2912
Author: Nathan Whitehorn <nwhitehorn@xxxxxxxxxxx>
Date: Sun Jan 12 17:34:21 2014 -0500
spapr_vscsi: Fix REPORT_LUNS handling
Intercept REPORT_LUNS commands addressed either to SRP LUN 0 or the
well-known
LUN for REPORT_LUNS commands. This is required to implement the SAM and
SPC
specifications.
Since SRP implements only a single SCSI target port per connection, the
SRP
target is required to report all available LUNs in response to a
REPORT_LUNS
command addressed either to LUN 0 or the well-known LUN. Instead, QEMU was
forwarding such requests to the first QEMU SCSI target, with the result
that
initiators that relied on this feature would only see LUNs on the first
QEMU
SCSI target.
Behavior for REPORT_LUNS commands addressed to any other LUN is not
specified
by the standard and so is left unchanged. This preserves behavior under
Linux
and SLOF, which enumerate possible LUNs by hand and so address no commands
either to LUN 0 or the well-known REPORT_LUNS LUN.
Signed-off-by: Nathan Whitehorn <nwhitehorn@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
[agraf: define constant as ULL for 32bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09aa9a526a86fd2e380e86157c55dfd180661c64
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 13 20:29:09 2014 +1100
spapr-pci: enable adding PHB via -device
Recent changes introduced cannot_instantiate_with_device_add_yet
and removed capability of adding yet another PCI host bridge via
command line for SPAPR platform (POWERPC64 server).
This brings the capability back and puts SPAPR PHB into "bridge"
category.
This is not much use for emulated PHB but it is absolutely required
for VFIO as we put an IOMMU group onto a separate PHB on SPAPR.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6cd8712c5fd74a8ec0aae1b7cc34af026354f06a
Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 6 19:23:48 2014 +0100
PPC: KVM: add support for LPCR
The LPCR special purpose register was introduced with the PowerPC 970MP
family.
This patch initializes LPCR for the following families:
- 970 MP
- POWER5+
- POWER7
- POWER8
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7a7c05d77d60f6a23705da4005e96d379fd49ddb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 6 16:36:40 2014 +1100
PPC: KVM: fix "set one register"
Due to missing @one_reg_id assignment in _spr_register(),
the kvm_get_one_reg/kvm_set_one_reg API has never really been working.
This reenables the API by assigning the @one_reg_id field in the SPR
descriptor.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 363248e8c92c6331253e2a768884c69183805050
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Tue Feb 4 18:21:39 2014 +0100
mmu-hash64: fix Virtual Page Class Key Protection
commit f80872e21c07edd06eb343eeeefc8af404b518a6 (mmu-hash64: Implement
Virtual Page Class Key Protection) added a new page protection
mechanism based on page keys and the AMR register to control access.
The AMR register allows or prohibits reads and/or writes on a page
depending on the control bits associated to the key. A store or a load
is only permitted if the associate bit is 0 (Power ISA), and not 1 as
the code is currently doing. This patch modifies ppc_hash64_amr_prot()
to correct the protection check.
This issue was unvailed by commit ccfb53ed6360cac0d5f6f7915ca9ae7eed866412
(target-ppc: fix Authority Mask Register init value) which changed the
initialisation value of the AMR register to 0.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0dc083fe10c5cc848f36498b9157a336cbc8c7c1
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 6 16:36:39 2014 +1100
target-ppc: fix Authority Mask Register init value
The existing default value (-1) of the AMR register forbids data access
to all 32 classes. Since the guest linux does not change this register,
we end up with the guest hanging right after switching from the real to
protected mode.
This sets the default AMR value to zero what enables data access for all
classes.
The only reason for not hitting this bug before is that
kvm_arch_put_registers() did not put any SPR to KVM due to missing
assignment of @one_reg_id in _spr_register() (which is going to be fixed
by a separate patch).
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ca480de66400c4fcaf59100b813e402f9edb08f7
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Dec 24 12:17:24 2013 +1100
target-ppc: dump DAR and DSISR
The DAR and DSISR can be very useful when debugging issues, so add
them to ppc_cpu_dump_state. We had another bug in this area: all
of the v2.06 MMU types were missing.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 135a129a1cd047cc913e88c795eda859a0ebb81f
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon Dec 23 21:10:40 2013 +0530
kvm: Add a new machine option kvm-type
Targets like ppc64 support different types of KVM, one which use
hypervisor mode and the other which doesn't. Add a new machine
option kvm-type that helps in selecting the respective ones
We also add a new QEMUMachine callback get_vm_type that helps
in mapping the string representation of kvm type specified.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[agraf: spelling fixes, use error_report(), use qemumachine.h]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9c06a1f79f959fffd09bfb7efc3d76051a6cd2da
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 27 18:22:10 2014 +0100
KVM: Split QEMUMachine typedef into separate header
Older gcc versions (such as the one in SLES11) get confused when you
declare
a typedef on the same struct twice.
To work around that limitation, let's extract the QEMUMachine typedef
into a
separate header file that is guarded by preprocessor duplicate include
checks.
This fixes the following type of compile errors for me:
In file included from vl.c:125:
include/hw/xen/xen.h:39: error: redefinition of typedef "QEMUMachine"
include/sysemu/kvm.h:155: error: previous declaration of "QEMUMachine"
was here
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88ccd23a0c99155ff1eb5162d3685fde9c679b3d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:34 2013 +1100
target-ppc: remove unsupported SPRs from 970 and P5+
SPR_750FX_HID2 and L2CR are not defined in 970* user manuals nor POWER5
bookIV nor PowerISA 2.04, the numbers assigned to them are not defined
either so remove them.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 401949176c00029692378d83b0dcc638ccbd7b6e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:33 2013 +1100
target-ppc: remove embedded MMU SPRs from 970, P5+/7/7+/8
PowerISA 2.04+ puts MMUCFG and MMUCSR0 SPRs to "E" (embedded) category so
remove it from POWER7/8 class as it is "S" (server) category.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0bfe9299dae5c92498a4f503e6d5786bdbc7c4d7
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:32 2013 +1100
target-ppc: fix SPR_CTRL/SPR_UCTRL register numbers
Assuming that "U" in SPR_UCTRL is for "user", there is inconsistency with
970 user manuals/P5-bookIV/PowerISA204 which define the number as:
priviledged
# spr5-9 spr0-4 name mtspr mfspr len cat
136 00100 01000 CTRL - no 32 S
152 00100 11000 CTRL yes - 32 S
This swaps the numbers. No effect from this change is expected though.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 81d2fb4dfdf34889676410ff61753b351e3d67fb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:31 2013 +1100
target-ppc: remove powerpc 970gx
The 970GX definition was added in 2007 and it made sense then but this
version has never been released to the markets and it does not exist in
the real world so there is no point in emulating it.
This removes 970GX.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6475c9f05ca89d76635108dca64a11759838e03c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:30 2013 +1100
target-ppc: fix LPCR SPR number
PowerISA defines LPCR SPR number as 318=0x13E but QEMU uses the value of
316.
This fixes the definition of LPCR SPR.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a5100e752b4ed1027b6db27d3fbcb0e3c62b3f94
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 13:14:57 2013 +1100
target-ppc: fix compile error when PPC_DUMP_CPU is enabled
Since last use of PPC_DUMP_CPU by whoever he/she was, env->tlb became
a union and POWERPC CPU class got QOM'ed so defining PPC_DUMP_CPU
breaks compile.
This fixes compiler errors.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f55ea6297cc0224fe4934b90ff5343b620b14669
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 21:00:28 2014 +0100
block/gluster: Add missing argument to qemu_gluster_init() call
Commit adccfbcd6020e928db93b2b4faf0dbd05ffbe016 (block: gluster - add
reopen support.) did not supply the qemu_gluster_init() Error **
argument, needed since commit a7451cb850d115f257080aff3fbc54f255ebf8f7
(gluster: correctly propagate errors).
Pass through qemu_gluster_reopen_prepare()'s errp, as done in
qemu_gluster_open().
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ac458e121c398c8619b2a7735e87e37b73c0b687
Merge: e00ef74 25254a7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 18:12:01 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-03-04' into staging
trivial patches for 2014-03-04
# gpg: Signature made Tue 04 Mar 2014 06:13:56 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-03-04:
vl: Remove unneeded include file
qga: Remove unneeded include file
qemu-img: Remove unneeded include files
exec: Remove unneeded include files
util/iov: Use qemu/sockets.h instead of conditional code
qjson.h: Remove spurious GCC_FMT_ATTR markup from qobject_from_json()
declaration
tests/test-int128: Don't use __noclone__ attribute on clang
stubs: Optimize dependencies for gdbstub.c
tcg: Fix typo in comment (dependancies -> dependencies)
bswap: Modify prototypes of st[wl]_{le, be}_p (avoid type conversions)
bswap: Modify prototype of stb_p (avoid type conversions)
object: Report type in error when not user creatable.
include/qemu/host-utils.h: Trivial typo: ctz->cto
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e00ef747f08db1c7dd58a5366db4dc3038a7307f
Merge: 4a29420 b774539
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 17:01:07 2014 +0000
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: (32 commits)
qapi: Add missing null check to opts_start_struct()
qapi: Clean up superfluous null check in qapi_dealloc_type_str()
qapi: Clean up null checking in generated visitors
qapi: Drop unused code in qapi-commands.py
qapi: Drop nonsensical header guard in generated qapi-visit.c
qapi: Fix licensing of scripts
tests/qapi-schema: Cover flat union types
tests/qapi-schema: Cover union types with base
tests/qapi-schema: Cover complex types with base
tests/qapi-schema: Cover anonymous union types
tests/qapi-schema: Cover simple argument types
tests/qapi-schema: Cover optional command arguments
tests/qapi-schema: Actually check successful QMP command response
monitor: Remove left-over code in do_info_profile.
qerror: Improve QERR_DEVICE_NOT_ACTIVE message
qmp: Check for returned data from __json_read in get_events
dump: add 'query-dump-guest-memory-capability' command
Define the architecture for compressed dump format
dump: make kdump-compressed format available for 'dump-guest-memory'
dump: add API to write dump pages
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a29420ea1c5a34191281855f5f51e70deab8940
Merge: 4fd42af 3eba13e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 16:33:25 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 28 Feb 2014 18:27:24 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
block/vmdk: do not report file offset for compressed extents
discard rbd error output when not relevant in qemu-iotests
block: use /var/tmp instead of /tmp for -snapshot
qemu-io-test: Disable Quorum test when not compiled in.
qmp: Make Quorum error events more palatable.
qmp: Fix BlockdevOptionQuorum.
block: gluster - add reopen support.
block: gluster - code movements, state storage changes
qemu-iotests: add more tests to the "quick" group
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4fd42afe6117ab16dc5e2e7216cced8010afc1d1
Merge: c2cb92f cb48da7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 15:53:00 2014 +0000
Merge remote-tracking branch 'remotes/rth/i386-fix' into staging
* remotes/rth/i386-fix:
target-i386: Fix ucomis and comis memory access
target-i386: Fix SSE status flag corruption
target-i386: Fix CC_OP_CLR vs PF
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c2cb92f9ea3c88acde6a8cb75abc148dfe27aee7
Merge: 739aa55 7f00eb3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 14:50:46 2014 +0000
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140227'
into staging
Several features, fixes and cleanups for kvm/s390:
- sclp event facility: cleanup structure. This allows to use
realize/unrealize as well as migration support via vmsd
- reboot: Two fixes that make reboot much more reliable
- ipl: make elf loading more robust
- flic interrupt controller: This allows to migrate floating
interrupts, as well as clear them on reset etc.
- enable async_pf feature of KVM on s390
- several sclp fixes and cleanups
- several sigp fixes and cleanups
* remotes/borntraeger/tags/kvm-s390-20140227: (22 commits)
s390x/ipl: Fix crash of ELF images with arbitrary entry points
s390x/kvm: Rework priv instruction handlers
s390x/kvm: Add missing SIGP CPU RESET order
s390x/kvm: Rework SIGP INITIAL CPU RESET handler
s390x/cpu: Use ioctl to reset state in the kernel
s390-ccw.img: new binary rom to match latest fixes
s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css
s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx
s390x/event-facility: exploit realize/unrealize
s390x/event-facility: add support for live migration
s390x/event-facility: code restructure
s390x/event-facility: some renaming
s390x/sclp: Fixed setting of condition code register
s390x/sclp: Add missing checks to SCLP handler
s390x/sclp: Fixed the size of sccb and code parameter
s390x/eventfacility: mask out commands
s390x/virtio-hcall: Specification exception for illegal subcodes
s390x/virtio-hcall: Add range check for hypervisor call
s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler
s390x/async_pf: Check for apf extension and enable pfault
...
Conflicts:
linux-headers/linux/kvm.h
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 739aa555b8d6e45920b44cb7a2a790fce5061890
Merge: d47e95c d9738fd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 14:25:34 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
block/iscsi: fix segfault if writesame fails
scsi-disk: Add support for port WWN and index descriptors in VPD page
83h
block/iscsi: query for supported VPD pages
block/iscsi: fix deadlock on scsi check condition
scsi-bus: Fix transfer length for VERIFY with BYTCHK=11b
scsi: report thin provisioning errors with werror=report
scsi: Change scsi sense buf size to 252
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d47e95c0c86ea5d8d050bf201ee27bcec617c10e
Merge: 57f45b6 af87bf2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 13:09:06 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging
* remotes/mcayland/qemu-sparc:
sun4m: Add Sun CG3 framebuffer initialisation function
sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM
sun4m: fix slavio timer RUN/STOP bit
sun4m: Set HostID in NVRAM
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 57f45b6207a65d96ee4913f33f1ec46cd32a083a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Feb 27 21:28:03 2014 +0100
Makefile: Add missing dependency for system emulation (fix build)
Comment from Makefile.objs:
The system emulation needs this dependency (which was missing in
Makefile),
otherwise builds without tools (or massive parallel builds) fail.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 993c91a0e996346c7ee8fa2ca310cc76edb59e17
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 4 00:35:32 2014 +0530
hw/9pfs: Include virtio-9p-device.o in build
After commit ba1183da9a10b94611cad88c44a5c6df005f9b55 we are including
hw/Makefile.objs directly from Makefile.target. Make sure hw/Makefile.objs
rules doesn't depend on variable defined in Makefile.objs
Tested-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit b51910baf227f0fd64abfa7ad6d8e00150a18194
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Feb 28 15:25:32 2014 +0100
linux-user: correct handling of break exception for MIPS
Exception with break instruction has not been correctly propagated as
SIGTRAP. This resolves crash issues with examples that use break
instruction on MIPS.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 974a196d7fc9f2f5553589b0022226b877e5c9b1
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Mar 3 15:07:41 2014 +0100
linux-user: translate signal number on return from sigtimedwait
On success, sigtimedwait() returns a signal number that needs to be
translated from a host value to a target value.
This change also fixes issues with sigwait (that is implemented using
sigtimedwait()).
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f19e00d776b781bfb0067b9b20a592440fd2990e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Mar 2 19:36:42 2014 +0000
linux-user: Implement sendmmsg syscall
Glibc when built for newer kernels assumes that the sendmmsg syscall is
available. Without it, dns resolution simply fails to work.
Wrap the syscall with existing infrastructure so that we don't have a host
dependency on sendmmsg.
To avoid locking the same area of guest memory twice (which will break if
DEBUG_REMAP is defined) we pull the lock/unlock part of do_sendrecvmsg()
out into its own function so the actual implementation can be shared.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[PMM: add recvmmsg support;
handle errors (which also implies support for non-blocking operations);
cap the vector length as the kernel implementation does;
don't lock guest memory twice;
support MSG_WAITFORONE flag]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 76ca310a19463e9883e2e55a88ac8be1fc171eea
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Mar 2 19:36:41 2014 +0000
linux-user: Fix getresuid, getresgid if !USE_UID16
The size of the UID/GID types depends on whether USE_UID16 is
defined. Define a new put_user_id() which writes a uid/gid
type to guest memory. This fixes getresuid and getresgid, which
were always storing 16 bits even if the uid type was 32 bits.
Reported-by: Michael Matz <matz@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd98d390ae009c5c1be5ae9a656e943bb47e14f0
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Sun Mar 2 19:36:40 2014 +0000
linux-user: Don't use UID16 on AArch64
The AArch64 kernel defines its __kernel_uid_t type as 32 bits, unlike
32 bit ARM, so don't enable our 16-bit UID wrapper handling.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8a3ae9109eb45dd77b182a4953ef9e636f665296
Author: Michael Matz <matz@xxxxxxx>
Date: Sun Mar 2 19:36:39 2014 +0000
linux-user: AArch64: Implement SA_RESTORER for signal handlers
Implement support for signal handlers with the SA_RESTORER
flag set.
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: minor tweaks to make patch apply to current master]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4cf2348026002d64556f89d0971c663311be2525
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Mar 2 19:36:38 2014 +0000
linux-user/signal.c: Fix AArch64 big-endian FP register restore
Fix the loop restoring the FP registers from the signal frame to match
the one used when setting up the signal frame, so that it handles
TARGET_WORDS_BIGENDIAN being set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4fa4ce7107c6ec432f185307158c5df91ce54308
Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Date: Sun Mar 2 01:36:19 2014 +0800
hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation
When path is truncated by PATH_MAX limitation, it causes QEMU to access
incorrect file. So use original full path instead of PATH_MAX within
9pfs (need check/process ENOMEM for related memory allocation).
The related test:
- Environments (for qemu-devel):
- Host is under fedora17 desktop with ext4fs:
qemu-system-x86_64 -hda test.img -m 1024 \
-net nic,vlan=4,model=virtio,macaddr=00:16:35:AF:94:04 \
-net tap,vlan=4,ifname=tap4,script=no,downscript=no \
-device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare \
-fsdev local,security_model=passthrough,id=fsdev0,\
path=/upstream/vm/data/share/1234567890abcdefghijklmnopqrstuvwxyz\
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890acdefghijklmnopqrstuvwxyz\
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/111111111111111111111111111\
1111111111111111111111111111111111111111111111111111222222222222\
2222222222222222222222222222222222222222222222222222222222222222\
2222222222222222222222222222222222233333333333333333333333333333\
3333333333333333333333333333333333
- Guest is ubuntu12 server with 9pfs.
mount -t 9p -o trans=virtio,version=9p2000.L hostshare /share
- Limitations:
full path limitation is PATH_MAX (4096B include nul) under Linux.
file/dir node name maximized length is 256 (include nul) under ext4.
- Special test:
Under host, modify the file:
"/upstream/vm/data/share/1234567890abcdefg\
hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890acdefghijklmno\
pqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/111111111111111111111\
111111111111111111111111111111111111111111111111111111111122222222222\
222222222222222222222222222222222222222222222222222222222222222222222\
222222222222222222222222222222233333333333333333333333333333333333333\
3333333333333333333333333/4444444444444444444444444444444444444444444\
444444444444444444444444444444444444444444444444444444444444444444444\
444444444444444444444444444444444444444444444444444444444444444444444\
444444444444444444444444444444444444444/55555555555555555555555555555\
555555555555555555555555555555555555555555555555555555555555555555555\
555555555555555555555555555555555555555555555555555555555555555555555\
555555555555555555555555555555555555555555555555555555555555555555555\
55555555/666666666666666666666666666666666666666666666666666666666666\
666666666666666666666666666666666666666666666666666666666666666666666\
666666666666666666666666666666666666666666666666666666666666666666666\
666666666666666666666/77777777777777777777777777777777777777777777777\
777777777777777777777777777777777777777777777777777777777777777777777\
777777777777777777777777777777777777777777777777777777777777777777777\
77777777777777777777777777777777777777777777777777777777777/888888888\
888888888888888888888888888888888888888888888888888888888888888888888\
888888888888888888888888888888888888888888888888888888888888888888888\
888888888888888888888888888888888888888888888888888888888888888888888\
888888888/99999999999999999999999999999999999999999999999999999999999\
999999999999999999999999999999999999999999999999999999999999999999999\
999999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999/000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000/aaaaaaaaaaaaaaaaaaaa\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbb\
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccc\
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
cccccccccc/dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffff\
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff/gggggggggg\
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
ggggggggggggggggggggggg/iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/jjjjjjjjjjjjj\
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj\
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj/ppppppppppppppppppppp\
ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp\
ppppppppppppppppppppppppppppppppppppppp/test1234567890file.log"
(need enter dir firstly, then modify file, or can not open it).
Under guest, still allow modify "test1234567890file.log" (will generate
"test123456" file with contents).
After apply this patch, can not open "test1234567890file.log" under
guest
(permission denied).
- Common test:
All are still OK after apply this path.
"mkdir -p", "create/open file/dir", "modify file/dir", "rm file/dir".
change various mount point paths under host and/or guest.
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit fae0864573b08b12f29003baabfd9902d89608fe
Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Date: Sun Mar 2 01:35:07 2014 +0800
hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()
'ctx->fs_root' + 'path'/'fullname.data' may be larger than PATH_MAX, so
need use snprintf() instead of sprintf() just like another area have done
in 9pfs. This could possibly result in the truncation of pathname, which
we
address in the follow up patch.
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 75b7931ec63577acb2dd472eb8d772012f1a4807
Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Date: Sun Mar 2 01:34:10 2014 +0800
hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:"
When "goto err_out", 'v9fs_string' already was allocated, so still need
free 'v9fs_string' before return.
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit b774539743c52ef605c6e2cbac19376c2757cb86
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:39 2014 +0100
qapi: Add missing null check to opts_start_struct()
Argument is null when visiting an unboxed struct. I can't see such a
visit in the current code. Fix it anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 25a7017555f1b4aeb543b5d323ff4afb8f9c5437
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:38 2014 +0100
qapi: Clean up superfluous null check in qapi_dealloc_type_str()
Argument can't be null. No other Visitor method type_str() checks for
null.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 949ceeb31b84dce43e4619b6d7f02cac0e62e1e1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:37 2014 +0100
qapi: Clean up null checking in generated visitors
Visitors get passed a pointer to the visited object. The generated
visitors try to cope with this pointer being null in some places, for
instance like this:
visit_start_optional(m, obj ? &(*obj)->has_name : NULL, "name", &err);
visit_start_optional() passes its second argument to Visitor method
start_optional. Three out of three methods dereference it
unconditionally.
I fail to see how this pointer could legitimately be null.
All this useless null checking is highly redundant, which Coverity
duly reports. About 200 times.
Remove the useless null checks.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 56bed4135f139721d42992da3924786282bb0286
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:36 2014 +0100
qapi: Drop unused code in qapi-commands.py
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit a105acbce3954cb31ab30cae04f489dfe07cfd02
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:35 2014 +0100
qapi: Drop nonsensical header guard in generated qapi-visit.c
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 678e48a2e43d1cafbb510c60d7597897b0d90256
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:34 2014 +0100
qapi: Fix licensing of scripts
The scripts carry this copyright notice:
# This work is licensed under the terms of the GNU GPLv2.
# See the COPYING.LIB file in the top-level directory.
The sentences contradict each other, as COPYING.LIB contains the LGPL
2.1. Michael Roth says this was a simple pasto, and he meant to refer
COPYING. Let's fix that.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2fc00432830e42e3c24850a379194a61f09e3663
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:33 2014 +0100
tests/qapi-schema: Cover flat union types
The test demonstrates a generator bug: the generated struct
UserDefFlatUnion doesn't include members for the indirect base
UserDefZero.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7ad993b480d3f4f1261d3374516effd9bff20bc6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:32 2014 +0100
tests/qapi-schema: Cover union types with base
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit aabbd472a08249335d6a004173b30d552cb70d1d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:31 2014 +0100
tests/qapi-schema: Cover complex types with base
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2c38b600109edcad399ca687024b7a7febd80076
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:30 2014 +0100
tests/qapi-schema: Cover anonymous union types
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c2216a8a7a587e594f50bebbdf81fcf168444b68
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:29 2014 +0100
tests/qapi-schema: Cover simple argument types
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ab22ad96cea4300a92b400b0c46af2f50a037362
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:28 2014 +0100
tests/qapi-schema: Cover optional command arguments
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 357765fed57de3204cb259db3ffa3737e33ca5c0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:27 2014 +0100
tests/qapi-schema: Actually check successful QMP command response
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 25254a7191cdaa6cc10edb7bdbbfd0a6d02b9905
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:11 2014 +0100
vl: Remove unneeded include file
This file does not depend on windows.h.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cae8a9289b9ee874bc8711c2629037661061b9c1
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:10 2014 +0100
qga: Remove unneeded include file
This file does not depend on windows.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 67d065c3db489882dce1502246d5fcca10396ea4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:09 2014 +0100
qemu-img: Remove unneeded include files
There is no dependency on windows.h, and the standard include files are
already included by qemu-common.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 777872e5c65dabb1d80b8c13427c6a3e58dafe40
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:08 2014 +0100
exec: Remove unneeded include files
This file does not depend on windows.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cc99c6f5ff3fb2acfa52764a539e129cada104e4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:07 2014 +0100
util/iov: Use qemu/sockets.h instead of conditional code
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit aa830cdc28edb69c1fe81c8fd9471ab288ad0926
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 23:51:46 2014 +0000
qjson.h: Remove spurious GCC_FMT_ATTR markup from qobject_from_json()
declaration
The function qobject_from_json() doesn't actually allow its
argument to be a format string -- it passes a NULL va_list*
to qobject_from_jsonv(), and the parser code will then never
actually interpret %-escape sequences (it tests whether the
va_list pointer is NULL and will stop with a parse error).
The spurious attribute markup causes clang warnings in some
of the test cases where we programmatically construct JSON
to feed to qobject_from_json():
tests/test-qmp-input-visitor.c:76:35: warning: format string is not a
string literal (potentially insecure) [-Wformat-security]
data->obj = qobject_from_json(json_string);
^~~~~~~~~~~
Remove the incorrect attribute.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7edd9ddc979f112287ff5184590830c67ea991bf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 23:39:46 2014 +0000
tests/test-int128: Don't use __noclone__ attribute on clang
clang doesn't support the __noclone__ attribute and emits a warning about
it. Fortunately clang also implements a mechanism for asking if a
particular
attribute is implemented; use it. We assume that if the compiler doesn't
support __has_attribute() then it must be GCC and must support
__noclone__.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8ead6018837f13f1ef4a40c3eb5054512c160577
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Feb 20 20:08:31 2014 +0100
stubs: Optimize dependencies for gdbstub.c
It does not need qemu-common.h. Including exec/gdbstub.h fixes a warning
from static code analyzers and avoids mismatching declarations for
xml_builtin.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c5d3c49896582bb338e19149b23d3613510059fb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 21 20:52:39 2014 +0100
tcg: Fix typo in comment (dependancies -> dependencies)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 55e7c29e46f845f503fda3e8cac3f5e0e8b3d984
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Feb 19 06:11:45 2014 +0100
bswap: Modify prototypes of st[wl]_{le, be}_p (avoid type conversions)
The functions use uint16_t or uint32_t values, so show this in the
function
prototypes. Non-optimizing compilers will avoid unnecessary type
conversions when generating calls of these inline functions.
stq_le_p, stq_be_p already use similar prototypes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0064aceb29faea018dfb7cf0bca5d9644272a295
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Feb 19 06:11:44 2014 +0100
bswap: Modify prototype of stb_p (avoid type conversions)
The function uses an uint8_t value, so show this in the function
prototype. Non-optimizing compilers will avoid unnecessary type
conversions from (u)int8_t to int and back to uint8_t when generating
calls of this inline function.
stw_p, stl_p and stq_p already use similar prototypes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit de580dafade551cf67607f114ff9b5eeb881cc42
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Tue Feb 18 23:42:36 2014 +0100
object: Report type in error when not user creatable.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1c884abeded1fee3680a3f1db655bf70d3b49e97
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Wed Feb 12 17:14:33 2014 +0000
include/qemu/host-utils.h: Trivial typo: ctz->cto
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit de92f3f86adc73db1ee8d1eebdfcf3b59476495b
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Wed Feb 26 23:09:52 2014 +0100
monitor: Remove left-over code in do_info_profile.
This is a left-over from 4a1418e.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ffe9fe3a25b93c045acc4d929056f8ea776a160a
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Tue Feb 25 08:10:05 2014 +0100
qerror: Improve QERR_DEVICE_NOT_ACTIVE message
The error message as currently used is confusing as there are no
"balloon" or
"spice" devices.
(qemu) balloon 1024
balloon: Device 'balloon' has not been activated
With this patch:
(qemu) balloon 1024
balloon: No balloon device has been activated
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4864512389b06389501e60d965edb8defb66a0fc
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 24 13:45:01 2014 +0800
qmp: Check for returned data from __json_read in get_events
When QEMU process aborts and socket is closed, qmp client will not
detect it. When this happens, some qemu-iotests scripts will enter an
endless loop waiting for qmp events.
It's better we raise an exception in qmp.py to catch this and make the
test script stop.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 3eba13ec25341ce473591ff338eab3196890a4eb
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Feb 26 10:47:57 2014 +0100
block/vmdk: do not report file offset for compressed extents
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9147d019f3315d5be97e349aead3ced93ef46c6a
Author: Loic Dachary <loic@xxxxxxxxxxx>
Date: Wed Jan 8 21:05:38 2014 +0100
discard rbd error output when not relevant in qemu-iotests
Suppress rbd progress messages with --no-progress so they are not
confused with an error output when comparing test results ( progress is
displayed on stderr ).
Signed-off-by: Loic Dachary <loic@xxxxxxxxxxx>
Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69bef7931e8880c709556f8444938d8bb9a16118
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Feb 26 15:12:37 2014 +0530
block: use /var/tmp instead of /tmp for -snapshot
If TMPDIR is not specified, the default was to use /tmp for the working
copy of the block devices. Update this to /var/tmp instead, so systems
using tmp-on-tmpfs don't end up inadvertently using RAM for the block
device.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4b350f1de1685d7763b3b856eccdedbd691932b4
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Feb 22 18:43:42 2014 +0100
qemu-io-test: Disable Quorum test when not compiled in.
Quorum is not compiled by default: make the quorum 081 test aware of this.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0c762736df0cce743b4017c41435632dcb866413
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Feb 22 18:43:41 2014 +0100
qmp: Make Quorum error events more palatable.
Insert quorum QMP events documentation alphabetically.
Also change the "ret" errno value by an optional "error" being an
strerror(-ret)
in the QUORUM_REPORT_BAD qmp event.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a9e6a0cbe2c12c7b5708451d2211d9b00922d605
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Feb 22 18:43:40 2014 +0100
qmp: Fix BlockdevOptionQuorum.
Fix some nits before QEMU 2.0 freeze.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit adccfbcd6020e928db93b2b4faf0dbd05ffbe016
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Feb 17 11:11:12 2014 -0500
block: gluster - add reopen support.
Gluster does parse open flags in its .bdrv_open() implementation,
and the .bdrv_reopen_* implementations need to do the same.
A new gluster connection to the image file to be created is established
in the .bdrv_reopen_prepare(), and the image file opened with the new
flags.
If this is successful, then the old image file is closed, and the
old connection torn down. The relevant structure pointers in the gluster
state structure are updated to the new connection.
If it is not successful, then the new file handle and connection is
abandoned (if it exists), while the old connection is not modified at
all.
With reopen supported, block-commit (and offline commit) is now also
supported for image files whose base image uses the native gluster
protocol driver.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1b37b3442f78a77844fdaf7f53e5f04e4ce8f1d6
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Feb 17 11:11:11 2014 -0500
block: gluster - code movements, state storage changes
In preparation for supporting reopen on gluster, move flag
parsing out to a function. Also, add a NULL check in the
gconf cleanup.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9a05feabd537615b7f3d9d899686e513e71fdc12
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Feb 20 18:28:03 2014 +0100
qemu-iotests: add more tests to the "quick" group
None of these needs QEMU_PROG, and they all take but a few seconds.
We need to point the launching script to qemu-nbd, though.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d6dc7f30c4781857ce230333da6ddd21fe0dcde
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:38 2014 +0800
dump: add 'query-dump-guest-memory-capability' command
'query-dump-guest-memory-capability' is used to query the available
formats for
'dump-guest-memory'. The output of the command will be like:
-> { "execute": "query-dump-guest-memory-capability" }
<- { "return": { "formats":
["elf", "kdump-zlib", "kdump-lzo", "kdump-snappy"] }
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4ab23a918249772458fd330758dc0fad96edce50
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:37 2014 +0800
Define the architecture for compressed dump format
Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b53ccc30c40df52d192e469a86c188a8649c6df3
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:36 2014 +0800
dump: make kdump-compressed format available for 'dump-guest-memory'
Make monitor command 'dump-guest-memory' be able to dump in
kdump-compressed
format. The command's usage:
dump [-p] protocol [begin] [length] [format]
'format' is used to specified the format of vmcore and can be:
1. 'elf': ELF format, without compression
2. 'kdump-zlib': kdump-compressed format, with zlib-compressed
3. 'kdump-lzo': kdump-compressed format, with lzo-compressed
4. 'kdump-snappy': kdump-compressed format, with snappy-compressed
Without 'format' being set, it is same as 'elf'. And if non-elf format is
specified, paging and filter is not allowed.
Note:
1. The kdump-compressed format is readable only with the crash utility
and
makedumpfile, and it can be smaller than the ELF format because of
the
compression support.
2. The kdump-compressed format is the 6th edition.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d12f57ec6640d36e380367a0ab6ab9f3f29b6d51
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:35 2014 +0800
dump: add API to write dump pages
functions are used to write page to vmcore. vmcore is written page by
page.
page desc is used to store the information of a page, including a page's
size,
offset, compression format, etc.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 64cfba6a47411092c941c8d17256fb5673cc8cbf
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:34 2014 +0800
dump: add APIs to operate DataCache
DataCache is used to store data temporarily, then the data will be
written to
vmcore. These functions will be called later when writing data of page to
vmcore.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d0686c7291fe8f0210e7a666f80892fa71395510
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:33 2014 +0800
dump: add API to write dump_bitmap
functions are used to write 1st and 2nd dump_bitmap of kdump-compressed
format,
which is used to indicate whether the corresponded page is existed in
vmcore.
1st and 2nd dump_bitmap are same, because dump level is specified to 1
here.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 298f116827405f37dde10a2a6cbc75d20f9ba99c
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:32 2014 +0800
dump: add API to write dump header
the functions are used to write header of kdump-compressed format to
vmcore.
Header of kdump-compressed format includes:
1. common header: DiskDumpHeader32 / DiskDumpHeader64
2. sub header: KdumpSubHeader32 / KdumpSubHeader64
3. extra information: only elf notes here
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7aad248d3596a1fb94778f2cd215f86a802b3abb
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:31 2014 +0800
dump: add members to DumpState and init some of them
add some members to DumpState that will be used in writing vmcore in
kdump-compressed format. some of them, like page_size, will be initialized
in the patch.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 607dacd0a082a4ea73a7a16a1c70406f37ebacdb
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:30 2014 +0800
dump: add support for lzo/snappy
kdump-compressed format supports three compression format,
zlib/lzo/snappy.
Currently, only zlib is available. This patch is used to support
lzo/snappy.
'--enable-lzo/--enable-snappy' is needed to be specified with configure
to make
lzo/snappy available for qemu
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4835ef7784502c231f243c3133054850d23dd837
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:29 2014 +0800
dump: add API to write elf notes to buffer
the function can be used by write_elf32_notes/write_elf64_notes to write
notes
to a buffer. If fd_write_vmcore is used,
write_elf32_notes/write_elf64_notes
will write elf notes to vmcore directly. Instead, if buf_write_note is
used,
elf notes will be written to opaque->note_buf at first.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5d31babe5c7d854d6b8470bc9fa67a698926e65d
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:28 2014 +0800
dump: add API to write vmcore
Function is used to write vmcore in flatten format. In flatten format,
data is
written block by block, and in front of each block, a struct
MakedumpfileDataHeader is stored there to indicate the offset and size of
the
data block.
struct MakedumpfileDataHeader {
int64_t offset;
int64_t buf_size;
};
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fda053875e69120b2fde5fb34975ef5a49290f12
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:27 2014 +0800
dump: add API to write header of flatten format
flatten format will be used when writing kdump-compressed format. The
format is
also used by makedumpfile, you can refer to the following URL to get more
detailed information about flatten format of kdump-compressed format:
http://sourceforge.net/projects/makedumpfile/
The two functions here are used to write start flat header and end flat
header
to vmcore, and they will be called later when flatten format is used.
struct MakedumpfileHeader stored at the head of vmcore is used to
indicate the
vmcore is in flatten format.
struct MakedumpfileHeader {
char signature[16]; /* = "makedumpfile" */
int64_t type; /* = 1 */
int64_t version; /* = 1 */
};
And struct MakedumpfileDataHeader, with offset and buf_size set to -1, is
used
to indicate the end of vmcore in flatten format.
struct MakedumpfileDataHeader {
int64_t offset; /* = -1 */
int64_t buf_size; /* = -1 */
};
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6a519918b3f666759e20bcd0bb88378f3e4ffb57
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:26 2014 +0800
dump: add argument to write_elfxx_notes
write_elf32_notes/wirte_elf64_notes use fd_write_vmcore to write elf
notes to
vmcore. Adding parameter "WriteCoreDumpFunction f" makes it available to
choose
the method of writing elf notes
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b5ba1cc6260917926781fb79fbb05d53bf586d53
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:25 2014 +0800
dump: const-qualify the buf of WriteCoreDumpFunction
WriteCoreDumpFunction is a function pointer that points to the function
used to
write content in "buf" into core file, so "buf" should be const-qualify.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cb48da7f8140b5cbb648d990876720da9cd04d8f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 24 15:53:40 2014 -0800
target-i386: Fix ucomis and comis memory access
We were loading 16 bytes for both single and double-precision
scalar comparisons.
Reported-by: Alexander Bluhm <bluhm@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4e47e39ab0ded72c0af174131ecf49d588d66c12
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 24 14:59:54 2014 -0800
target-i386: Fix SSE status flag corruption
When we restore the mxcsr register with FXRSTOR, or set it with gdb,
we need to update the various SSE status flags in CPUX86State
Reported-by: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d2fe51bda8adf33d07c21e034fdc13a1e1fa4e19
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 10 12:38:40 2014 -0800
target-i386: Fix CC_OP_CLR vs PF
Parity should be set for a zero result.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fbb0621a0f7aae2803d7460fc225402f9ea92000
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Feb 18 09:08:14 2014 -0500
MAINTAINERS: update status for HMP, QAPI and QMP trees
This commit updates the status for the HMP, QAPI and QMP trees from
"Supported" to "Maintained".
In practice this means that patch review and pull requests may take
longer. Also, I'll rely more on reviewers such as Eric Blake so that
I'm able to send pull requests regularly.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cd159d0954f65df61864a85e355acdf7ae7fe0f9
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Feb 12 11:05:13 2014 +0800
QMP: Allow dot separated dict path arguments in qmp-shell
As another convenience to allow using commands that expect a dict as
argument, this patch adds support for foo.bar=value syntax, similar to
command line argument style:
(QEMU) blockdev-add options.driver=file options.id=drive1
options.filename=...
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d844a7b6569fb2b5252773444b18841426e5b906
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Feb 27 06:31:33 2014 +0800
modules: Fix building with --enable-modules
Compiling util/modules.c with modules enabled fails now.
Fix it by including qemu-common.h before #ifdef testing in module.c.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Message-id: 1393453893-12125-1-git-send-email-famz@xxxxxxxxxx
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f9a49dfa0202348b543983d61fab441b7374a874
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Feb 4 13:41:53 2014 -0500
file_ram_alloc: unify mem-path,mem-prealloc error handling
-mem-prealloc asks to preallocate memory residing on -mem-path path.
Currently QEMU exits in case:
- Memory file has been created but allocation via explicit write
fails.
And it fallbacks to malloc in case:
- Querying huge page size fails.
- Lack of sync MMU support.
- Open fails.
- mmap fails.
Have the same behaviour for all cases: fail in case -mem-path and
-mem-prealloc are specified for regions where the requested size is
suitable for hugepages.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9ba3cf540fb902cbb40f0689868d51a2ac111852
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Feb 25 23:22:07 2014 -0300
kvm-all: exit in case max vcpus exceeded
Rather than fall back to TCG (so the user has to discover
whats happening, in case of no access to qemu stdout/stderr).
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9fbee91a131a05e443d7108d7fbdf3ca91020290
Merge: 73795ce 521f438
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 27 16:00:30 2014 +0000
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
KVM: Use return value for error print
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 73795cea968ba2e9342a3122cd66d52d13d46a61
Merge: 2ce5868 4b94302
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 27 11:31:51 2014 +0000
Merge remote-tracking branch
'remotes/awilliam/tags/vfio-pci-for-qemu-20140226.0' into staging
Updates include:
- Coverify fixes for vfio & pci-assign (Markus)
- VFIO blacklisting support for known brokwn PCI option ROMs (Bandan)
# gpg: Signature made Wed 26 Feb 2014 18:15:28 GMT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
* remotes/awilliam/tags/vfio-pci-for-qemu-20140226.0:
vfio: blacklist loading of unstable roms
qdev-monitor: set DeviceState opts before calling realize
pci-assign: Fix potential read beyond buffer on -EBUSY
vfio: Fix overrun after readlink() fills buffer completely
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af87bf290f31d8ef0aaf8f20259fa34e51ed1e7a
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Tue Oct 15 21:03:04 2013 +0100
sun4m: Add Sun CG3 framebuffer initialisation function
In order to allow the user to choose the framebuffer for sparc-softmmu,
add
-vga tcx and -vga cg3 options to the QEMU command line. If no option is
specified, the default TCX framebuffer is used.
Since proprietary FCode ROMs use a resolution of 1152x900, slightly relax
the
validation rules to allow both displays to be initiated at the higher
resolution used by these ROMs upon request (OpenBIOS FCode ROMs default to
the normal QEMU sun4m default resolution of 1024x768).
Finally move any fprintf(stderr ...) statements in the areas affected by
this
patch over to the new error_report() function.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
CC: Peter Maydell <peter.maydell@xxxxxxxxxx>
CC: Bob Breuer <breuerr@xxxxxx>
CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
commit 9eb08a435a5380f3fe07d9019f49c0358cb2d491
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Tue Oct 15 21:03:04 2013 +0100
sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM
The CG3 framebuffer is a simple 8-bit framebuffer for use with operating
systems such as early Solaris that do not have drivers for TCX.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
CC: Peter Maydell <peter.maydell@xxxxxxxxxx>
CC: Bob Breuer <breuerr@xxxxxx>
CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
commit ead4cf04f855575c24e795d7179d93b1601575b7
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sat Feb 22 22:54:53 2014 +0000
sun4m: fix slavio timer RUN/STOP bit
The sun4m architecture has one 'system' timer and one timer per CPU.
The CPU timers can be configured in two modes:
* 22 bits Counter/Timer. Periodic interrupts.
* 54 bits User timer. For profiling. In this mode, the Run/Stop bit
controls the timer.
The run/stop bit controls the timer only when it is in "User" mode, but
its state shall be persistent.
Signed-off-by: Olivier Danet <odanet@xxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit f9681f116ce06612b12ef41d8637f6659255ec98
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Feb 23 17:08:06 2014 +0000
sun4m: Set HostID in NVRAM
On SparcStations, the HostID field in the NVRAM is equal to the last
three bytes of the MAC address (which is also stored in the NVRAM).
This constant is used as an identification/serial number on Solaris.
Signed-off-by: Olivier Danet <odanet@xxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit 7f00eb30febf1054c74b163ced984afcdbf6e670
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Sat Feb 8 12:31:15 2014 +0100
s390x/ipl: Fix crash of ELF images with arbitrary entry points
When loading S390 kernels, the current code expects an ELF file with the
start address 0x10000. Other ELF files cause a segmentation fault. To
avoid
these crashes, we should get the start address from the ELF file instead
of always using a hard-coded address.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 1eecf41b3e8128979dd571f63d0b4c7fedc919c2
Author: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 11 08:41:38 2014 +0100
s390x/kvm: Rework priv instruction handlers
The current implementation uses the second byte of the instruction
to identify the instruction handler. This is not sufficient to
support instructions not starting with 0xb2. This patch
adds separate handlers for 0xb2, 0xb9 and 0xeb to be able to
support the full instruction set.
Signed-off-by: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 04c2b5168e242e6fa6901442bd399aa7087effca
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 17:18:38 2014 +0100
s390x/kvm: Add missing SIGP CPU RESET order
The SIGP order CPU RESET was still missing in the list of our
supported handler. This patch now adds a simple implementation,
by using the cpu_reset() function that is already available in
target-s390x/cpu.c.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f7d3e466764e0258d0883d90edb7e98ad0b56e18
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 16:39:54 2014 +0100
s390x/kvm: Rework SIGP INITIAL CPU RESET handler
The s390_cpu_initial_reset() function had two deficiencies: First, it
used an ioctl for the destination CPU, and this ioctl could block
nearly forever, as long as the destination CPU was running in the SIE
loop. Second, it also cleared the general purpose registers - something
it should not do according to the Principles of Operations.
Since we've already got another function for the initial CPU reset in
cpu.c, we can also use that function instead. And by using run_on_cpu()
for executing this code, we make sure that the destination CPU is
correctly kicked out of kernel mode now.
Suggested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 49f5c9e98ab44700b58e23ca8c17e21850328da1
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 12 09:56:35 2014 +0100
s390x/cpu: Use ioctl to reset state in the kernel
Some of the state in the kernel can not be reset from QEMU yet.
For this we've got to use the KVM_S390_INITIAL_RESET ioctl to make
sure that the state in the kernel is set to the right values during
initial CPU reset, too.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 0ca3611221d8d80bcf98337f4691addc07df0b08
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Feb 13 09:48:12 2014 +0100
s390-ccw.img: new binary rom to match latest fixes
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 5d739a4787a53da8d787551c8de27ad39fabdb34
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Feb 11 22:46:53 2014 +0100
s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css
We have to set the cssid to 0, otherwise the stsch code will
return an operand exception without the m bit. In the same way
we should set m=0.
This case was triggered in some cases during reboot, if for some
reason the location of blk_schid.cssid contains 1 and m was 0.
Turns out that the qemu elf loader does not zero out the bss section
on reboot.
The symptom was an dump of the old kernel with several areas
overwritten. The bootloader does not register a program check
handler, so bios exception jumped back into the old kernel.
Lets just use a local struct with a designed initializer. That
will guarantee that all other subelements are initialized to 0.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit d1028f1b5b4cf83e8af5f48996cf392fb12d391a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Feb 12 16:17:35 2014 +0100
s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx
The current code does not initialize next_idx in the virtio ring.
As the ccw bios will always use guest memory at a fixed location,
this queue might != 0 after a reboot.
Lets make the initialization explicit.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit c804c2a71752dd1e150cde768d8c54b02fa8bad9
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 20 12:02:17 2013 +0100
s390x/event-facility: exploit realize/unrealize
init/exit functionality of abstract SCLPEvent class is now exploiting
realize/unrealize.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 6fbef18a4c8b3cd9c3da4772ed5ddaec9be06fac
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 18 13:59:57 2013 +0100
s390x/event-facility: add support for live migration
Add support for live migration using VMStateDescription.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 477a72a1eff40639761e103f5b7652af7746c48e
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 18 10:10:49 2013 +0100
s390x/event-facility: code restructure
Code restructure in order to simplify class hierarchy
- remove S390SCLPDevice abstract base class
and move function pointers into new SCLPEventFacilityClass
- implement SCLPEventFacility as SysBusDevice
- use define constants for instance creation strings
The following ascii-art shows the class structure wrt the SCLP
EventFacility
before (CURRENT) and after the restructure (NEW):
----
CURRENT:
"s390-sclp-events-bus"
+-------------------------+
| SCLPEventsBus |
|-------------------------|
|BusState qbus |
+-------------------------+
+-------------------------+
| SCLPEventFacility | - to be replaced by new SCLPEventFacility,
|-------------------------| which will be a SysBusDevice
|SCLPEventsBus sbus |
|DeviceState *qdev |
|unsigned int receive_mask|
+-------------------------+
+-------------------------+
| S390SCLPDeviceClass | - to be replaced by new
SCLPEventFacilityClass
|-------------------------|
|DeviceClass qdev |
|*(init)() |
+-------------------------+
"s390-sclp-event-facility"
|
instance-of
|
V
"s390-sclp-device" - this is an abstract class
+-------------------------+
| S390SCLPDevice (A)| - to be replaced by new SCLPEventFacility
|-------------------------|
|SysBusDevice busdev |
|SCLPEventFacility *ef |
| |
|*(sclp_command_handler)()| - these 2 go to new SCLPEventFacilityClass
|*(event_pending)() |
+-------------------------+
----
NEW:
"s390-sclp-events-bus"
+-------------------------+
| SCLPEventsBus |
|-------------------------|
|BusState qbus |
+-------------------------+
+-------------------------+
| SCLPEventFacilityClass |
|-------------------------|
|DeviceClass parent_class |
| |
|*(init)() |
|*(command_handler)() |
|*(event_pending)() |
+-------------------------+
"s390-sclp-event-facility"
+-------------------------+
| SCLPEventFacility |
|-------------------------|
|SysBusDevice parent_class|
|SCLPEventsBus sbus |
|unsigned int receive_mask|
+-------------------------+
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 65e526c24e27863b2a0093e1350a8ae558be5936
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Mon Dec 23 10:25:38 2013 +0100
s390x/event-facility: some renaming
Do some renaming to shorten some identifiers and to emphasize sclp.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit e8803d93df1bbaebe015b602a8178b424903bf5f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 12:13:32 2014 +0100
s390x/sclp: Fixed setting of condition code register
In the SCLP handler function, the condition code register must
only be set if no exception occured.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 6e25280216fc23c8387892f76d961559da124528
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 13 12:55:55 2014 +0100
s390x/sclp: Add missing checks to SCLP handler
If the 51 most significant bits of the SCCB address are zero or equal to
the prefix, we should throw an specification exception, too.
Also moved the check for privileged mode to sclp_service_call() to have
all program checks in one place now.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit a0fa2cb8ccf0b73cfd3ac01d557401a2303c0de4
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 13 12:19:03 2014 +0100
s390x/sclp: Fixed the size of sccb and code parameter
The pointer to the SCCB should not be limited to 32 bits only.
In contrast to this, the command word parameter is only 32 bits
(the upper 32 bits should be ignored).
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 9da45bb217db41510684cbfd4e173186eb2f8477
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 7 13:41:58 2014 +0100
s390x/eventfacility: mask out commands
As a followup to commit 5f04c14a10fa7f259bc0808f35a0beda49f7821e
(s390-sclp: Define New SCLP Codes) we should mask the sclp command
not only in base sclp, but also in the event facility.
Based on an initial patch from Ralf Hoppe.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 77319f22635e3f0ef86730503b4d18dd9a833529
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 13:32:23 2014 +0100
s390x/virtio-hcall: Specification exception for illegal subcodes
So far, the DIAG 500 hypervisor call was only setting -EINVAL in
R2 when a guest tried to call this function with an illegal subcode.
This patch now changes the behavior so that a specification exception
is thrown instead, since this is the common behavior of other DIAG
functions (and other CPU instructions) when being called with illegal
parameters.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f2c55d1735175ab37ab9f69854460087112d2756
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 13 09:26:49 2014 +0100
s390x/virtio-hcall: Add range check for hypervisor call
The handler for diag 500 did not check whether the requested function
was in the supported range, so illegal values could crash QEMU in the
worst case.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 0788082a4b3f41cb453b654d1a66f87adfa794a9
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 22 17:02:46 2014 +0100
s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler
The SET-ARCHITECTURE handler in QEMU caused a program interruption.
This is wrong according to the "Principles of Operations" specification
(since SIGP should never cause a program interrupt) and was likely only
introduced for debugging purposes. Since we handle SET-ARCHITECTURE in
the kernel already and only dropped to user space in case of bad mode
parameters, we should just report INVALID PARAMETER in QEMU instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 819bd3091e986c1b6b10203a7138a53b849a53e0
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 5 13:54:39 2013 +0200
s390x/async_pf: Check for apf extension and enable pfault
S390 can also use async page faults, to enhance guest scheduling.
In case of live migration we want to disable the feature and let
all pending request finish.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 3a553fc65826e0e682ed0fff770ad0d421c6d407
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 16 09:04:04 2013 +0200
s390x/kvm: implement floating-interrupt controller device
This patch implements a floating-interrupt controller device (flic)
which interacts with the s390 flic kvm_device.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 216db403d0b032563d82e107429626c08d825535
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 7 12:13:39 2014 +0100
update linux headers to kvm/next
This updates the kvm headers to
commit d3714010c307d26df251c45be9cd12ab6d41f0c4
KVM: x86: emulator_cmpxchg_emulated should mark_page_dirty
in kvm/next.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 2ce5868ca1457d1dcbaa917df98ca1ba28593e40
Merge: 6f6831f c04018e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 22:53:50 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140226' into staging
target-arm queue:
* fixes for various Coverity-spotted bugs
* support new KVM device control API for VGIC
* support KVM VGIC save/restore/migration
* more AArch64 system mode foundations
* support ARMv8 CRC instructions for A32/T32
* PL330 minor fixes and cleanup
# gpg: Signature made Wed 26 Feb 2014 17:51:32 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140226: (45 commits)
dma/pl330: implement dmaadnh instruction
dma/pl330: Fix buffer depth
dma/pl330: Add event debugging printfs
dma/pl330: Rename parent_obj
dma/pl330: printf format type sweep.
dma/pl330: Fix misleading type
dma/pl330: Delete overly verbose debug printf
target-arm: Add support for AArch32 ARMv8 CRC32 instructions
include/qemu/crc32c.h: Rename include guards to match filename
target-arm: Add utility function for checking AA32/64 state of an EL
target-arm: Implement AArch64 view of CPACR
target-arm: A64: Implement MSR (immediate) instructions
target-arm: Store AIF bits in env->pstate for AArch32
target-arm: A64: Implement WFI
target-arm: Get MMU index information correct for A64 code
target-arm: Implement AArch64 OSLAR_EL1 sysreg as WI
target-arm: Implement AArch64 dummy breakpoint and watchpoint registers
target-arm: Implement AArch64 ID and feature registers
target-arm: Implement AArch64 generic timers
target-arm: Implement AArch64 MPIDR
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6f6831f61a44fde832ee6fab0cc5632de34cf6b7
Merge: bc3fbad 41310c6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 22:31:10 2014 +0000
Merge remote-tracking branch
'remotes/juanquintela/tags/migration/20140225' into staging
migration/next for 20140225
# gpg: Signature made Tue 25 Feb 2014 14:04:31 GMT using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* remotes/juanquintela/tags/migration/20140225:
rdma: rename 'x-rdma' => 'rdma'
Fix two XBZRLE corruption issues
Fix vmstate_info_int32_le comparison/assign
qemu_file: use fwrite() correctly
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bc3fbad816961a5b4a7f51a37472c4ac01effb92
Merge: 28c05ed ad37bb3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 20:04:37 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request'
into staging
Net patches
# gpg: Signature made Tue 25 Feb 2014 13:32:33 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/net-pull-request:
virtio-net: use qemu_get_queue() where possible
vhost_net: use offload API instead of bypassing it
net: remove implicit peer from offload API
net: Disable netmap backend when not supported
net: add offloading support to netmap backend
net: make tap offloading callbacks static
net: virtio-net and vmxnet3 use offloading API
net: TAP uses NetClientInfo offloading callbacks
net: extend NetClientInfo for offloading
net: change vnet-hdr TAP prototypes
opencores_eth: flush queue whenever can_receive can go from false to
true
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 28c05edff54ce583e89d09c9237acff20e9bd48f
Merge: d5001cf cd6c883
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 18:22:11 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-audio-3' into
staging
hda-audio: qom cleanups
# gpg: Signature made Mon 24 Feb 2014 12:19:48 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-audio-3:
hda-audio: qom cleanups
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4b9430294ed406a00f045d825ada146aecf32309
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Feb 26 10:33:45 2014 -0700
vfio: blacklist loading of unstable roms
Certain cards such as the Broadcom BCM57810 have rom quirks
that exhibit unstable system behavior duing device assignment. In
the particular case of 57810, rom execution hangs and if a FLR
follows, the device becomes inoperable until a power cycle. This
change blacklists loading of rom for such cards unless the user
specifies a romfile or rombar=1 on the cmd line
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 52aa17cbd800b9e71b67cf7f80c3498183d34ec8
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Feb 26 10:32:40 2014 -0700
qdev-monitor: set DeviceState opts before calling realize
Setting opts before the realize property is set allows the
following patch to make decisions based on whether the user
specified "rombar". This also avoids having to create a new
tristate property especially for this purpose
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 82d07945652f16078b172d2bd46659e8f5f30d8e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 26 10:30:03 2014 -0700
pci-assign: Fix potential read beyond buffer on -EBUSY
readlink() doesn't write a terminating null byte.
assign_failed_examine() passes the unterminated string to strrchr().
Oops. Terminate it.
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 13665a2d2f675341e73618fcd7f9d36b6c68b509
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 26 10:28:36 2014 -0700
vfio: Fix overrun after readlink() fills buffer completely
readlink() returns the number of bytes written to the buffer, and it
doesn't write a terminating null byte. vfio_init() writes it itself.
Overruns the buffer when readlink() filled it completely.
Fix by treating readlink() filling the buffer completely as error,
like we do in pci-assign.c's assign_failed_examine().
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit c04018e93390e31b40044f3db92c173fb0ccb3d2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:09 2014 +0000
dma/pl330: implement dmaadnh instruction
Implement the missing DMAADNH instruction. This is a minor variant
of the DMAADDH instruction, so factor out to a common implementation
for both (dmaadxh).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
73ab13532a7cae53441da89b46c279b5f50785e3.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a5ae7e3984d4bb624d6e8ec95c64fa272deb07fc
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Fix buffer depth
This is the product of the data-width and the depth arguments, I.e the
depth of the FIFO is in terms of data entries and not bytes (which is
what the original implementation was suggesting). Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
c34de31031511538ccdb3164b48ee8a6a973ebd4.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 432a0a130e203e18656e54f59e817271bf1c078f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Add event debugging printfs
These are helpful to anyone trying to debug event sequencing.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e82a0ad804db3de4f46839e55a9d287735ef870d.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1c8be73d4ec576450f315d6a94fc0c89e200c479
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Rename parent_obj
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
abb137347ea1ee9c31487b544f3d5435fb17f6a4.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c3143ba87768cbbedece32b90aa5eb5485d6d23b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: printf format type sweep.
Use PRI formats as appropriate rather than raw %x and %d. This fixes
debug printfery on some host platforms. Fix types of debug only
variables as appropriate.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
dbb5f5fd048b2d4a3cb5c6357577d11211a7a585.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 024c6e2ea575d6ca2e3e1cfb8fcff7f218bb5daf
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Fix misleading type
This type really should just be a regular int as no usages rely on it's
32 bitness (it's only meaningful as a bit position and not a bit mask).
This also fixes a printf which uses the variable with a regular %d.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
2a99d31f377aee371476d9da8fd0d1b7efa30f63.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 63a31905cbce5e7c2503dd22bf5977636df271e5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
dma/pl330: Delete overly verbose debug printf
When using event synchronisation, this particular debug printf floods.
Just delete it.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
dd94d19493f97c47497b9d8caf74ca43e70d58fd.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit eb0ecd5ad908b72dfe4fadf84272616b2de101d1
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
target-arm: Add support for AArch32 ARMv8 CRC32 instructions
Add support for AArch32 CRC32 and CRC32C instructions added in ARMv8
and add a CPU feature flag to enable these instructions.
The CRC32-C implementation used is the built-in qemu implementation
and The CRC-32 implementation is from zlib. This requires adding zlib
to LIBS to ensure it is linked for the linux-user binary.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393411566-24104-3-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0956ff5a4e1fceb33e098133dd2b083647bb8eaa
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
include/qemu/crc32c.h: Rename include guards to match filename
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393411566-24104-2-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f79ee32b556cad0b6db6f7c866ac4e6b4244cc1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
target-arm: Add utility function for checking AA32/64 state of an EL
There are various situations where we need to behave differently
depending on whether a given exception level is in AArch64 or
AArch32 state. The state of the current exception level is stored
in env->aarch64, but there's no equivalent guest-visible architected
state bits for the status of the exception levels "above" the
current one which may still affect execution. At the moment we
only support EL1 (ie no EL2 or EL3) and insist that AArch64
capable CPUs run with EL1 in AArch64 state, but these may change
in the future, so abstract out the "what state is this?" check
into a utility function which can be enhanced later if necessary.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 34222fb8101298ead0e43766340843b469597580
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: Implement AArch64 view of CPACR
Implement the AArch64 view of the CPACR. The AArch64
CPACR is defined to have a lot of RES0 bits, but since
the architecture defines that RES0 bits may be implemented
as reads-as-written and we know that a v8 CPU will have
no registered coprocessors for cp0..cp13 we can safely
implement the whole register this way.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 9cfa0b4e4c3076683b6c528a1a3b43d5a202a497
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: A64: Implement MSR (immediate) instructions
Implement the MSR (immediate) instructions, which can update the
PSTATE SP and DAIF fields.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 4cc35614a056839df8b0675cd16f55e758cd570d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: Store AIF bits in env->pstate for AArch32
To avoid complication in code that otherwise would not need to
care about whether EL1 is AArch32 or AArch64, we should store
the interrupt mask bits (CPSR.AIF in AArch32 and PSTATE.DAIF
in AArch64) in one place consistently regardless of EL1's mode.
Since AArch64 has an extra enable bit (D for debug exceptions)
which isn't visible in AArch32, this means we need to keep
the enables in env->pstate. (This is also consistent with the
general approach we're taking that we handle 32 bit CPUs as
being like AArch64/ARMv8 CPUs but which only run in 32 bit mode.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 1ed69e82b8f1dc69eb4c3e556a6417885a5dd49c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: A64: Implement WFI
Implement the WFI instruction for A64; this just involves wiring
up the instruction, and adding a gen_a64_set_pc_im() which was
accidentally omitted from the A64 decoder top loop.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit d9ea7d290b685844d3603103bc53ad977e6f68a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Get MMU index information correct for A64 code
Emit the correct MMU index information for loads and stores from
A64 code, rather than hardwiring it to "always kernel mode",
by storing the exception level in the TB flags, and make
cpu_mmu_index() return the right answer when the CPU is in
AArch64 mode.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit cd5c11b84b2539049e0fdc2c4c5f3e86e88a8bff
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 OSLAR_EL1 sysreg as WI
Define a dummy version of the AArch64 OSLAR_EL1 system register
which just ignores writes. Linux will always write to this (it
is the OS lock used for debugging), but we don't support debug.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 0b45451e588e35965175c06b832a799a159716f0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 dummy breakpoint and watchpoint registers
In AArch64 the breakpoint and watchpoint registers are mandatory, so the
kernel always accesses them on bootup. Implement dummy versions, which
read as written but have no actual effect.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit e60cef860f76cd558ee70e1d145eea1c24de20e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 ID and feature registers
Implement the AArch64-specific ID and feature registers. Although
many of these are currently not used by the architecture (and so
always zero for all implementations), we define the full set of
fields in the ARMCPU struct for symmetry.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit a7adc4b779d24e75d05d43fb6311ab9e6449523a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 generic timers
Implement the AArch64 view of the generic timer system registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4b7fff2fabeaa3d13e23b249b855f39f0921048d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 MPIDR
Implement the AArch64 MPIDR system register.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 327ed10fa2331384c1a58c794e0356e6d88089c8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 TTBR*
Implement the AArch64 TTBR* registers. For v7 these were already 64 bits
to handle LPAE, but implemented as two separate uint32_t fields.
Combine them into a single uint64_t which can be used for all purposes.
Since this requires touching every use, take the opportunity to rename
the field to the architectural name.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit a505d7fe5f638c4aaba93150f71968147f7c2b3a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 VBAR_EL1
Implement the A64 view of the VBAR system register.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit cb2e37dffaab38e962b86b3ca6f4cf0de22d9e69
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 TCR_EL1
Implement the AArch64 TCR_EL1, which is the 64 bit view of
the AArch32 TTBCR. (The uses of the bits in the register are
completely different, but in any given situation the CPU will
always interpret them one way or the other. In fact for QEMU EL1
is always 64 bit, but we share the state field because this
is the correct mapping to permit a future implementation of EL2.)
We also make the AArch64 view the 'master' as far as migration
and reset is concerned.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 5ebafdf31a22069952cd6c4f4e60df1cb6a6a22e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 SCTLR_EL1
Implement the AArch64 view of the system control register SCTLR_EL1.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit b0fe2427511232f361942f672511970e5c75eb4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 memory attribute registers
Implement the AArch64 memory attribute registers. Since QEMU doesn't
model caches it does not need to care about memory attributes at all,
and we can simply make these read-as-written.
We did not previously implement the AArch32 versions of the MAIR
registers, which went unnoticed because of the overbroad TLB_LOCKDOWN
reginfo definition; provide them now to keep the 64<->32 register
relationship clear.
We already provided AMAIR registers for 32 bit as simple RAZ/WI;
extend that to provide a 64 bit RAZ/WI AMAIR_EL1.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 91e240698f6a82cb73893ee0ce26369aa6232f7b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 dummy MDSCR_EL1
We don't support letting the guest do debug, but Linux prods the
monitor debug system control register anyway, so implement a dummy
RAZ/WI version.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 168aa23bb01a1f6266ba9228dfd248617872ca5c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 TLB invalidate ops
Implement the AArch64 TLB invalidate operations. This is
the full set of TLBI ops defined for a CPU which doesn't
implement EL2 or EL3.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8af35c37d296daa463c0d4ed575a51729afc7f6d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:02 2014 +0000
target-arm: Implement AArch64 cache invalidate/clean ops
Implement all the AArch64 cache invalidate and clean ops
(which are all NOPs since QEMU doesn't emulate the cache).
The only remaining unimplemented cache op is DC ZVA.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit cd4da6317748e3ae2bed5fcc5fb3f81e5c853446
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:02 2014 +0000
target-arm: Implement AArch64 MIDR_EL1
Implement the AArch64 view of the MIDR system register
(for AArch64 it is a simple constant, unlike the complicated
mess that TI925 imposes on the 32-bit view).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 0eef9d9833df1c2376bd3b761abc6580df15af3b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:02 2014 +0000
target-arm: Implement AArch64 CurrentEL sysreg
Implement the CurrentEL sysreg.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 7da845b0f42a791d65045284f90977d636c654cc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:01 2014 +0000
target-arm: A64: Make cache ID registers visible to AArch64
Make the cache ID system registers (CLIDR, CSSELR, CCSIDR, CTR)
visible to AArch64. These are mostly simple 64-bit extensions of the
existing 32 bit system registers and so can share reginfo definitions.
CTR needs to have a split definition, but we can clean up the
temporary user-mode implementation in favour of using the CPU-specified
reset value, and implement the system-mode-required semantics of
restricting its EL0 accessibility if SCTLR.UCT is not set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 67ed771dedd2a7c6f094e0d70fb1fde8f5fb79da
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:01 2014 +0000
target-arm: Fix raw read and write functions on AArch64 registers
The raw read and write functions were using the ARM_CP_64BIT flag in
ri->type to determine whether to treat the register's state field as
uint32_t or uint64_t; however AArch64 register info structs don't use
that flag. Abstract out the "how big is the field?" test into a
function and fix it to work for AArch64 registers. For this to work
we must ensure that the reginfo structs put into the hashtable have
the correct state field for their use, not the placeholder STATE_BOTH.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 855011be05fad72e17e0280d0bab87a4bc840695
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:01 2014 +0000
hw: arm_gic_kvm: Add KVM VGIC save/restore logic
Save and restore the ARM KVM VGIC state from the kernel. We rely on
QEMU to marshal the GICState data structure and therefore simply
synchronize the kernel state with the QEMU emulated state in both
directions.
We take some care on the restore path to check the VGIC has been
configured with enough IRQs and CPU interfaces that we can properly
restore the state, and for separate set/clear registers we first fully
clear the registers and then set the required bits.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687921-26921-1-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1da41cc1c6c3efbe2ed47228068bd80dbdc49d0e
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
arm: vgic device control api support
Support creating the ARM vgic device through the device control API and
setting the base address for the distributor and cpu interfaces in KVM
VMs using this API.
Because the older KVM_CREATE_IRQCHIP interface needs the irq chip to be
created prior to creating the VCPUs, we first test if we can use the
device control API in kvm_arch_irqchip_create (using the test flag from
the device control API). If we cannot, it means we have to fall back to
KVM_CREATE_IRQCHIP and use the older ioctl at this point in time. If
however, we can use the device control API, we don't do anything and
wait until the arm_gic_kvm driver initializes and let that use the
device control API.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-5-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a6a7ccaae4015aa02bdbce75bafb9d868636655
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
kvm: Common device control API functions
Introduces two simple functions:
int kvm_device_ioctl(int fd, int type, ...);
int kvm_create_device(KVMState *s, uint64_t type, bool test);
These functions wrap the basic ioctl-based interactions with KVM in a
way similar to other KVM ioctl wrappers.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-4-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d6032e06d10d20e91729816a8c9c6792e5774ab1
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
kvm: Introduce kvm_arch_irqchip_create
Introduce kvm_arch_irqchip_create an arch-specific hook in preparation
for architecture-specific use of the device control API to create IRQ
chips.
Following patches will implement the ARM irqchip create method to prefer
the device control API over the older KVM_CREATE_IRQCHIP API.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-3-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 876074c228ddccffe9bfcf31920202d68777545b
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
linux-headers: Update from v3.14-rc3
Update to tag v3.14-rc3 (6d0abeca3242a88cab8232e4acd7e2bf088f3bc2)
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-2-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6453fa998a11e133e673c0a613b88484a8231d1d
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:19:59 2014 +0000
hw/intc/arm_gic: Fix GIC_SET_LEVEL
The GIC_SET_LEVEL macro unfortunately overwrote the entire level
bitmask instead of just or'ing on the necessary bits, causing active
level PPIs on a core to clear PPIs on other cores.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Rob Herring <rob.herring@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1393031030-8692-1-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c10f7fc3d167799f19d2184f05012b24cc56878d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:59 2014 +0000
target-arm: Load correct access bits from ARMv5 level 2 page table
descriptors
In ARMv5 level 2 page table descriptors, each 4K or 64K page is split into
four subpages, each of which can have different access permission
settings,
which are specified by four two-bit fields in the l2 descriptor. A
long-standing cut-and-paste error meant we were using the wrong bits in
the virtual address to select the access-permission field for 4K pages.
The error has presumably not been noticed before because most guests don't
make use of the ability to set the access permissions differently for
each 1K subpage: if the guest gives the whole page the same access
permissions it doesn't matter which of the 4 AP fields we select.
(The whole issue is irrelevant for ARMv7 CPUs anyway because subpages
aren't supported there.)
Reported-by: Vivek Rai <Vivek.Rai@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392667690-8731-1-git-send-email-peter.maydell@xxxxxxxxxx
commit cf143ad35018c5fc1da6365b45acda2b34aba90a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:59 2014 +0000
hw/arm/musicpal: Remove nonexistent CDTP2, CDTP3 registers
The ethernet device in the musicpal only has two tx queues,
but we modelled it with four CTDP registers, presumably a
cut and paste from the rx queue registers. Since the tx_queue[]
array is only 2 entries long this allowed a guest to overrun
this buffer. Remove the nonexistent registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392737293-10073-1-git-send-email-peter.maydell@xxxxxxxxxx
Acked-by: Jan Kiszka <jan.kiszka@xxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit fce0a826083e0416981e2ea9518ce5faa75b81a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
hw/intc/exynos4210_combiner: Don't overrun output_irq array in init
The Exynos4210 combiner has IIC_NIRQ inputs and IIC_NGRP outputs;
use the correct constant in the loop initializing our output
sysbus IRQs so that we don't overrun the output_irq[] array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392659611-8439-1-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit 775fda92a1b52c784cd51c095d67fcca7250e1e5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
target-arm: Fix incorrect arithmetic constructing short-form PAR for ATS
ops
Correct some obviously nonsensical bit manipulation spotted by Coverity
when constructing the short-form PAR value for ATS operations.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392659525-8335-1-git-send-email-peter.maydell@xxxxxxxxxx
commit cba933b2257ef0ad241756a0ff86bc0acda685ca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
hw/timer/arm_timer: Avoid array overrun for bad addresses
The integrator's timer read/write functions log an error for
bad addresses in guest accesses, but were falling through and
using an out of bounds array index rather than returning early.
Fix this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1392647854-8067-4-git-send-email-peter.maydell@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
commit 106a73b6d200035c5156f90b5f9b6a53d3adb43b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
hw/net/stellaris_enet: Avoid unintended sign extension
Add a cast to avoid an unintended sign extension that
would mean we returned 0xffffffff in the high 32 bits
for an IA0 read if bit 31 in the MAC address was 1.
(This is harmless since we'll only be doing 4 byte
reads, but it could be confusing, so best avoided.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1392647854-8067-3-git-send-email-peter.maydell@xxxxxxxxxx
commit ec1efab95767312ff4afb816d0d4b548e093b031
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:57 2014 +0000
hw/misc/arm_sysctl: Fix bad boundary check on mb clock accesses
Fix incorrect use of sizeof() rather than ARRAY_SIZE() to guard
accesses into the mb_clock[] array, which was allowing a malicious
guest to overwrite the end of the array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1392647854-8067-2-git-send-email-peter.maydell@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
commit d77f7779b4d74354b3444ceb0f93105ced3c26c8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 21 17:43:09 2014 +0100
fsdev: Fix overrun after readlink() fills buffer completely
readlink() returns the number of bytes written to the buffer, and it
doesn't write a terminating null byte. do_readlink() writes it
itself. Overruns the buffer when readlink() filled it completely.
Fix by reserving space for the null byte when calling readlink(), like
we do elsewhere.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit d5001cf787ad0514839a81d0f2e771e01e076e21
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:42:23 2014 -0800
xilinx: Delete hw/include/xilinx.h
This is now obsolete - remove the header and all its inclusions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit d91a68a73b6457c22b743e158e36894ccaa489bc
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:41:49 2014 -0800
xilinx: Inline usages of xilinx_axi*_init()
Inline the only usage of each of xilinx_axiethernet_init and
xilinx_axidma_init. Converts this init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit b8d4e1c43b06caadf96c350511201fd50642e4f2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:41:14 2014 -0800
xilinx: Inline usage of xilinx_ethlite_create()
Inline the only usage. Converts this init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 29873712e6f82d4dafd7ab8cff930136f92a0e06
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:40:39 2014 -0800
xilinx: Inline usages of xilinx_timer_create()
Inline these usages. Converts these init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 13c9bfbfbb3e20d5b58c7760d3338e7a3948ecd8
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:40:04 2014 -0800
xilinx: Inline usages of xilinx_intc_create()
Inline these usages. Converts these init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 8174196b7f8e82a2f17aa2ab0ba1a791c610fbb1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:39:29 2014 -0800
microblaze/ml605: Define macros for irq/memory maps
Define (missing) macros for the interrupt and memory maps for the sake
of self documentation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 81cce07ec6217351d291fc318fb8bf2d8f865032
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:38:54 2014 -0800
ppc/virtex_ml507: Define macros for irq/memory maps
Define macros for the interrupt and memory maps for the sake of self
documentation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 05a738c4eca9e809226dec4b83624a3bad8066ee
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:38:19 2014 -0800
microblaze/s3adsp_1800: Define macros for irq map
Define macros for the interrupt map for the sake of self documentation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit aa0d1f448871314bfc535da97eb003fe7766d4c2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 25 17:36:55 2014 +0100
modules: do not include gmodule-2.0 in static builds
gmodule-2.0's pkg-config files include -Wl,--export-dynamic, which breaks
static builds. It is a glib bug, but we need to support --static builds
for
the linux-user targets, and in the end all that is needed to fix this is:
* outlaw --enable-modules --static, which makes little sense anyway
* only include gmodule-2.0's cflags and ldflags if --enable-modules is
specified on the command line.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1393346215-5636-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a89d97df1f6d9f5bd6403a9d91d9d7cd86bdd394
Merge: 0459650 9c70434
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 15:17:24 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-3' into
staging
qxl: add sanity check
# gpg: Signature made Mon 24 Feb 2014 12:01:27 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-3:
qxl: add sanity check
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ad37bb3b000963b36b5c30f5a4239cfbc4fe8725
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 20 12:14:09 2014 +0100
virtio-net: use qemu_get_queue() where possible
qemu_get_queue() is a shorthand for qemu_get_subqueue(n->nic, 0). Use
the shorthand where possible.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e3e48565c1553f9ab4c34c2388287a013ef30deb
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 20 12:14:08 2014 +0100
vhost_net: use offload API instead of bypassing it
There is no need to access backend->info->has_vnet_hdr() and friends
anymore. Use the qemu_has_vnet_hdr() API instead.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d6085e3ace20bc9b0fa625d8d79b22668710e217
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 20 12:14:07 2014 +0100
net: remove implicit peer from offload API
The virtio_net offload APIs are used on the NIC's peer (i.e. the tap
device). The API was defined to implicitly use nc->peer, saving the
caller the trouble.
This wasn't ideal because:
1. There are callers who have the peer but not the NIC. Currently they
are forced to bypass the API and access peer->info->... directly.
2. The rest of the net.h API uses nc, not nc->peer, so it is
inconsistent.
This patch pushes nc->peer back up to callers.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 41310c68781d742fa9bbfd5fcb1df9b7f23f5759
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Thu Dec 19 04:52:01 2013 +0800
rdma: rename 'x-rdma' => 'rdma'
As far as we can tell, all known bugs have been fixed:
1. Parallel migrations are working
2. IPv6 migration is working
3. virt-test is working
I'm not comfortable sending the revised libvirt patch
until this is accepted or review suggestions are addressed,
(including pin-all support. It does not make sense to
remove experimental for one thing and not the other. That's
too many trips through the libvirt community).
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6d3cb1f970ee85361618f7ff02869180394e012d
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Feb 13 19:44:45 2014 +0000
Fix two XBZRLE corruption issues
Push zero'd pages into the XBZRLE cache
A page that was cached by XBZRLE, zero'd and then XBZRLE'd again
was being compared against a stale cache value
Don't use 'qemu_put_buffer_async' to put pages from the XBZRLE cache
Since the cache might change before the data hits the wire
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 24a370ef2351dc596a7e47508b952ddfba79ef94
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Wed Feb 12 17:20:10 2014 +0000
Fix vmstate_info_int32_le comparison/assign
Fix comparison of vmstate_info_int32_le so that it succeeds if loaded
value is (l)ess than or (e)qual
When the comparison succeeds, assign the value loaded
This is a change in behaviour but I think the original intent, since
the idea is to check if the version/size of the thing you're loading is
less than some limit, but you might well want to do something based on
the actual version/size in the file
Fix up comment and name text
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit aded6539d983280212e08d09f14157b1cb4d58cc
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Feb 11 22:56:00 2014 +0100
qemu_file: use fwrite() correctly
fwrite() returns the number of items written. But when there is one
error, it can return a short write.
In the particular bug that I was tracking, I did a migration to a
read-only filesystem. And it was able to finish the migration
correctly. fwrite() never returned a negative error code, nor zero,
always 4096. (migration writes chunks of about 14000 bytes). And it
was able to "complete" the migration with success (yes, reading the
file was a bit more difficult).
To add insult to injury, if your amount of memory was big enough (12GB
on my case), it overwrote some important structure, and from them,
malloc failed. This check makes the problem go away.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0459650d94d18218808fcabc8c3227d2ee99af39
Merge: 05fd3bf a749f42
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 12:30:01 2014 +0000
Merge remote-tracking branch 'remotes/mdroth/qga-pull-2014-02-24' into
staging
* remotes/mdroth/qga-pull-2014-02-24:
qemu-ga: isa-serial support on Windows
qga: Fix memory allocation pasto
qga: Don't require 'time' argument in guest-set-time command
qga: vss-win32: Fix interference with snapshot deletion by other VSS
request
qga: vss-win32: Fix interference with snapshot creation by other VSS
requesters
qga: vss-win32: Use NULL as an invalid pointer for OpenEvent and
CreateEvent
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 05fd3bf2a1c9fc26414d3cf608732c40d0d9eb23
Merge: e7a1d6c 604e1f9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 11:54:40 2014 +0000
Merge remote-tracking branch 'remotes/xtensa/tags/20140224-xtensa' into
staging
Xtensa fixes and improvements queue 2014-02-24:
- add support for ML605 and KC705 FPGA boards;
- flush opencores_eth queue when new RX descriptor is available;
- add basic checks to cache opcodes;
- make core configuration available to tests;
- implement HW config ID special registers.
# gpg: Signature made Mon 24 Feb 2014 00:52:42 GMT using RSA key ID
F83FA044
# gpg: Good signature from "Max Filippov
<max.filippov@xxxxxxxxxxxxxxxxxx>"
# gpg: aka "Max Filippov <jcmvbkbc@xxxxxxxxx>"
* remotes/xtensa/tags/20140224-xtensa:
target-xtensa: provide HW confg ID registers
target-xtensa: refactor standard core configuration
target-xtensa: add basic tests for cache opcodes
target-xtensa: allow using core configuration in tests
target-xtensa: add overridable test_init macro
target-xtensa: add basic checks to icache opcodes
target-xtensa: add basic checks to dcache opcodes
target-xtensa: add RRRI4 opcode format fields
opencores_eth: flush queue whenever can_receive can go from false to
true
hw/xtensa: add support for ML605 and KC705 FPGA board
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a985b37272b563b1f8414431c6064eb1aa0c97b
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 20 15:40:43 2014 +0100
net: Disable netmap backend when not supported
This patch fixes configure so that the netmap backend is not compiled in
if the
host doesn't support an API version >= 11. A version upper bound (15) has
been
added so that the netmap API can be extended with some minor features
without
requiring QEMU code modifications.
Moreover, some changes have been done to net/netmap.c in order to reflect
the
current netmap API/ABI (11).
The NETMAP_WITH_LIBS macro makes possible to include some utilities (e.g.
netmap ring macros, D(), RD() and other high level functions) through the
netmap
headers. In this way we get rid of the D and RD macro definitions in the
QEMU
code, and we open the way for further code simplifications that will be
introduced by future patches.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f6c65bfb93fd90f69a11fd1db1e7b2cebb056b01
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:20 2014 +0100
net: add offloading support to netmap backend
Whit this patch, the netmap backend supports TSO/UFO/CSUM
offloadings, and accepts the virtio-net header, similarly to what
happens with TAP. The offloading callbacks in the NetClientInfo
interface have been implemented.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3bac80d31af9d38d02e80d1541a1ea8e70067bad
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:19 2014 +0100
net: make tap offloading callbacks static
Since TAP offloadings are manipulated through a new API, it's
not necessary to export them in include/net/tap.h anymore.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf528b89580797050b8cf60fee6247f35531a675
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:18 2014 +0100
net: virtio-net and vmxnet3 use offloading API
With this patch, virtio-net and vmxnet3 frontends make
use of the qemu_peer_* API for backend offloadings manipulations,
instead of calling TAP-specific functions directly.
We also remove the existing checks which prevent those frontends
from using offloadings with backends different from TAP (e.g. netmap).
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2e753bcc7db1a7d2af0d47c0ae7e82a04ce69d63
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:17 2014 +0100
net: TAP uses NetClientInfo offloading callbacks
The TAP NetClientInfo structure is inizialized with the TAP-specific
functions that manipulates offloading features.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1f55ac4586bfae81b1e805fb2f0713cb21501ae2
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:16 2014 +0100
net: extend NetClientInfo for offloading
Some new callbacks have been added to generalize the operations done
by virtio-net and vmxnet3 frontends to manipulate TAP offloadings.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e96dfd110ee1ad70e7ddbfae01ca95c66f70dac0
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:15 2014 +0100
net: change vnet-hdr TAP prototypes
The tap_has_vnet_hdr() and tap_has_vnet_hdr_len() functions used
to return int, even though they only return true/false values.
This patch changes the prototypes to return bool.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6e50d18847a76704c8a49e406084a2321117b954
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 3 08:20:02 2014 +0400
opencores_eth: flush queue whenever can_receive can go from false to true
The following registers control whether MAC can receive frames:
- MODER.RXEN bit that enables/disables receiver;
- TX_BD_NUM register that specifies number of RX descriptors.
Notify QEMU networking core when the MAC is ready to receive frames.
Discard frame and raise BUSY interrupt when the frame arrives but the
current RX descriptor is not empty.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e7a1d6c52a3ac6e76e5653c830b2545e0a4043d3
Merge: c58e291 6141f3b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 10:50:11 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches
# gpg: Signature made Fri 21 Feb 2014 21:42:24 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream: (54 commits)
iotests: Mixed quorum child device specifications
quorum: Simplify quorum_open()
quorum: Add unit test.
quorum: Add quorum_open() and quorum_close().
quorum: Implement recursive .bdrv_recurse_is_first_non_filter in quorum.
quorum: Add quorum_co_flush().
quorum: Add quorum_invalidate_cache().
quorum: Add quorum_getlength().
quorum: Add quorum mechanism.
quorum: Add quorum_aio_readv.
blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from
blkverify.
quorum: Add quorum_aio_writev and its dependencies.
quorum: Create BDRVQuorumState and BlkDriver and do init.
quorum: Create quorum.c, add QuorumChildRequest and QuorumAIOCB.
check-qdict: Test termination of qdict_array_split()
check-qdict: Adjust test for qdict_array_split()
qdict: Extract non-QDicts in qdict_array_split()
qemu-config: Sections must consist of keys
qemu-iotests: Check qemu-img command line parsing
qemu-img: Allow -o help with incomplete argument list
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c58e291591dbc1c846fa152d4792554803405ebb
Merge: 6dedf05 58da5b1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 24 16:12:55 2014 +0000
Merge remote-tracking branch 'remotes/sstabellini/xen-140220' into staging
* remotes/sstabellini/xen-140220:
xen_disk: fix io accounting
Call pci_piix3_xen_ide_unplug from unplug_disks
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6dedf0522c3fdeb10fe27d4aef35f4c57f3d0806
Merge: 98b21dc f966f9d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 24 15:37:59 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/configure' into staging
* remotes/bonzini/configure:
build: softmmu targets do not have a "main.o" file
configure: Disable libtool if -fPIE does not work with it (bug #1257099)
block: convert block drivers linked with libs to modules
Makefile: introduce common-obj-m and block-obj-m for DSO
Makefile: install modules with "make install"
module: implement module loading
rules.mak: introduce DSO rules
darwin: do not use -mdynamic-no-pic
block: use per-object cflags and libs
rules.mak: allow per object cflags and libs
rules.mak: fix $(obj) to a real relative path
util: Split out exec_dir from os_find_datadir
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 98b21dcdb331798709edafcd65b5b7a1e07302db
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 15:10:16 2014 +0000
configure: check that C++ compiler actually works
Check that the C++ compiler works with the C compiler; if it
does not, then don't pass CXX to the build process. This
fixes a regression where QEMU was no longer building if the
build environment didn't have a C++ compiler (introduced
in commit 3144f78b, which incorrectly assumed that rules.mak
would only see a non-empty $(CXX) if configure had actually
found a working C++ compiler).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reported-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Tested-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1392909016-14028-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 9c70434f825fd0d2e89d1aa0f872159378d0aab3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 19 11:40:17 2014 +0100
qxl: add sanity check
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit cd6c88305f2ae8fe335a001058032e03f0ff4b4e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 21 17:10:04 2014 +0100
hda-audio: qom cleanups
Add HDA_AUDIO type and macro, drop DO_UPCAST().
Had to add a abstract hda audio class as parent
for all hda-* variants to make that fly. Killed
some init code duplication while being at it.
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 604e1f9cd0602e92ba49a27dd3a46db3d29f882e
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sat Feb 15 20:49:09 2014 +0400
target-xtensa: provide HW confg ID registers
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 676056d4f1598f3f368da26fdc43371e8ab3a7fb
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sat Feb 15 20:58:47 2014 +0400
target-xtensa: refactor standard core configuration
Coalesce all standard configuration sections into single
DEFAULT_SECTIONS macro for all cores. This allows to add new features in
a single place: overlay_tool.h
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 2c09eee112677c64a5e060eb9d491981843d7531
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Tue Feb 11 12:22:19 2014 +0400
target-xtensa: add basic tests for cache opcodes
Test that non-locking prefetch operations don't cause exceptions on
missing TLB and that other 'hit' cache operations do.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit a2e67072b7c3b2abf70d0a11918723a5dd841a05
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 10 20:20:52 2014 +0400
target-xtensa: allow using core configuration in tests
Add path to the core configuration directory to test build command and
replace .include asm directive with #include to enable preprocessing.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit d0fa1f0df3c8c269df083e2c8a10dfad09dffcf3
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 10 12:26:45 2014 +0400
target-xtensa: add overridable test_init macro
Some test suites, like MMU, need per-test initialization. Don't make them
redefine test macro, add test_init for that purpose.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit e848dd4248230c0463841a16d1fa9eb054a2d211
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Feb 7 15:57:22 2014 +0400
target-xtensa: add basic checks to icache opcodes
Check privilege level for privileged instructions (IHU, III, IIU and IPFL
are privileged), memory accessibility for instructions that reference
memory
(IH* and IPFL) and windowed register validity for all instruction cache
instructions.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 7c84259019a945e4ff275994b96c0de4496d2a5e
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Feb 7 15:57:22 2014 +0400
target-xtensa: add basic checks to dcache opcodes
Check privilege level for privileged instructions (DHI, DHU, DII, DIU,
DIWB,
DIWBI, DPFL are privileged), memory accessibility for instructions that
reference memory (all DH* and DPFL) and windowed register validity for all
data cache instructions.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 6502668237a27985dd386c6e42b46e8977b4f2c0
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 10 09:16:33 2014 +0400
target-xtensa: add RRRI4 opcode format fields
This encoding is used by cache instructions.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit b807b5ff894b79e31ccd2ff5bd023577ecf45a6a
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 3 07:57:55 2014 +0400
opencores_eth: flush queue whenever can_receive can go from false to true
The following registers control whether MAC can receive frames:
- MODER.RXEN bit that enables/disables receiver;
- TX_BD_NUM register that specifies number of RX descriptors.
Notify QEMU networking core when the MAC is ready to receive frames.
Discard frame and raise BUSY interrupt when the frame arrives but the
current RX descriptor is not empty.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e0db904d1dc97be0eed7fbb52954d03ec05bee07
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Feb 2 02:44:41 2014 +0400
hw/xtensa: add support for ML605 and KC705 FPGA board
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit a749f42da5129bbfadea6926964d9a213ed4bc5f
Author: Miki Mishael <mmishael@xxxxxxxxxx>
Date: Wed Jan 15 04:33:44 2014 -0500
qemu-ga: isa-serial support on Windows
Add support for isa-serial method for qemu-ga on Windows,
Added -p command line parameter for serial port name
specification, e.g. "-p COM15".
Signed-off-by: Miki Mishael <mmishael@xxxxxxxxxx>
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
*added default isa-serial path to help output
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 10b7c5dd0da1a92182e87f5fc1887d779ad1a9e8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 21 13:36:49 2014 +0100
qga: Fix memory allocation pasto
qmp_guest_file_seek() allocates memory for a GuestFileRead object
instead of the GuestFileSeek object it actually uses. Harmless,
because the GuestFileRead is slightly larger.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 2c958923bc09b1faf2505a988b4b1c458580e9ac
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Fri Jan 31 11:29:51 2014 +0100
qga: Don't require 'time' argument in guest-set-time command
As the description to the guest-set-time states, the command is
there to ease time synchronization after resume. If guest was
suspended for longer period of time, its system time can go off
so badly, that even NTP refuses to set it. That's why the command
was invented: to give users chance to set the time (not
necessarily 100% correct). However, there's is no real need for
us to require users to pass an arbitrary time. Especially if we
can read the correct value from RTC (boiling down to reading
host's time). Hence this commit enables logic:
guest-set-time() == guest-set-time($now_from_rtc)
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d9e1f574cb6eac0a3a2f97b67d2e7a3ad9c1dc95
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Mon Jan 13 12:25:39 2014 -0500
qga: vss-win32: Fix interference with snapshot deletion by other VSS
request
When a VSS requester such as vshadow.exe or diskshadow.exe requests to
delete snapshots, qemu-ga VSS provider's DeleteSnapshots() is also called
and returns E_NOTIMPL, that makes the deletion fail.
To avoid this issue, return S_OK and set values that represent no
snapshots
are deleted by qemu-ga VSS provider.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ff8adbcfdbbd9c0f2b01ff8a32bc75082fdd9844
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Mon Jan 13 12:25:29 2014 -0500
qga: vss-win32: Fix interference with snapshot creation by other VSS
requesters
When a VSS requester such as vshadow.exe or diskshadow.exe requests to
create disk snapshots, Windows may choose qemu-ga VSS provider if it is
only provider registered on the system. However, because it provides only
a
function to freeze the filesystem, the snapshotting fails.
This patch adds a check into CQGAVssProvider::IsVolumeSupported() to
reject
the request from other VSS requesters, so that the other provider is
chosen.
The check of requester is done by confirming event channels between
qemu-ga's requester and provider established. To ensure that the events
are
initialized when CQGAVssProvider::IsVolumeSupported() is called, it moves
the initialization earlier.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 4c1b8f1e8357d85c613d779596e4079cc581d74f
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Mon Jan 13 12:25:23 2014 -0500
qga: vss-win32: Use NULL as an invalid pointer for OpenEvent and
CreateEvent
OpenEvent and CreateEvent WinAPI return NULL when failed to open/create
events handles, instead of INVALID_HANDLE_VALUE (although their return
types are HANDLE).
This replaces INVALID_HANDLE_VALUE related to event handles with NULL.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d9738fd2463f71530d8d92fbb52ebdd1d78074fc
Author: Peter Lieven <pl@xxxxxxx>
Date: Sat Feb 22 13:17:24 2014 +0100
block/iscsi: fix segfault if writesame fails
commit fa6252b0 introduced a segfault because it tries
to read iTask.task->sense after iTask.task has been
freed.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 64cc22841e72d37d577416f5836155ecd0a9bfb6
Author: Roland Dreier <roland@xxxxxxxxxxxxxxx>
Date: Wed Feb 19 08:28:41 2014 -0800
scsi-disk: Add support for port WWN and index descriptors in VPD page 83h
To make a VM more convincing to my application, it's useful to be able
to add a port WWN and relative target port index to the descriptors
returned for VPD page 83h. Add device properties to allow setting
these, and return them from INQUIRY commands.
Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 24d3bd67aca958c8ea103646d9d326de00056e4d
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 17 18:34:08 2014 +0100
block/iscsi: query for supported VPD pages
this patch ensures that we only query for block provisioning and
block limits vpd pages if they are advertised. It also cleans
up the inquiry code and eliminates some redundant code.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 837c390137193e715fee20b35c0ddb164b1c4fa4
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Feb 18 13:08:39 2014 +0100
block/iscsi: fix deadlock on scsi check condition
the retry logic was broken because the complete status
of the task structure was not reset. this resulted in
an infinite loop retrying the command over and over.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7ef8cf9a0861b6f67f5e57428478c31bfd811651
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 29 18:47:39 2014 +0100
scsi-bus: Fix transfer length for VERIFY with BYTCHK=11b
The transfer length depends on field BYTCHK, which is encoded in byte
1, bits 1..2. However, the guard for for case BYTCHK=11b doesn't
work, and we get case 01b instead. Fix it.
Note that since emulated scsi-hd fails the command outright, it takes
SCSI passthrough of a device that actually implements VERIFY with
BYTCHK=11b to make the bug bite.
Screwed up in commit d12ad44. Spotted by Coverity.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 703dd81aca15ef1d91dba013b6b66c6e3ff88628
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 23 13:57:21 2014 +0100
scsi: report thin provisioning errors with werror=report
SCSI defines a status code for when a thin-provisioned LUNs would
exceed the allocated space, map ENOSPC to it.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c5f52875b980e54e6bebad6121c76863356e1d7f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Jan 24 15:02:24 2014 +0800
scsi: Change scsi sense buf size to 252
Current buffer size fails the assersion check in like
hw/scsi/scsi-bus.c:1655: assert(req->sense_len <=
sizeof(req->sense));
when backend (block/iscsi.c) returns more data then 96.
Exercise the core dump path by booting an Gentoo ISO with scsi-generic
device backed with iscsi (built with libiscsi 1.7.0):
x86_64-softmmu/qemu-system-x86_64 \
-drive file=iscsi://localhost:3260/iqn.foobar/0,if=none,id=drive-disk
\
-device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x6 \
-device scsi-generic,drive=drive-disk,bus=scsi1.0,id=iscsi-disk \
-boot d \
-cdrom gentoo.iso
qemu-system-x86_64: hw/scsi/scsi-bus.c:1655: scsi_req_complete:
Assertion `req->sense_len <= sizeof(req->sense)' failed.
According to SPC-4, section 4.5.2.1, 252 is the limit of sense data. So
increase the value to fix it.
Also remove duplicated define for the macro.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6141f3bd6904df7cf9519c6444a14a608b9874c4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 22:30:38 2014 +0100
iotests: Mixed quorum child device specifications
Add a test case to test 081 for mixing full option dicts and reference
strings of specifying the quorum child block devices through QMP.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8a87f3d72279acb89f3d09b28d285d2fb6a7decf
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 22:30:37 2014 +0100
quorum: Simplify quorum_open()
Although it may not look like it, this patch simplifies quorum_open().
qdict_array_split() is now able to return QLists with different objects
than only QDicts, therefore it will now do all the work and
quorum_open() does not have to handle reference strings by itself.
This allows mixing full option dicts and reference strings for
specifying the child block devices of quorum; furthermore, it improves
handling of malformed specifications.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c7fc5bc2a4d89ccdb1ffabc720e7c87558c9aaef
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:21 2014 +0100
quorum: Add unit test.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c88a1de51ab2f26a9a37ffc317249736de8c015c
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:20 2014 +0100
quorum: Add quorum_open() and quorum_close().
Example of command line:
-drive if=virtio,driver=quorum,\
children.0.file.filename=1.raw,\
children.0.node-name=1.raw,\
children.0.driver=raw,\
children.1.file.filename=2.raw,\
children.1.node-name=2.raw,\
children.1.driver=raw,\
children.2.file.filename=3.raw,\
children.2.node-name=3.raw,\
children.2.driver=raw,\
vote-threshold=2
blkverify=on with vote-threshold=2 and two files can be passed to
emulate blkverify.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 98a7a38f81af2b79a134eaa6cbed543aa3ca5fe2
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:19 2014 +0100
quorum: Implement recursive .bdrv_recurse_is_first_non_filter in quorum.
This is used to activate quorum snapshot.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1c508d174d4b9dfd066c3729a2560afeef5e081f
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:18 2014 +0100
quorum: Add quorum_co_flush().
Makes a vote to select error if any.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a28e4c408b28e4d55c5bd327a19290e1da3855dd
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:17 2014 +0100
quorum: Add quorum_invalidate_cache().
We really want that live migration works with quorum so implement
quorum_invalidate_cache().
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d55dee2044791a02394a3db7055cedac68dca26b
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:16 2014 +0100
quorum: Add quorum_getlength().
Check that every bs file returns the same length.
Otherwise, return -EIO to disable the quorum and
avoid length discrepancy.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 95c6bff3561eedaf7c7de287bc4a002720605a8d
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:15 2014 +0100
quorum: Add quorum mechanism.
This patchset enables the core of the quorum mechanism.
The num_children reads are compared to get the majority version and if
this
version exists more than threshold times the guest won't see the error at
all.
If a block is corrupted or if an error occurs during an IO or if the
quorum
cannot be established QMP events are used to report to the management.
Use gnutls's SHA-256 to compare versions.
--enable-quorum must be used to enable the feature.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7db6982a19f61e3668397b5e31ebfb16a477c414
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:14 2014 +0100
quorum: Add quorum_aio_readv.
Add code to do num_children reads in parallel and cleanup the structures
afterwards.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f70d7f7e4d05b7a7797815afdcb83f4375740838
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:13 2014 +0100
blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from
blkverify.
qemu_iovec_compare() will be used to compare IOs vectors in quorum
blkverify
mode. The patch extracts these functions in order to factorize the code.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 13e7956e3190b51f02e75374bb9dfdcacfd08829
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:12 2014 +0100
quorum: Add quorum_aio_writev and its dependencies.
Writes are mirrored num_children times on num_children devices.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cadebd7a2a590c2ac5ced58c2fc207c7ae78fb1b
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:11 2014 +0100
quorum: Create BDRVQuorumState and BlkDriver and do init.
Create the structure holding the quorum settings and write the minimal
block
driver instanciation boilerplate.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 27cec15e4ed4e69155f2499ceb46d22d8425102a
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:10 2014 +0100
quorum: Create quorum.c, add QuorumChildRequest and QuorumAIOCB.
Quorum is a block filter mirroring writes to num_children children.
For reads quorum reads each children and does a vote.
If more than vote_threshold versions are identical the quorum is reached
and
this winning version is returned to the guest. So quorum prevents bit
corruption.
For high availability purpose minority errors are reported via QMP but
the guest
does not see them.
This patch creates the driver C source file and introduces the structures
that
will be used in asynchronous reads and writes.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 64757582dafca9b0b3846677e368dd40bcd68b43
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 21:05:13 2014 +0100
check-qdict: Test termination of qdict_array_split()
qdict_array_split() should terminate if it encounters both an entry with
a key of "%u" and entries with keys prefixed "%u." for the same index.
This patch adds a test for this case.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7841c768846dcfa5a162ff46a8e98429aa0d2238
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 19:11:41 2014 +0100
check-qdict: Adjust test for qdict_array_split()
Test the new functionality of qdict_array_split(), that is, splitting
off single objects.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bae3f92a016b8eddc0d5806c24baea3ecedac0a0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 19:11:40 2014 +0100
qdict: Extract non-QDicts in qdict_array_split()
Currently, qdict_array_split() only splits off entries with a key prefix
of "%u.", packing them into a new QDict. This patch makes it support
entries with the plain key "%u" as well, directly putting them into the
new QList without creating a QDict.
If there is both an entry with a key of "%u" and other entries with keys
prefixed "%u." (for the same index), the function simply terminates.
To do this, this patch also adds a static function which tests whether a
given QDict contains any keys with the given prefix. This is used to test
whether entries with a key prefixed "%u." do exist in the source QDict
without modifying it.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ae39c4b2015dd5ee35021d0f4212bb1304106524
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 19:11:39 2014 +0100
qemu-config: Sections must consist of keys
In config_parse_qdict_section(), the QList returned by
qdict_array_split() is assumed to only contain QDicts. Currently, this
is true but it may (and will) change in the future. Therefore, check
whether the assumption actually holds.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a33cc31d08eb46ec2a4f214087c99e4bd4c907e9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:08 2014 +0100
qemu-iotests: Check qemu-img command line parsing
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit a283cb6e58fca846c658360971d23fdd1129db65
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:07 2014 +0100
qemu-img: Allow -o help with incomplete argument list
This patch allows using 'qemu-img $subcmd -o help' for the create,
convert and amend subcommands, without specifying the previously
required filename arguments.
Note that it's still allowed and meaningful to specify a filename: An
invocation like 'qemu-img create -o help sheepdog:foo' will also display
options that are provided by the Sheepdog driver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 626f84f39d4ae365a44dbbc0d0dd3c7739c3971a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:06 2014 +0100
qemu-img amend: Support multiple -o options
Instead of ignoring all option values but the last one, multiple -o
options now have the same meaning as having a single option with all
settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 2dc8328b4c6aba60f4ad543186f4e8aec2e9287e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:05 2014 +0100
qemu-img convert: Support multiple -o options
Instead of ignoring all option values but the last one, multiple -o
options now have the same meaning as having a single option with all
settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 77386bf6ebe67164a2d102b207fb3bc11af8c1e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:04 2014 +0100
qemu-img create: Support multiple -o options
If you specified multiple -o options for qemu-img create, it would
silently ignore all but the last one. This patch fixes the problem.
Now multiple -o options has the same meaning as having a single option
with all settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7cc07ab8daa01f100f36ab63382d491f2d278c64
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:03 2014 +0100
qemu-option: has_help_option() and is_valid_option_list()
has_help_option() checks if any help option ('help' or '?') occurs
anywhere in an option string, so that things like 'cluster_size=4k,help'
are recognised.
is_valid_option_list() ensures that the option list doesn't have options
with leading commas or trailing unescaped commas.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 5b7aa9b56d1bfc79916262f380c3fc7961becb50
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:07 2014 +0100
vdi: say why an image is bad
Instead of just putting it in debugging output, we can now put the
value in an Error.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 76abe4071d111a9ca6dcc9b9689a831c39ffa718
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:06 2014 +0100
block: do not abuse EMEDIUMTYPE
Returning "Wrong medium type" for an image that does not have a valid
header is a bit weird. Improve the error by mentioning what format
was trying to open it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 89ac8480a8c7f73dd943dcb1313d6bd984f9a870
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:05 2014 +0100
vmdk: correctly propagate errors
Now that we can return the "right" errors, use the Error** parameter
to pass them back instead of just printing them.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 37f09e5e3d206e7c555d28a7755cecfa137dad22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:04 2014 +0100
vmdk: do not try opening a file as both image and descriptor
This prepares for propagating errors from vmdk_open_sparse and
vmdk_open_desc_file up to the caller of vmdk_open.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d1833ef52be349e41d17e9c5ddaea8bb4ad3a7fb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:03 2014 +0100
vmdk: push vmdk_read_desc up to caller
Currently, we just try reading a VMDK file as both image and descriptor.
This makes it hard to choose which of the two attempts gave the best
error.
We'll decide in advance if the file looks like an image or a descriptor,
and this patch is the first step to that end.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a8842e6d2acc815e9660cc743bd0b0daba18c935
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:02 2014 +0100
vmdk: extract vmdk_read_desc
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c0f92b526dbd45fc5b539f51b7379156814dafe9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:01 2014 +0100
vvfat: correctly propagate errors
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o driver=vvfat,fat-type=24,dir=i386-softmmu
Valid FAT types are only 12, 16 and 32
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o driver=vvfat,fat-type=24,dir=i386-softmmu
qemu-io: can't open device (null): Valid FAT types are only 12, 16
and 32
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6890aad46b14849318053fe3ace6109e0f9c5932
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:00 2014 +0100
vhdx: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0fea6b797202c9efea534a474220a1cf23dd1968
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:59 2014 +0100
qed: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b6d5066d32f9e6c3d7508c1af9ae78327a927120
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:58 2014 +0100
qcow: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2a94fee3f649bdd2d71c78bb56977284f096f842
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:57 2014 +0100
curl: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f8d924e48167ec14ec4556441ec7999a30ef6640
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:56 2014 +0100
cow: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a7451cb850d115f257080aff3fbc54f255ebf8f7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:55 2014 +0100
gluster: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 24897a767bd778fc6a050537d024565f9272cd06
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:54 2014 +0100
gluster: default scheme to gluster:// and host to localhost.
Currently, "gluster:///volname/img" and (using file. options)
"file.driver=gluster,file.filename=foo" will segfault. Also,
"//host/volname/img" will be rejected, but it is a valid URL
that should be accepted just fine with "file.driver=gluster".
Accept all of these, by inferring missing transport and host
as TCP and localhost respectively.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f2917853f715b0ef55df29eb2ffea29dc69ce814
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:53 2014 +0100
iscsi: correctly propagate errors in iscsi_open
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=iscsi,file.filename=foo
Failed to parse URL : foo
qemu-io-old: can't open device (null): Could not open 'foo': Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o file.driver=iscsi,file.filename=foo
qemu-io: can't open device (null): Failed to parse URL : foo
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 35cb1748d54c8e56881a5e10138b3eb090f3a6bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:52 2014 +0100
iscsi: fix indentation
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 537b41f5013e1951fa15e8f18855b18d76124ce4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:51 2014 +0100
nbd: move socket wrappers to qemu-nbd
qemu-nbd is one of the few valid users of qerror_report_err. Move
the error-reporting socket wrappers there.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c06b72781dc6dff3f1e8209b7280ff4650eb6f36
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:50 2014 +0100
nbd: inline tcp_socket_incoming_spec into sole caller
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 77e8b9ca64e85d3d309f322410964b7852ec091e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:49 2014 +0100
nbd: correctly propagate errors
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=nbd
one of path and host must be specified.
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=nbd,file.host=foo,file.path=bar
path and host may not be used at the same time.
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd
qemu-io: can't open device (null): one of path and host must be
specified.
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd,file.host=foo,file.path=bar
qemu-io: can't open device (null): path and host may not be used at
the same time.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a69d9af449e9de200abc751d8614124c7486426f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:48 2014 +0100
nbd: produce a better error if neither host nor port is passed
Before:
$ qemu-io-old
qemu-io-old> open -r -o file.driver=nbd
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=nbd,file.host=foo,file.path=bar
path and host may not be used at the same time.
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd
one of path and host must be specified.
qemu-io: can't open device (null): Could not open image: Invalid
argument
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd,file.host=foo,file.path=bar
path and host may not be used at the same time.
qemu-io: can't open device (null): Could not open image: Invalid
argument
Next patch will fix the error propagation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f7d9fd8c7270de25b1e0d0a462b6958b53aa31b2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:12 2014 +0100
block: Remove bdrv_open_image()'s force_raw option
This option is now unnecessary since specifying BDRV_O_PROTOCOL as flag
will do exactly the same.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5acd9d81e1a59e1929aa3a06571f3fda1101c3a2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:11 2014 +0100
block: Reuse success path from bdrv_open()
The fail and success paths of bdrv_file_open() may be further shortened
by reusing code already existent in bdrv_open(). This includes
bdrv_file_open() not taking the reference to options which allows the
removal of QDECREF(options) in that function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5469a2a688b47bc6d8d224c3f1b02cd96b0e4b65
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:10 2014 +0100
block: Handle bs->options in bdrv_open() only
The fail paths of bdrv_file_open() and bdrv_open() naturally exhibit
similarities, thus it is possible to reuse the one from bdrv_open() and
shorten the one in bdrv_file_open() accordingly.
Also, setting bs->options in bdrv_file_open() is not necessary if it is
already done in bdrv_open().
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d4446eae630a363403ec73182cf371deeed4e172
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:09 2014 +0100
block: Remove bdrv_new() from bdrv_file_open()
Change bdrv_file_open() to take a simple pointer to an already existing
BDS instead of an indirect one. The BDS will be created in bdrv_open()
if necessary.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5d12aa63c77b4ee502da9b87de79bf2a9c225ee4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:08 2014 +0100
block: Reuse reference handling from bdrv_open()
Remove the reference parameter and the related handling code from
bdrv_file_open(), since it exists in bdrv_open() now as well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2e40134bfdbb073512f9f264cb96162787ec62b1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:07 2014 +0100
block: Make bdrv_file_open() static
Add the bdrv_open() option BDRV_O_PROTOCOL which results in passing the
call to bdrv_file_open(). Additionally, make bdrv_file_open() static and
therefore bdrv_open() the only way to call it.
Consequently, all existing calls to bdrv_file_open() have to be adjusted
to use bdrv_open() with the BDRV_O_PROTOCOL flag instead.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ddf5636dc9e4be894f2ab4a5f803d915478b5099
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:06 2014 +0100
block: Add reference parameter to bdrv_open()
Allow bdrv_open() to handle references to existing block devices just as
bdrv_file_open() is already capable of.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f67503e5bd8997ea7ec3f4bfa0af0e06321771a6
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:05 2014 +0100
block: Change BDS parameter of bdrv_open() to **
Make bdrv_open() take a pointer to a BDS pointer, similarly to
bdrv_file_open(). If a pointer to a NULL pointer is given, bdrv_open()
will create a new BDS with an empty name; if the BDS pointer is not
NULL, that existing BDS will be reused (in the same way as bdrv_open()
already did).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e6dc8a1f83835054fcaf1dcb41af7c868688c068
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Feb 4 11:45:31 2014 +0100
block: Fix bdrv_is_first_non_filter()
Consider top level BlockDriverStates as well.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Tested-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit a71835a0ccff168b19ffc9656fe27988821ec59a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 14:38:33 2014 +0100
qcow2: Set zero flag for discarded clusters
Instead of making the backing file contents visible again after a discard
request, set the zero flag if possible (i.e. on version >= 3).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 105a060188dc6fdd4551571a966514d1a5f6815a
Merge: 3e890c7 2ea5a2c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 15:04:57 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140220' into staging
target-arm queue:
* Fix a bug causing an assertion in the NVIC on ARMv7M models
* More A64 Neon instructions
* Refactor cpreg API to separate out access check functions, as
groundwork for AArch64 system mode
* Fix bug in linux-user A64 store-exclusive of XZR
# gpg: Signature made Thu 20 Feb 2014 11:12:57 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140220: (30 commits)
linux-user: AArch64: Fix exclusive store of the zero register
target-arm: A64: Implement unprivileged load/store
target-arm: A64: Implement narrowing three-reg-diff operations
target-arm: A64: Implement the wide 3-reg-different operations
target-arm: A64: Add most remaining three-reg-diff widening ops
target-arm: A64: Add opcode comments to disas_simd_three_reg_diff
target-arm: A64: Implement store-exclusive for system mode
target-arm: Fix incorrect type for value argument to write_raw_cp_reg
target-arm: Remove failure status return from read/write_raw_cp_reg
target-arm: Remove unnecessary code now read/write fns can't fail
target-arm: Drop success/fail return from cpreg read and write functions
target-arm: Convert miscellaneous reginfo structs to accessfn
target-arm: Convert generic timer reginfo to accessfn
target-arm: Convert performance monitor reginfo to accessfn
target-arm: Split cpreg access checks out from read/write functions
target-arm: Stop underdecoding ARM946 PRBS registers
target-arm: Log bad system register accesses with LOG_UNIMP
target-arm: Remove unused ARMCPUState sr substruct
target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
target-arm: Define names for SCTLR bits
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3e890c77cf038d8c2de66ed7996fe77a6f94787c
Merge: 7a87a7b b15d422
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:54:04 2014 +0000
Merge remote-tracking branch
'remotes/stefanha/tags/qtest-monitor-process-pull-request' into staging
qtest resource cleanup pull request
# gpg: Signature made Wed 19 Feb 2014 14:46:34 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/qtest-monitor-process-pull-request:
qtest: kill QEMU process on g_assert() failure
qtest: make QEMU our direct child process
qtest: drop unused child_pid field
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7a87a7b3e4213f7b020e434b14f8890d41b93fb7
Merge: e607784 94783de
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:38:23 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request'
into staging
Tracing pull request
# gpg: Signature made Wed 19 Feb 2014 15:42:20 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/tracing-pull-request:
trace-events: Fix typo in "offset"
Add ust generated files to .gitignore
Update documentation for LTTng ust tracing
Adapt Makefiles to the new LTTng ust interface
Modified the tracetool framework for LTTng 2.x
Fix configure script for LTTng 2.x
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e607784fedbf235599dc9a7ed96b624f6ecd1dd5
Merge: 9bd9d5e 6d093a4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:31:05 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
This fixes a target-i386 emulation regression
# gpg: Signature made Wed 19 Feb 2014 15:42:12 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
target-i386: Fix I/O bitmap checks for in/out
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9bd9d5e3573ea0465b8eb5700e867674054d27f3
Merge: 774d566 69d4c70
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 11:47:28 2014 +0000
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
* remotes/riku/linux-user-for-upstream:
linux-user: Fix error handling in target_to_host_semarray()
linux-user: Implement BLKPG ioctl
linux-user: Fix error handling in lock_iovec()
linux-user/signal.c: Don't pass sigaction uninitialised sa_flags
linux-user/elfload.c: Avoid calling g_free() on uninitialized data
linux-user: sync syscall numbers upto 3.13
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 774d566cdbebb916af9760dac629aa7c1adf9d3d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 19:42:53 2014 +0000
tcg/i386: Fix build for systems without working cpuid.h (MacOSX, Win32)
Win32 doesn't have a cpuid.h, and MacOSX may have one but without
the __cpuid() function we use, which means that commit 9d2eec20
broke the build for those platforms. Fix this by tightening up
our configure cpuid.h check to test that the functions we need
are present, and adding some missing #ifdef guards in
tcg/i386/tcg-target.c.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 521f438e36b0265d66862e9cd35e4db82686ca9f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 27 15:18:09 2014 +0100
KVM: Use return value for error print
Commit 94ccff13 introduced a more verbose failure message and retry
operations on KVM VM creation. However, it ended up using a variable
for its failure message that hasn't been initialized yet.
Fix it to use the value it meant to set.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 58da5b1e01a586eb5a52ba3eec342d6828269839
Author: Olaf Hering <olaf@xxxxxxxxx>
Date: Thu Feb 20 17:57:13 2014 +0000
xen_disk: fix io accounting
bdrv_acct_done was called unconditional. But in case the ioreq has no
segments there is no matching bdrv_acct_start call. This could lead to
bogus accounting values.
Found by code inspection.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 15e8159e7613ec0b1418879acc916d1412c02a28
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu Feb 20 17:28:08 2014 +0000
Call pci_piix3_xen_ide_unplug from unplug_disks
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2ca92bb993991d6dcb8f68751aca9fc2ec2b8867
Merge: 3d2bb5c d6bb65f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 15:25:05 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-3' into staging
- xhci improvements and fixes.
- uhci bugfix.
- cleanups.
# gpg: Signature made Tue 18 Feb 2014 15:48:10 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-usb-3:
xhci: use DPRINTF() instead of fprintf(stderr, ...)
xhci: switch debug printf to tracepoint
xhci iso: allow for some latency
xhci iso: fix time calculation
uhci: invalidate queue on device address changes
xhci: fix overflow in usb_xhci_post_load
usb: Remove magic constants from device bmAttributes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3d2bb5cc81ca52dcff854172625a3bb33987495c
Merge: 61e8a92 6399ab3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 15:02:06 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-next' into staging
* remotes/rth/tcg-next:
tcg/i386: Use SHLX/SHRX/SARX instructions
tcg/i386: Use ANDN instruction
tcg/i386: Add tcg_out_vex_modrm
tcg/i386: Move TCG_CT_CONST_* to tcg-target.c
disas/i386: Disassemble ANDN/SHLX/SHRX/SHAX
tcg/optimize: Add more identity simplifications
tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0
tcg/optimize: Simply some logical ops to NOT
tcg/optimize: Handle known-zeros masks for ANDC
tcg/optimize: add known-zero bits compute for load ops
tcg/optimize: improve known-zero bits for 32-bit ops
tcg/optimize: fix known-zero bits optimization
tcg/optimize: fix known-zero bits for right shift ops
tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].
TCG: Fix 32-bit host allocation typo
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 61e8a923646903d76a6d952019716b417d42eedc
Merge: 4c0c9bb 91f32b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 13:05:47 2014 +0000
Merge remote-tracking branch
'remotes/afaerber/tags/qom-devices-for-peter' into staging
QOM infrastructure fixes and device conversions
* QTest cleanups and test cases for PCI NICs
* NAND fix for "info qtree"
* Cleanup and extension of QOM machine tests
* IndustryPack test cases and conversion to QOM realize
* I2C cleanups
* Cleanups of legacy qdev properties
# gpg: Signature made Mon 17 Feb 2014 22:15:37 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-peter: (49 commits)
qtest: Include system headers before user headers
qapi: Refine human printing of sizes
qdev: Use QAPI type names for properties
qdev: Add enum property types to QAPI schema
block: Handle "rechs" and "large" translation options
qdev: Remove hex8/32/64 property types
qdev: Remove most legacy printers
qdev: Use human mode in "info qtree"
qapi: Add human mode to StringOutputVisitor
qdev: Inline qdev_prop_parse()
qdev: Legacy properties are just strings
qdev: Legacy properties are now read-only
qdev: Remove legacy parsers for hex8/32/64
qdev: Sizes are now parsed by StringInputVisitor
qapi: Add size parser to StringInputVisitor
qtest: Don't segfault with invalid -qtest option
ipack: Move IndustryPack out of hw/char/
ipoctal232: QOM parent field cleanup
ipack: QOM parent field cleanup for IPackDevice
ipack: QOM parent field cleanup for IPackBus
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f966f9ddd175bdf82f12650c3b7b5a93cc421d88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 30 11:44:16 2013 +0200
build: softmmu targets do not have a "main.o" file
Thus this rule is useless.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 66518bf668f09eaab14c174bc975f85480e2371f
Author: Don Slutz <dslutz@xxxxxxxxxxx>
Date: Thu Jan 2 21:12:46 2014 -0500
configure: Disable libtool if -fPIE does not work with it (bug #1257099)
Adjust TMPO and added TMPB, TMPL, and TMPA. libtool needs the names
to be fixed (TMPB).
Add new functions do_libtool and libtool_prog.
Add check for broken gcc and libtool.
Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d3399d7cf8a6cd751519d3979592d888bbab697a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:49:00 2014 +0800
block: convert block drivers linked with libs to modules
The converted block drivers are:
curl
iscsi
rbd
ssh
glusterfs
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cc47569881d56ab11bd33b6fbaf60aeedb25e8a9
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:59 2014 +0800
Makefile: introduce common-obj-m and block-obj-m for DSO
$(common-obj-m) will include $(block-obj-m), like $(common-obj-y) does
for $(block-obj-y).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3be6f0ecc7e2c8e47ae7a49d523c50bc1bdf621
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:58 2014 +0800
Makefile: install modules with "make install"
Install all the modules to ${MODDIR}.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e26110cfc67d48331a76e9b1e6f7fed7569e1ab3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:57 2014 +0800
module: implement module loading
This patch adds loading, stamp checking and initialization of modules.
The init function of dynamic module is no longer directly called as
__attribute__((constructor)) in static linked version, it is called
only after passed the checking of presense of stamp symbol:
qemu_stamp_$RELEASEHASH
where $RELEASEHASH is generated by hashing version strings and content
of configure script.
With this, modules built from a different tree/version/configure will
not be loaded.
The module loading code requires gmodule-2.0.
Modules are searched under
- CONFIG_MODDIR
- executable folder (to allow running qemu-{img,io} in the build
directory)
- ../ of executable folder (to allow running system emulator in the
build directory)
Modules are linked under their subdir respectively, then copied to top
level of build directory for above convinience, e.g.:
$(BUILD_DIR)/block/curl.so -> $(BUILD_DIR)/block-curl.so
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 17969268f5938ae1d7f3dedbd73e507badb6146d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:56 2014 +0800
rules.mak: introduce DSO rules
Add necessary rules and flags for shared object generation.
The new rules introduced here are:
1) %.o in $(common-obj-m) is compiled to %.o, then linked to %.so.
2) %.mo in $(common-obj-m) is the placeholder for %.so for pattern
matching in Makefile. It's linked to "-shared" with all its dependencies
(multiple *.o) as input. Which means the list of depended objects must
be specified in each sub-Makefile.objs:
foo.mo-objs := bar.o baz.o qux.o
in the same style with foo.o-cflags and foo.o-libs. The objects here
will be prefixed with "$(obj)/" if it's a subdirectory Makefile.objs.
3) For all files ending up in %.so, the following is added automatically:
foo.o-cflags += -fPIC -DBUILD_DSO
Also introduce --enable-modules in configure, the option will enable
support of shared object build. Otherwise objects are static linked to
executables.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 13b6ce0ec98dc0d757d5c9b50f3ce349d7af43bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 10 14:48:55 2014 +0800
darwin: do not use -mdynamic-no-pic
While -mdynamic-no-pic can speed up the code somewhat, it is only used
on the legacy PowerPC Mac OS X, and I am not sure if anyone is still
testing that. Disabling PIC can cause problems when enabling modules,
so do not do that.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6ebc91e5d0f408371460ab4329dc6de7f93306ac
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:54 2014 +0800
block: use per-object cflags and libs
No longer adds flags and libs for them to global variables, instead
create config-host.mak variables like FOO_CFLAGS and FOO_LIBS, which is
used as per object cflags and libs.
This removes unwanted dependencies from libcacard.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
[Split from Fam's patch to enable modules. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5c0d52bcd3aada33e274ea7dad75955f98bc2636
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:53 2014 +0800
rules.mak: allow per object cflags and libs
Adds extract-libs in LINK to expand any "per object libs", the syntax to
define
such a libs options is like:
foo.o-libs := $(CURL_LIBS)
in block/Makefile.objs.
Similarly,
foo.o-cflags := $(FOO_CFLAGS)
is also supported.
"foo.o" must be listed in a nested var (e.g. common-obj-y) to make the
option variables effective.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ba1183da9a10b94611cad88c44a5c6df005f9b55
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:52 2014 +0800
rules.mak: fix $(obj) to a real relative path
Makefile.target includes rule.mak and unnested common-obj-y, then prefix
them with '../', this will ignore object specific QEMU_CFLAGS in subdir
Makefile.objs:
$(obj)/curl.o: QEMU_CFLAGS += $(CURL_CFLAGS)
Because $(obj) here is './block', instead of '../block'. This doesn't
hurt compiling because we basically build all .o from top Makefile,
before entering Makefile.target, but it will affact arriving per-object
libs support.
The starting point of $(obj) is passed in as argument of unnest-vars, as
well as nested variables, so that different Makefiles can pass in a
right value.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 10f5bff622cad71645e22c027b77ac31e51008ef
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:51 2014 +0800
util: Split out exec_dir from os_find_datadir
With this change, main() calls qemu_init_exec_dir and uses argv[0] to
init exec_dir. The saved value can be retrieved with
qemu_get_exec_dir later. It will be reused by module loading.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4c0c9bbe78901a706497a8fa1a27935bafc20cf7
Merge: 46eef33 1094fd3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 12:04:02 2014 +0000
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp:
monitor: Add object_add class argument completion.
monitor: Add object_del id argument completion.
monitor: Add device_add device argument completion.
monitor: Add device_del id argument completion.
qmp: expose list of supported character device backends
Use error_is_set() only when necessary
QMP: allow JSON dict arguments in qmp-shell
hmp: migrate command (without -d) now blocks correctly
Conflicts:
blockdev.c
[PMM: resolved trivial conflict in blockdev.c]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2ea5a2ca1f1dc302652d2ad5035e0b209ccaa177
Author: Janne Grunau <j@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
linux-user: AArch64: Fix exclusive store of the zero register
Signed-off-by: Janne Grunau <j@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 60510aed69f69bfd44bf6e58c571dbba8b1b43a0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
target-arm: A64: Implement unprivileged load/store
Implement the unprivileged load and store instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e4b998d47df70450f5aafc0fd7b3d56fa4920369
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
target-arm: A64: Implement narrowing three-reg-diff operations
Implement the narrowing three-reg-diff operations: ADDHN,
RADDHN, SUBHN and RSUBHN.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dfc15c7cebaa467de7ada96d2688d4f5f4d3e532
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
target-arm: A64: Implement the wide 3-reg-different operations
Implement the wide three-reg-different operations:
SADDW, UADDW, SSUBW and USUBW.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 70d7f984a0a9e03c1327487aed9877a4eca0e709
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:55 2014 +0000
target-arm: A64: Add most remaining three-reg-diff widening ops
Add the remainder of the 64x64->128 operations in the three-reg-diff
category except for PMULL, PMULL2.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 13caf1fd2bdc4d8799098d73001caf7d8924073e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:55 2014 +0000
target-arm: A64: Add opcode comments to disas_simd_three_reg_diff
The opcode switch in disas_simd_three_reg_diff() is missing the
customary comments indicating which cases correspond to which
instructions. Add them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d324b36ad93b84509aeee41f05ee17a6c5de7826
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:55 2014 +0000
target-arm: A64: Implement store-exclusive for system mode
System mode store-exclusive use a different code path to usermode ones;
implement this missing code, in a similar way to the 32 bit version.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7900e9f1f963184967594f4518c97ea682a9605f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Fix incorrect type for value argument to write_raw_cp_reg
The write_raw_cp_reg's value argument should be a uint64_t, since
that's what all its callers hand it and what all the functions it
calls take. A (harmless) typo meant we were accidentally declaring
it as int64_t.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 59a1c327d72683e80fa1b886d42a3a5c17729484
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Remove failure status return from read/write_raw_cp_reg
The read_raw_cp_reg and write_raw_cp_reg functions can now never
fail (in fact they should never have failed previously unless
there was a bug in a reginfo that meant no raw accessor was
provided for a might-trap register). This allows us to clean up
their prototypes so the write function returns void and the
read function returns the value read, which in turn lets us
simplify the callers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit ea4571eb8768c39bf6cacd64fdcb6ef405b18b18
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Remove unnecessary code now read/write fns can't fail
Now that cpreg read and write functions can't fail and throw an
exception, we can remove the code from the translator that synchronises
the guest PC in case an exception is thrown.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c4241c7d381086819131fba4fc8123848d83de8a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Drop success/fail return from cpreg read and write functions
All cpreg read and write functions now return 0, so we can clean up
their prototypes:
* write functions return void
* read functions return the value rather than taking a pointer
to write the value to
This is a fairly mechanical change which makes only the bare
minimum set of changes to the callers of read and write functions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 92611c0019c38c860e6926dd2073c4448c382859
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:53 2014 +0000
target-arm: Convert miscellaneous reginfo structs to accessfn
Convert the remaining miscellaneous cases of reginfo read/write
functions returning EXCP_UDEF to use an accessfn instead:
TEEHBR, and the ATS address-translation operations.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 00108f2d4d86f41694bafe173271528f7e69b0b7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:53 2014 +0000
target-arm: Convert generic timer reginfo to accessfn
Convert the reginfo structs for the generic timer registers
to use access functions rather than returning EXCP_UDEF from
their read handlers. In some cases this allows us to remove
a read handler completely.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit fcd252062a018380e9ce14ed4d71f6d557018e2b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Convert performance monitor reginfo to accessfn
Convert the performance monitor reginfo definitions to use
an accessfn rather than returning EXCP_UDEF from read and
write functions. This also allows us to fix a couple of XXX
cases where we weren't imposing the access restrictions on
RAZ/WI or constant registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f59df3f2354982ee0381b87d1ce561f1eb0ed505
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Split cpreg access checks out from read/write functions
Several of the system registers handled via the ARMCPRegInfo
mechanism have access trap control bits controlling whether the
registers are accessible to lower privilege levels. Replace
the existing mechanism (allowing the read and write functions
to return EXCP_UDEF if access is denied) with a dedicated
"check access rights" function pointer in the ARMCPRegInfo.
This will allow us to simplify some of the register definitions,
which no longer need read/write functions purely to handle
the access checks.
We take the opportunity to define the return value from the
access checking function in a way that allows us to set the
correct exception syndrome information for exceptions taken
to AArch64 (which may need to distinguish access failures due
to a configurable trap or enable from other kinds of access
failure).
This commit defines the new mechanism but does not move any
of the registers across to use it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit e508a92b621c7160122e99d3754e568f2b8e255e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Stop underdecoding ARM946 PRBS registers
The ARM946 has 8 PRBS (protection region base and size) registers.
Currently we implement these with a CP_ANY reginfo; however this
underdecodes (since there are 16 possible values of CRm but only
8 registers) and we catch the invalid values in the read and
write functions. However this causes issues with migration since
we only migrate the first of a wildcard register set, so we only
migrate c6_region[0]. It also makes it awkward to pull reginfo
access checks out into their own function.
Avoid all these problems by just defining separate reginfo structs
for each of the 8 registers; this also lets us avoid having any
read or write functions and will result in more efficient direct
field accesses from generated code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 626187d86b037c89367f2f94785717b75e0e4440
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Log bad system register accesses with LOG_UNIMP
Log guest attempts to access unimplemented system registers via
the LOG_UNIMP reporting mechanism (for both the 32 bit and 64 bit
instruction sets). This is particularly useful for debugging
problems where the guest is trying to use a system register that
QEMU doesn't implement.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 1456364ff0900893f81f8d06fb1b42e5c2ad8a23
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:51 2014 +0000
target-arm: Remove unused ARMCPUState sr substruct
Remove the 'struct sr' from ARMCPUState -- it isn't actually used and is
a hangover from the original separate system register implementation used
by the SuSE linux-user-mode-only AArch64 target.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 99f678a679857d83b9709127b0f047551d7e3c45
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:51 2014 +0000
target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
The SCTLR bits S and R (8 and 9) only exist in ARMv6 and earlier.
In ARMv7 these bits RAZ, and in ARMv8 they are reassigned. Guard
the use of them in check_ap() so that we don't get incorrect results
for ARMv8 CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 76e3e1bcaefe0da394f328854cb72f9449f23732
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:51 2014 +0000
target-arm: Define names for SCTLR bits
The SCTLR is full of bits for enabling or disabling various things, and so
there are many places in the code which check if certain bits are set.
Define some named constants for the SCTLR bits so these checks are easier
to read.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 83e9a4aec9ffcbcb86ca9d39d2c5aae8176411fb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
target-arm/kvm-consts.h: Define QEMU constants for known KVM CPUs
Extend the set of CPUs for which we provide a QEMU_KVM_ARM_TARGET_*
constant to include all the ones currently supported by the kernel
headers we are using.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 057d5f62f822c4789ca0af9c9e9b42322679c793
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
target-arm: A64: Implement remaining 3-same instructions
Implement the remaining instructions in the SIMD 3-reg-same
and scalar-3-reg-same groups: FMULX, FRECPS, FRSQRTS, FACGE,
FACGT, FMLA and FMLS.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 67d43538aee10b6cfe8f3606c69187a3e142a2ba
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
softfloat: Support halving the result of muladd operation
The ARMv8 instruction set includes a fused floating point
reciprocal square root step instruction which demands an
"(x * y + z) / 2" fused operation. Support this by adding
a flag to the softfloat muladd operations which requests
that the result is halved before rounding.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bc242f9bb6324a50e7572c0997904b66b630f73a
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
target-arm: A64: Implement floating point pairwise insns
Add support for the floating-point pairwise operations
FADDP, FMAXP, FMAXNMP, FMINP and FMINNMP. To do this we use the
code which was previously handling only integer pairwise operations,
and push the integer-specific decode and handling of unallocated
cases up one level in the call tree, so we can also call it from
the floating-point section of the decoder.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8908f4d1850dbfd0de442e8deaed2f41821cdb89
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement SIMD FP compare and set insns
This adds all forms of the SIMD floating point and set instructions:
FCM(GT|GE|EQ|LE|LT)
Most of the heavy lifting is done by either the existing neon helpers or
some new helpers for the 64bit double cases. Most of the code paths are
common although the 2misc versions are a little special as they compare
against zero.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
[PMM: fixed some minor bugs, added the 2-misc-scalar encoding]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b033cd3d0021bee24931d0118fbd34e8c8d8b5af
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement scalar three different instructions
Implement the scalar three different instruction group:
it only has three instructions in it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9f82e0ff4b21b3fce86115597e92b01fba448635
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement SIMD scalar indexed instructions
Implement the SIMD scalar indexed instructions. The encoding
here is nearly identical to the vector indexed grouping, so
we combine the two.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c44ad1fddcf5a3deea3fb5cc340935bb11ccfb8e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement long vector x indexed insns
Implement the 'long' operations in the vector x indexed
element category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f5e51e7f10d6dbbeac268a7defc89831c62eff12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:48 2014 +0000
target-arm: A64: Implement plain vector SIMD indexed element insns
Implement all the SIMD vector x indexed element instructions
in the subcategory which are not 'long' ops.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 873169022aa58daabd10979002f8009c7e5f3f05
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:48 2014 +0000
hw/intc/arm_gic: Fix NVIC assertion failure
Commit 40d225009ef accidentally changed the behaviour of
gic_acknowledge_irq() for the NVIC. The NVIC doesn't have SGIs,
so this meant we hit an assertion:
gic_acknowledge_irq: Assertion `s->sgi_pending[irq][cpu] != 0' failed.
Return NVIC acknowledge-irq to its previous behaviour, like 11MPCore.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 6d093a4f499fd945b39bd55b307dd9192dc99ead
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 24 10:57:41 2014 +0100
target-i386: Fix I/O bitmap checks for in/out
Commit 1b90d56e changed the implementation of in/out imm to not assign
the accessed port number to cpu_T[0] as it appeared unnecessary.
However, currently gen_check_io() makes use of cpu_T[0] to implement the
I/O bitmap checks, so it's in fact still used and the change broke the
check, leading to #GP in legitimate cases (and probably also allowing
access to ports that shouldn't be allowed).
This patch reintroduces the missing assignment for these cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b15d422a23a3e4cf1b4195af209211eccdb88d51
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 17 16:33:35 2014 +0100
qtest: kill QEMU process on g_assert() failure
The QEMU process stays running if the test case fails. This patch fixes
the leak by installing a SIGABRT signal handler which invokes
qtest_end().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cef60c925c41563721dc73b1ace7b2f399f72a5b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 17 14:54:17 2014 +0100
qtest: make QEMU our direct child process
qtest_init() cannot use exec*p() to launch QEMU since the exec*p()
functions take an argument array while qtest_init() takes char
*extra_args. Therefore we execute /bin/sh -c <command-line> and let the
shell parse the argument string.
This left /bin/sh as our child process and our child's child was QEMU.
We still want QEMU's pid so the -pidfile option was used to let QEMU
report its pid.
The pidfile needs to be unlinked when the test case exits or fails. In
other words, the pidfile creates a new problem for us!
Simplify all this using the shell 'exec' command. It allows us to
replace the /bin/sh process with QEMU. Then we no longer need to use
-pidfile because we already know our fork child's pid.
Note: Yes, it seems silly to exec /bin/sh when we could just exec QEMU
directly. But remember qtest_init() takes a single char *extra_args
command-line fragment instead of a real argv[] array, so we need
/bin/sh's argument parsing behavior.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 98f9e35befe5c11e3da448cbe015969ed91730a4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 17 14:45:55 2014 +0100
qtest: drop unused child_pid field
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 69d4c703a549f0630793a67b16a8fc6bc14c8654
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:34 2014 +0000
linux-user: Fix error handling in target_to_host_semarray()
Fix two issues in error handling in target_to_host_semarray():
* don't leak the host_array buffer if lock_user fails
* return an error if malloc() fails
v2: added missing * -Riku Voipio
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit fff8c539bd69dce14c63827111e9d74e6b961317
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 18 07:38:30 2014 +0100
linux-user: Implement BLKPG ioctl
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 94783de6fe746f86a357bc4e3e6759f7f8ad3b39
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Feb 17 10:03:17 2014 +0100
trace-events: Fix typo in "offset"
s/offet/offset/
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d59fd998f956d673bda9cea78a106ebcc5ad78f
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:58 2014 -0500
Add ust generated files to .gitignore
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ef3ef4a0408743f3d562cda413e00afb7b782d6b
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:57 2014 -0500
Update documentation for LTTng ust tracing
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e6bf23f82d2d907dc99cf2581b4852417843a42d
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:56 2014 -0500
Adapt Makefiles to the new LTTng ust interface
Add generation of new files for LTTng ust.
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9530570fa5f86a52e31c92b26578a973b439d493
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:55 2014 -0500
Modified the tracetool framework for LTTng 2.x
* A new format is required to generate definitions for ust tracepoints.
Files ust_events_h.py and ust_events_c.py define common macros, while
new function ust_events_h in events.py does the actual definition of
each tracepoint.
* ust.py generates the new interface for calling userspace tracepoints
with LTTng 2.x, replacing trace_name(args) to tracepoint(name, args).
* As explained in ust_events_c.py, -Wredundant-decls gives a warning
when compiling with gcc 4.7 or older. This is specific to lttng-ust so
for now use a pragma clause to avoid getting a warning.
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf15f63cad5c909890be6656743979c7a46ab56d
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:54 2014 -0500
Fix configure script for LTTng 2.x
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 501bb4b0cb1debf2b495f0ba3980b97ceca652f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:33 2014 +0000
linux-user: Fix error handling in lock_iovec()
In lock_iovec() if lock_user() failed we were doing an unlock_user
but not a free(vec), which is the wrong way round. We were also
assuming that free() and unlock_user() don't touch errno, which
is not guaranteed. Fix both these problems.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 3a5d30bf272c8db8e16e1e7ad5b8953f08df3e82
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:32 2014 +0000
linux-user/signal.c: Don't pass sigaction uninitialised sa_flags
When forcing a fatal signal, we weren't initialising the sa_flags
field in the struct sigaction we used to reset the signal handler
to SIG_DFL.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 6afafa86f3446f5e6dd410cc2c442e98adabc26c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:31 2014 +0000
linux-user/elfload.c: Avoid calling g_free() on uninitialized data
Avoid calling g_free() on unintialized data in the error-handling
paths in elf_core_dump() by splitting the initialization of the
elf_note_info struct out of fill_note_info() so that it's always
valid to call free_note_info() whether we got to the point of
being able to fill_note_info() or not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 4fc4732047bf475f70b14c83053d7c6b22cb9d2f
Author: Riku Voipio <riku.voipio@xxxxxxxxxx>
Date: Mon Jan 13 14:04:20 2014 +0200
linux-user: sync syscall numbers upto 3.13
All others updated except unicore, which doesn't look right to
begin with.
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d6bb65fcd24c8cb8c37ffe324c360f3b0c94b902
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 13:13:21 2014 +0100
xhci: use DPRINTF() instead of fprintf(stderr, ...)
So we don't spam stderr with (guest-triggerable) messages by default.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4f9cc7342281bfbbc1bfccc155c59551c06d63db
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 13:06:38 2014 +0100
xhci: switch debug printf to tracepoint
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc03ff9d0a147a399a11c9f513afa5e06ceee453
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 12:06:55 2014 +0100
xhci iso: allow for some latency
Allow the scheduled transfer time be a bit behind, to
compensate for latencies. Without this xhci will wait
way to often for the mfindex wraparound, assuming the
scheduled time is in the future just because qemu is
a bit behind in processing the iso transfer requests.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 786ad214c72226fa5bd4ebf18aeb4c6b54d3ba80
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 12:03:59 2014 +0100
xhci iso: fix time calculation
Frameid specifies frames not microframes, so we
need to shift it to get the microframe index.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c348e481759057c925cce4bf54336f1518b8c702
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 5 14:54:14 2014 +0100
uhci: invalidate queue on device address changes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f6969b9fef543da1ffa975d24f4d7b75dc369b03
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 29 17:03:10 2014 +0100
xhci: fix overflow in usb_xhci_post_load
Found by Coverity.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bd93976a1ad9cca9636da66dfde98a41e573130c
Author: Pantelis Koukousoulas <pktoss@xxxxxxxxx>
Date: Mon Dec 16 09:42:49 2013 +0200
usb: Remove magic constants from device bmAttributes
Replace magic constants in device bmAttributes with symbolic ones
from Linux kernel ch9.h
Signed-off-by: Pantelis Koukousoulas <pktoss@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 91f32b0c92fb18a403e48d3c8ffc14422a0c1ca5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat Feb 8 11:41:07 2014 +0100
qtest: Include system headers before user headers
It is dangerous to include user headers before system headers since user
macros can affect system headers.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1094fd3a6219923c8d1abfc7dee5af996a181e7a
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:13 2014 +0100
monitor: Add object_add class argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b48fa074b565131bd0782d122d54c001acfed86f
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:12 2014 +0100
monitor: Add object_del id argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 992d3e64c89bd2af1ae005080636e8da43c1b500
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:11 2014 +0100
monitor: Add device_add device argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fca72d9b4994343dd1e48d9bb9f45914f4429cfb
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:10 2014 +0100
monitor: Add device_del id argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 77d1c3c63fb18c3675d8c80262bbd172f646556a
Author: Martin Kletzander <mkletzan@xxxxxxxxxx>
Date: Sat Feb 1 12:52:42 2014 +0100
qmp: expose list of supported character device backends
Introduce 'query-chardev-backends' QMP command which lists all
supported character device backends.
Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 84d18f065fb041a1c0d78d20320d740ae0673c8a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 30 15:07:28 2014 +0100
Use error_is_set() only when necessary
error_is_set(&var) is the same as var != NULL, but it takes
whole-program analysis to figure that out. Unnecessarily hard for
optimizers, static checkers, and human readers. Dumb it down to
obvious.
Gets rid of several dozen Coverity false positives.
Note that the obvious form is already used in many places.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ff9ec34de8f6a37bd29ac72c0c4c94bd5d43d7b0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jan 29 12:17:31 2014 +0100
QMP: allow JSON dict arguments in qmp-shell
qmp-shell hides the QMP wire protocol JSON encoding from the user. Most
of the time this is helpful and makes the command-line human-friendly.
Some QMP commands take a dict as an argument. In order to express this
we need to revert back to JSON notation.
This patch allows JSON dict arguments in qmp-shell so commands like
blockdev-add and nbd-server-start can be invoked:
(QEMU) blockdev-add options={"driver":"file","id":"drive1",...}
Note that spaces are not allowed since str.split() is used to break up
the command-line arguments first.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dde3a2184074f5c4279fd7fbfc597b5dc5859fb8
Author: Soramichi AKIYAMA <akiyama@xxxxxxxxx>
Date: Mon Jan 27 19:46:11 2014 +0900
hmp: migrate command (without -d) now blocks correctly
This patch fixes a timing issue that migrate command (without -d) does not
block in some cases.
The original version of hmp.c:hmp_migrate_status_cb checks if the
migration status is 'active' or not to detect the completion of a
migration.
However, if this function is executed when the migration status is stil
'setup' (the status before 'active'), migration command returns
immediately even if the user does not specify -d option.
Signed-off-by: Soramichi Akiyama <akiyama@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6399ab3325b7d4f77441c8a00fa9dae98bb0ac43
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 11:39:49 2014 -0800
tcg/i386: Use SHLX/SHRX/SARX instructions
These three-operand shift instructions do not require the shift count
to be placed into ECX. This reduces the number of mov insns required,
with the mere addition of a new register constraint.
Don't attempt to get rid of the matching constraint, as that's impossible
to manipulate with just a new constraint. In addition, constant shifts
still need the matching constraint.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9d2eec202fad72ce05ee8d54dc5a6fb6dcb87776
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 27 21:49:17 2014 -0800
tcg/i386: Use ANDN instruction
Note that the optimizer cannot simplify ANDC X,Y,C to AND X,Y,~C
so we must handle constants in the implementation of andc.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ecc7e84327c1c8e9b006edfaa5d0e3baf35a3f99
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 27 21:19:40 2014 -0800
tcg/i386: Add tcg_out_vex_modrm
Prepare for emitting BMI insns which require VEX encoding.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a1b29c9ae06abe7ded354eb70767e34dc035db72
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 27 13:02:31 2014 -0800
tcg/i386: Move TCG_CT_CONST_* to tcg-target.c
These are not needed by users of tcg-target.h. No need to recompile
when we adjust them.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 189f792dc5dd744c5f5d2333a7c52784e108974e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 16:39:36 2014 -0800
disas/i386: Disassemble ANDN/SHLX/SHRX/SHAX
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 464a1441c138b4f29cff26d406298661e588235b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 31 07:42:11 2014 -0600
tcg/optimize: Add more identity simplifications
Recognize 0 operand to andc, and -1 operands to and, orc, eqv.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e64e958e202c563730159c52f7c9116c80ceca52
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 13:26:17 2014 -0800
tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0
Like we already do for SUB and XOR.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e201b56418a5bb6afadc42df16f94880c091fad4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 13:15:38 2014 -0800
tcg/optimize: Simply some logical ops to NOT
Given, of course, an appropriate constant. These could be generated
from the "canonical" operation for inversion on the guest, or via
other optimizations.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 23ec69ed3759fe5d8374cb22795ade1305c331c4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 12:03:24 2014 -0800
tcg/optimize: Handle known-zeros masks for ANDC
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8d70272535b84ccd3cd1a3dcad65aed34be6bb4
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:39 2013 +0200
tcg/optimize: add known-zero bits compute for load ops
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f096dc96188378bc2bcd80683490ca386b0c1683
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:38 2013 +0200
tcg/optimize: improve known-zero bits for 32-bit ops
The shl_i32 op might set some bits of the unused 32 high bits of the
mask. Fix that by clearing the unused 32 high bits for all 32-bit ops
except load/store which operate on tl values.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3031244b01492528fd7b5e46b23eeb2124dc780a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:38 2013 +0200
tcg/optimize: fix known-zero bits optimization
Known-zero bits optimization is a great idea that helps to generate more
optimized code. However the current implementation only works in very few
cases as the computed mask is not saved.
Fix this to make it really working.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e46b225a3137e62c975c49aaae7bb5f9583cc428
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:38 2013 +0200
tcg/optimize: fix known-zero bits for right shift ops
32-bit versions of sar and shr ops should not propagate known-zero bits
from the unused 32 high bits. For sar it could even lead to wrong code
being generated.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7a3a00979d9dfe2aaa66ce5fc68cd161b4f900ba
Author: Huw Davies <huw@xxxxxxxxxxxxxxx>
Date: Thu Feb 13 10:26:46 2014 +0000
tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].
It's this that should be subtracted from 0x20 when converting to a right
rotate.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Huw Davies <huw@xxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 46eef33b89e936ca793e13c4aeea1414e97e8dbb
Author: Brad <brad@xxxxxxxxxxxx>
Date: Tue Dec 10 19:49:08 2013 -0500
Fix QEMU build on OpenBSD on x86 archs
This resolves the build issue with building the ROMs on OpenBSD on x86
archs.
As of OpenBSD 5.3 the compiler builds PIE binaries by default and thus the
whole OS/packages and so forth. The ROMs need to have PIE disabled.
Check in configure whether the compiler supports the flags for disabling
PIE, and if it does then use them for building the ROMs. This fixes the
following buildbot failure:
>From the OpenBSD buildbots..
Building optionrom/multiboot.img
ld: multiboot.o: relocation R_X86_64_16 can not be used when making a
shared object; recompile with -fPIC
Signed-off by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f6aa2f7dee920f6f06fefe122cf2a58cabe3cac0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 21 08:36:38 2014 -0800
TCG: Fix 32-bit host allocation typo
The second half register of a 64-bit temp on a 32-bit host
was allocated with the wrong base_type.
The base_type of the second half register is never checked,
but for consistency it should be the same as the first half.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0dbcf95a1ea5a5ca6222765ff8813c2cc17e8abd
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Feb 15 20:26:25 2014 +0000
libvixl: fix 64bit constants usage
Since commit 999b53ec8794f203964db3ecf939a3da5c4bc843:
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Feb 5 17:27:28 2014 +0000
disas: Implement disassembly output for A64
Use libvixl to implement disassembly output in debug
logs for A64, for use with both AArch64 hosts and targets.
disas/libvixl/ contains functions which uses 64bit constants
without using appropriate suffixes, which fails on 32bits.
Fix this by using ULL suffix.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 078a1c37cad0d11d93ff8102f7653ce6109bb62d
Merge: 44e3a39 88c1ee7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 16:36:40 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-02-15' into staging
trivial patches for 2014-02-15
# gpg: Signature made Sat 15 Feb 2014 12:10:46 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-02-15:
char/serial: Fix emptyness check
gitignore: anchor all ignored names
vl: trim includes
vl: remove old, long-unused defines
net: declare struct iovec in checksum.h to fix compiler warning
linux-user: refactor do_socketcall()
configure: add hints to a remedy for feature_not_found errors
configure: add hint of libfdt to DTC dependency not found message
sparc/leon3: Initialize stack pointer
misc: Fix case Qemu -> QEMU
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 44e3a39f30377e96f6a1f3a21f6b1c8b40b28baf
Merge: 90ce3d7 0c5e94e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 16:15:52 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 14 Feb 2014 17:26:30 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
block: Open by reference will try device then node_name.
block: Relax bdrv_lookup_bs constraints.
blockdev: Fix wrong usage of QDECREF causing snapshoted quorum to crash
on close.
block: mirror - use local_err to avoid NULL errp
qemu-iotests: Don't run 005 on vmdk split formats
block: qemu-iotests - add vhdx log replay tests for qemu-img
block: qemu-iotests - fix test 070 (vhdx)
block: Don't throw away errno via error_setg
block: Add notes to iSCSI's .bdrv_open and .bdrv_reopen_prepare
blockdev: Remove 'type' parameter from blockdev_init()
sdhci: Drop unnecessary #include
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 90ce3d76eb917d25ecec4d3cb9ad8da7576a1505
Merge: a50f98b 5631e69
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 15:20:08 2014 +0000
Merge remote-tracking branch 'remotes/jliu/or32-ld-st' into staging
* remotes/jliu/or32-ld-st:
target-openrisc: Use new qemu_ld/st opcodes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a50f98b0665289fd37720f287943e86f23b01f45
Merge: 933b19e 736d120
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 15:07:00 2014 +0000
Merge remote-tracking branch 'remotes/jovanovic/mips-ufrp' into staging
* remotes/jovanovic/mips-ufrp:
target-mips: add user-mode FR switch support for MIPS32r5
target-mips: add support for CP0_Config5
target-mips: add support for CP0_Config4
target-mips: add CPU definition for MIPS32R5
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 88c1ee73d3231c74ff90bcfc084a7589670ec244
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Feb 10 22:49:35 2014 -0800
char/serial: Fix emptyness check
This was guarding against a full fifo rather than an empty fifo when
popping. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5556332aba80c0579244c4458d3e35f13badd5ed
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue Feb 11 14:22:32 2014 +0400
gitignore: anchor all ignored names
by default, patterns/names in .gitignore are applied
recursively to all subdirectories. So any name mentioned
in .gitignore is ignored in all subdirectores. This is good
for, say. object files (*.o), but not good for particular
names which should be ignored only in one directory. For
example, qemu-img.1 file is generated in the top directory,
and it should be ignored only there, not in some subdir.
At first, this might not matter much, but we have lots of
examples already where it actually does not help at all.
For example, top-level .gitignore ignores a file/dir named
"patches" (which is very questionable by itself), but it
is applied recursively, so git also ignores, for example,
debian/patches/ which should not be ignored.
So anchor all the names where appropriate. .gitignore
should be cleaned up further, which will be addressed in
a subsequent patch.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b33276a7a8224de8f1b2adbf03eede36d63e1c33
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Feb 7 12:26:14 2014 +0400
vl: trim includes
Over time, lots of stuff moved from vl.c into separate
files. But include statements has never been cleaned,
and they continue to carry lots of anymore-unused stuff.
Remove includes which are not relevant for vl.c anymore.
Apparently there are more includes like this, because
many are included from qemu-common.h and the like, or,
for example, I don't see were we use win32-specific
stuff in vl.c (so that maybe #include <windows.h> might
be removed too).
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 24c84e687edd628084dd383ab1f1601765dbfd03
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Feb 7 12:23:05 2014 +0400
vl: remove old, long-unused defines
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 262471794d6d75435fa755eb2d6363d941743b14
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Feb 7 12:22:18 2014 +0400
net: declare struct iovec in checksum.h to fix compiler warning
The checksum calculation header exports a function that refers to
struct iov defined in iov.h. Without including the former, build
fails like this:
In file included from hw/net/fsl_etsec/rings.c:24:0:
include/net/checksum.h:51:31: error: â??struct iovecâ?? declared inside
parameter list [-Werror]
include/net/checksum.h:51:31: error: its scope is only this definition
or declaration, which is probably not what you want [-Werror]
Mention struct iovec there.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 62dc90c668fc4e17639f594b70a1001780f59a9b
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Jan 17 14:23:51 2014 +0400
linux-user: refactor do_socketcall()
Refactor do_socketcall() to do argument conversion/checking first,
according to a lookup table (which call has how many args) and
by calling the right function second with ready-to-go arguments.
This ensures that all arguments are handled as abi_long, according
to socketcall prototype, and simplifies argument handling alot too.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 21684af0233df1d2b554db736e4feb774950d488
Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 12:39:10 2014 +1100
configure: add hints to a remedy for feature_not_found errors
Modify feature_not_found to accept an optional second parameter to be
printed after the generic feature not found error.
Modify most calls to feature_not_found to provide hints as to the
packages that may be missing. The few calls remaining without a remedy
are ones I couldn't work out how to remedy myself.
Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3f281822b26e4b39b2a49ac030fc6a5f184dd387
Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 12:39:06 2014 +1100
configure: add hint of libfdt to DTC dependency not found message
Most distros package it as libfdt, and mentioning libfdt here makes it
much easier to find the package you're missing.
Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c1570e2a1fd7ff6bc8d7b0c6104bed77283f89a7
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 3 10:18:11 2014 +0100
sparc/leon3: Initialize stack pointer
A lot of real world LEON3 systems are shipped with the GRMON boot
loader. This boot loader initializes the stack pointer with the end of
RAM address. The application can use this to detect the RAM size of a
particular board variant.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a63e5e0c0d457718a957c351c996ba9cb31d5cdd
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Feb 4 06:43:09 2014 +0100
misc: Fix case Qemu -> QEMU
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e41b509d68afb1f329c8558b6edfe2fcbac88e66
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:57 2014 +0100
qapi: Refine human printing of sizes
This fixes several bugs or shortcomings of the previous pretty-printer.
In particular:
* use PRIu64 instead of casting to long long
* the exact value is included too
* the correct unit of measure (MiB, GiB, etc.) is used. PiB and EiB
are added too.
* due to an off-by-one error, 512*2^30 was printed as 0.500MiB rather than
512MiB. floor(log2(val)) is equal to 63 - clz(val), while the code used
64.
* The desired specification is %g rather than %f, which always uses three
decimals in the current code. However %g would switch to scientific
notation when the integer part is >= 1000 (e.g. 1000*2^30). To keep the
code simple, switch to the higher power when the integer part is >= 1000;
overflow is avoided by using frexp instead of clz.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 85ca1202d1227b3a816c714db6c8e19b613172c5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:56 2014 +0100
qdev: Use QAPI type names for properties
Use "drive", "chr", etc. only for legacy_name (which shows up
in -device foo,? output).
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 104059da546c5cae03767c519013704d0baa0896
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:55 2014 +0100
qdev: Add enum property types to QAPI schema
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f31c41ff5e7d64680382e94b9ea35d52ab4ca045
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:54 2014 +0100
block: Handle "rechs" and "large" translation options
Sure, CHS translation is an obscure topic, and legacy options for
hard-disk geometries are obscure as well. But since QEMU does nothing
with it except telling the BIOS, and since there "large" and "rechs"
are listed in the enums, parsing them seems to be the bare minimum.
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7bcc85d664b26b8b1e46416c7a730104b602e34
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:53 2014 +0100
qdev: Remove hex8/32/64 property types
Replace them with uint8/32/64.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 515f23462b10174c953fd161a37e9093b2427cff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:52 2014 +0100
qdev: Remove most legacy printers
Their functionality is either aesthetic only (e.g. on/off vs. true/false)
or obtained by the "human mode" of StringOutputVisitor.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dae3bda422340901742e4db6b471d3084dfdc84d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:51 2014 +0100
qdev: Use human mode in "info qtree"
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0b7593e085e66c7f5ab980a1ed8ee683c36b7347
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:50 2014 +0100
qapi: Add human mode to StringOutputVisitor
This will be used by "info qtree". For numbers it prints both the
decimal and hex values. For sizes it rounds to the nearest power
of 2^10. For strings, it puts quotes around the string and separates
NULL and empty string.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 98a6528461acf7a6f321d846e6f4e77e87305965
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:49 2014 +0100
qdev: Inline qdev_prop_parse()
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7ce7ffe02750c73e4dce9fd61d25d0fd0b793a2e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:48 2014 +0100
qdev: Legacy properties are just strings
prop->info->legacy_name is still used by "-device foo,?".
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 03ff777048eda53eaf5bd95705418ae7e825ce56
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:47 2014 +0100
qdev: Legacy properties are now read-only
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9e4d9620c42649de7b6a0c5f5e1ed8fa0299b5c3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:46 2014 +0100
qdev: Remove legacy parsers for hex8/32/64
The hexNN property types have not been accepting values not prefixed
by "0x" since QEMU 1.2. Parse those values as decimals now.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7d9268647ca39561a0e9ae55717e09049377bb33
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:45 2014 +0100
qdev: Sizes are now parsed by StringInputVisitor
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a5829ccfc3f37173c0dda43f3ea0262faa19c494
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:44 2014 +0100
qapi: Add size parser to StringInputVisitor
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 23802b4fe0cf5821b72aa5bc682e38c8c91bb168
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 09:28:02 2014 +0800
qtest: Don't segfault with invalid -qtest option
This prints an error message, instead of core dump, when "-qtest"
option value is invalid, e.g.:
$ ./x86_64-softmmu/qemu-system-x86_64 -qtest unknown
qemu-system-x86_64: Failed to initialize device for qtest:
"unknown"
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f9c4cfda4df7c442255f9492a2408d80df1d42a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 2 00:48:40 2013 +0200
ipack: Move IndustryPack out of hw/char/
Move the header defining an IPackBus and IPackDevice base class into
a new include/ directory and move their implementation and a
PCI-IndustryPack bridge out of hw/char/ directory into a new hw/ipack/.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08c9cacf0e965562cbf5bf44067b0bd4863e250f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:51:35 2013 +0200
ipoctal232: QOM parent field cleanup
Clean up accesses to IPOctalState::dev field and rename it.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 227d32725216723ffa99f0eb43c97f933e1da5b4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:48:28 2013 +0200
ipack: QOM parent field cleanup for IPackDevice
Rename the IPackDevice::qdev field to avoid accidental use.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a21ac343d10141803483ec1097b2f1c3b3b4bd42
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:47:34 2013 +0200
ipack: QOM parent field cleanup for IPackBus
Clean up the only user of IPackBus::qbus field and rename it.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c570902559fbc113154e545c4b0749cd4318b1d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:45:02 2013 +0200
ipack: Convert to QOM realize
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 371468297c8bc45d9f4b957372ed62c9314620c8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 12:24:15 2014 +0100
tests: Add ipoctal232 qtest
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 76491071b37e1d7cb2fba047cc391595b9e7b61a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 03:48:44 2014 +0100
tests: Add tpci200 qtest
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b815ec5eea4eecbe77f0c57b631fb043fd9b3d0e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:13:37 2014 +0100
tests: Add virtio-net qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5297ea6fb811f60d44161f04bafa178d29fb11bf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:01:37 2014 +0100
tests: Add ne2000 qtest
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0c5e94ee8339e1aa49020466eba232e6f7c31a0a
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Wed Feb 12 17:15:07 2014 +0100
block: Open by reference will try device then node_name.
Since we introduced node_name for named bs of the graph modify the
opening by
reference to use it as a fallback.
This patch also enforce the separation of the device id and graph node
namespaces.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dd67fa5052fecf661369540d5f104720f57900a4
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Wed Feb 12 17:15:06 2014 +0100
block: Relax bdrv_lookup_bs constraints.
The following patch will reuse bdrv_lookup_bs in order to open images by
references so the rules of usage of bdrv_lookup_bs must be relaxed a bit.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 57b6bdf37c64985cf02b8737c550d52759059c9d
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Thu Feb 13 17:22:33 2014 +0100
blockdev: Fix wrong usage of QDECREF causing snapshoted quorum to crash
on close.
As bdrv_open() documentation states:
"The reference to the QDict belongs to the block layer
* after the call (even on failure), so if the caller intends to reuse the
* dictionary, it needs to use QINCREF() before calling bdrv_open."
the optional options dict will not be reused after bdrv_open() and should
belong to the block layer so remove the extra QDECREF(options).
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc67f4d1f9645e8e6d90aee84ca19162d661f082
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Feb 13 09:23:38 2014 -0500
block: mirror - use local_err to avoid NULL errp
When starting a block job, commit_active_start() relies on whether *errp
is set by mirror_start_job. This allows it to determine if the mirror
job start failed, so that it can clean up any changes to open flags from
the bdrv_reopen(). If errp is NULL, then it will not be able to
determine if mirror_start_job failed or not.
To avoid this, use a local Error variable, and then propagate the error
(if any) to errp.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2aa4a86f59c7093e03d2ec18c5d5f08c957d1a78
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Feb 13 10:05:31 2014 +0800
qemu-iotests: Don't run 005 on vmdk split formats
There would be too many extents that VMDK driver can't open all of them:
005 0s ... - output mismatch (see 005.out.bad)
--- 005.out 2013-12-24 09:27:27.608181030 +0800
+++ 005.out.bad 2014-02-13 10:00:15.282184557 +0800
@@ -4,10 +4,10 @@
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=5368709120000
small read
-read 4096/4096 bytes at offset 1024
-4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+qemu-io: can't open device /tmp/qemu-iotests/t.vmdk: Could not open
'/tmp/qemu-iotests/t-s1016.vmdk': Too many open files
+no file open, try 'help open'
small write
-wrote 4096/4096 bytes at offset 8192
-4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+qemu-io: can't open device /tmp/qemu-iotests/t.vmdk: Could not open
'/tmp/qemu-iotests/t-s1016.vmdk': Too many open files
+no file open, try 'help open'
*** done
So disable the two subformats.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 18968ca1a33458f3978394499d2b70e4c32c5ad6
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Feb 12 16:30:53 2014 -0500
block: qemu-iotests - add vhdx log replay tests for qemu-img
VHDX logs can now be replayed via 'qemu-img check -r all'. Add
tests to verify that the log replay is successful when using qemu-img.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e001807847ba40d29450031377b84acd10066b61
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Feb 12 16:30:52 2014 -0500
block: qemu-iotests - fix test 070 (vhdx)
VHDX test 070 failed, due to different output from qemu-io / qemu
when opening an image read-only that contains a log file. Filter
the output, and update the expected results to match the correct
output.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 39a611a3e035e148257af314a522a6cd169c2d0e
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Feb 12 14:46:24 2014 -0500
block: Don't throw away errno via error_setg
There are a handful of places in the block layer where a failure path
has a valid -errno value, yet error_setg() is used. Those instances
should instead use error_setg_errno(), to preserve as much error
information as possible.
This patch replaces those instances with error_setg_errno(), so that
errno is passed up the stack in the error message.
Reported-By: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 92838a19c161e2fe06ebc69942d943f86c70487d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 19:18:46 2013 +0100
tests: Add eepro100 qtest
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 85f68d552bd5826d5ba86222c03ade17079a29db
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:53:28 2013 +0100
tests: Add pcnet qtest
Test PCI only for now.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74769fe7c811b371ddd2ac1e0a4ca70addfee6ae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:43:09 2013 +0100
tests: Add rtl8139 qtest
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a053e7f712837e5afd103282a3fcac5c2dc16a9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:37:34 2013 +0100
tests: Add vmxnet3 qtest
Note that this will emit a warning:
[vmxnet3][WR][vmxnet3_peer_has_vnet_hdr]: Peer has no virtio extension.
Task offloads will be emulated.
Reviewed-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a21baf7999f5b0b3aca72c6f6d88901151392ca7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:25:10 2013 +0100
tests: Add e1000 qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9fe451a08e7f232448676a3a7cea002642720a1f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:42:26 2013 +0100
i2c: Drop FROM_I2C_SLAVE() macro
We now use type-specific QOM cast macros instead.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd37dfa9e73d0b13b98f28302a751d75660050a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:41:25 2013 +0100
twl92230: QOM'ify
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Add missing braces while at it.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 59ab56b9ad543f0290fbcc29a7fb2248b2920ef8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:34:05 2013 +0100
ds1338: QOM'ify
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 933069eb534ad37db67eb5b550798170fccbc64c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:30:16 2013 +0100
lm832x: QOM'ify
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8bcf811bff0a5b9fb1e8663359d3cc175d93717
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:21:57 2013 +0100
max7310: QOM'ify
Replace FROM_I2C_SLAVE() usages with QOM cast macro.
Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1be45153e416fa13cf6fcea704f26f4d3c2b7aa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:10:23 2013 +0100
ssd0303: QOM'ify
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bc229b0f901ef94a8245fb619a138604e2a456bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:04:29 2013 +0100
wm8750: QOM'ify
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a5f96db7e826ab787ca5fc283aebded5577cb6e2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 21:55:44 2013 +0100
z2: QOM'ify AER915
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename the parent field. Reuse the type constant in z2_init().
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Use TYPE_AER915 in z2_init() too]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70b51690328872e0903e0615f32f05678f6b53cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 21:51:29 2013 +0100
tosa: QOM'ify DAC
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field. Use type constant in tosa_tg_init().
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 96dca6b9a964b96c3ce72449333ff3bdd4ce85f7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 21:44:53 2013 +0100
pxa2xx: QOM'ify I2C slave
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field to assure we caught all. Reuse type
constant in pxa2xx_i2c_init().
Add some missing braces while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a5c828525e82dbf9f78dcc15070dd49025471afe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 00:18:51 2013 +0200
i2c: Rename i2c_bus to I2CBus
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6749695eaaf346c1667067e17ecc9d7d64b7f61c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Feb 5 15:21:38 2014 +0100
nand: Don't use qdev_create() in nand_init()
Commit 7426aa72c36c908a7d0eae3e38568bb0a70de479 (nand: Don't inherit
from Sysbus) changed the parent type of TYPE_NAND but continued to use
qdev_create(), which handled a NULL BusState as SysBus.
Use object_new() instead, and reuse the TYPE_NAND define while at it.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3687d5325925a9d981c86437ff52f502a1c7648a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 23 16:22:59 2014 +0000
tests: Run qom-test for every architecture
Rather than requiring every new architecture to remember to add a line
to the Makefile to say that qom-test will work on it, autogenerate
the list of supported architectures by looking at the files in
default-configs (as configure does), and add qom-test to the
test list for all of them automatically.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bb6c5e3c3a460b449ddb81be2a572561121fbe7f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 10 14:31:39 2014 +0100
qom-test: Test shutdown in addition to startup
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c1904f103cbc5a7353fba8c8ca3cb16a0281392
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 10 14:31:38 2014 +0100
qom-test: Run for all available machines
Get available machines via QMP instead of hardcoding a list that's
perpetually out of date.
Xen machines can work only when running under the Xen hypervisor.
Blacklist them.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ec889b4b179fa39eb43bd3f4b078a7cae558acb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 14 15:09:28 2014 +0100
tests: Fix gcov paths for relocated device sources
Commit 49ab747f668f421138d5b40d83fa279c4c5e278d moved
fdc.c, hd-geometry.c, m48t59.c, tmp105.c into hw/ subdirectories;
commit 0ddfaf7fe4c8453446730328bf348b7c6438e4f8 did for mc146818rtc.c.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 28f106afb35a86aa01e1907ef7632e015fabce02
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Feb 4 14:12:44 2014 -0500
block: Add notes to iSCSI's .bdrv_open and .bdrv_reopen_prepare
iSCSI currently does not need to do any actions to support the
current usage of bdrv_reopen(). However, it is important to note
a couple of things: 1.) A connection will not be re-established to
an iSCSI target, and 2.) If iscsi_open() is changed to parse 'flags',
then iscsi_reopen_prepare() may need to be more than a stub.
In light of the above, this commit adds comments above both of the
functions to bring attention to these facts.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee13ed1cbc5f7f848e417f587c93ca1f36d83eb0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sun Feb 9 09:52:32 2014 +0100
blockdev: Remove 'type' parameter from blockdev_init()
blockdev-add doesn't know about the device that the backend will be
attached to, this is a legacy -drive concept. Move the remaining checks
that use it to drive_init().
[Fam Zheng <famz@xxxxxxxxxx> suggested line-wrapping to 80 chars as
required by the coding standard. I have fixed this.
--Stefan]
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a838745b80ec6bcb3f78ce38aa1ccf1efc9f937
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sun Feb 9 10:02:27 2014 +0100
sdhci: Drop unnecessary #include
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 933b19ea9784de7ed2eb6e10262b9363c5c03ed7
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Feb 14 09:15:21 2014 +0100
PPC: KVM: Add missing address space to ldl_phys helper
We now have to pass an address space to our _phys helpers. During the
transition apparently the EPR exit path missed out, so let's put it there.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 292363e15c92fd37bcb424fafebc2e362b6c8f03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 23 17:47:44 2014 +0100
target-ppc: Make ppc40x CPUs available in ppcemb
Not only 44x CPUs (BookE) but also 40x CPUs can run with 1k page size.
Move the criteria to a central inline function to avoid repetition
and #ifdef'fery. Update qom-test to no longer exempt them.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aaab89a68ed1f0ab791cfda2061be34c102490b1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 23 16:37:55 2014 +0100
ppcemb-softmmu: Drop Mac and e500 emulation
They are still available in ppc-softmmu and ppc64-softmmu.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3be57c358b3186b675ce4452a030fd3d9f37be0
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 20:06:47 2014 +0200
qtest: don't report signals if qtest driver enabled
qtest driver always uses signals to kill qemu
no need to report it, whatever the accelerator state.
Add API to detect qtest driver, and suppress reporting
signals in this case.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0888a29caac6e1b668e498a0ad4d1fea15de012b
Merge: f673e70 417c45a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 13 15:02:03 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,pci fixes and enhancements
Most changes here are hotplug related:
This merges hotplug infrastructure changes by Igor,
some acpi related fixes, and PC fixes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 10 Feb 2014 09:13:26 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
ACPI: Remove commented-out code from HPET._CRS
hw/pci: switch to a generic hotplug handling for PCIDevice
pci/pcie: convert PCIE hotplug to use hotplug-handler API
pci/shpc: convert SHPC hotplug to use hotplug-handler API
acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API
qdev:pci: refactor PCIDevice to use generic "hotpluggable" property
hw/acpi: move typeinfo to the file end
qdev: add "hotpluggable" property to Device
qdev: add to BusState "hotplug-handler" link
define hotplug interface
loader: document that errno is set
pc.c: better error message on initrd sizing failure
pc_piix: enable legacy hotplug for Xen
qtest: don't report signals if qtest driver enabled
hw:piix4:acpi: reuse pcihp code for legacy PCI hotplug
pcihp: remove unused AcpiPciHpPciStatus.device_present field
pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug
pcihp: make PCI hotplug mmio handlers indifferent to PCI_HOTPLUG_ADDR
pcihp: replace enable|disable_device() with oneliners
pcihp: reduce number of device check events
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f673e70ccc668607620cd6d30fd0b9bc7a54151d
Merge: 9d74f6f ea81ce0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 13 14:52:06 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-upstream'
into staging
PReP machine and devices
* Cleanups for Raven PCI host bridge
* Removal of PReP machine and devices from qemu-system-ppcemb
# gpg: Signature made Mon 10 Feb 2014 16:19:03 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-upstream:
prep: Drop from ppcemb-softmmu
raven: Use constant PCI_NUM_PINS instead of 4
prep: Kill get_system_io() usage
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9d74f6fef0801ca2ce5c9d38d59b85bf03c27669
Merge: 628a746 73db416
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 12 17:53:31 2014 +0000
Merge remote-tracking branch 'remotes/alon/pull-libcacard.glusterfs' into
staging
* remotes/alon/pull-libcacard.glusterfs:
libcacard: Don't link with all libraries QEMU links to
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 628a746cf0d380ba8fc0fff2926c899e323768a7
Merge: a455044 e96126f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 12 16:42:50 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-anthony' into staging
Block patches
# gpg: Signature made Sun 09 Feb 2014 08:12:51 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-anthony:
block: Fix 32 bit truncation in mark_request_serialising()
blkdebug: Don't leak bs->file on failure
block: Don't call ROUND_UP with negative values
block: bdrv_aligned_pwritev: Assert overlap range
block: Fix memory leaks in bdrv_co_do_pwritev()
raw: Fix BlockLimits passthrough
qemu-iotests: add test for qcow2 preallocation with different cluster
sizes
qcow2: check for NULL l2meta
qcow2: fix offset overflow in qcow2_alloc_clusters_at()
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
block/iscsi: always fill bs->bl.opt_transfer_length
block: Fail gracefully with missing filename
qemu-iotests: enable support for NFS protocol
qemu-iotests: enable test 016 and 025 to work with NFS protocol
qemu-iotests: blacklist test 020 for NFS protocol
qemu-iotests: change _supported_proto to file for various tests
block: add native support for NFS
qemu-iotest: Make 077 raw-only
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5631e69c269c6b832837715a3bd4d685120a2713
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Dec 11 08:42:08 2013 -0800
target-openrisc: Use new qemu_ld/st opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit a4550442b947d2c2b346bd2efc8fe3da16425f4d
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Mon Dec 16 12:44:20 2013 +1000
petalogix-ml605: Create the CPU with object_new()
This is to allow future patches to set properties before cpu::realize().
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2e38847b8d3055f5203d7a258c4a48845cdb4f11
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Fri Dec 13 16:31:02 2013 +1000
exec: Make cpu_memory_rw_debug use the CPUs AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2a221651949a8dcf74faa0989d7b0dda96a76911
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Fri Dec 13 16:28:52 2013 +1000
exec: Make cpu_physical_memory_write_rom input an AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit db3be60deb01af6ee72edc7fa13f0ff820029831
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 15:29:06 2013 +1000
exec: Make stb_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 5ce5944dc0ffdc43c11b5cad11e526f699aabe4c
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 15:22:06 2013 +1000
exec: Make stw_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2198a121434b806636318d62c89595c1955e825a
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 28 10:13:41 2013 +0100
exec: Make stl_phys_notdirty input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit ab1da85791340e504d10487e1add81b9988afa98
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 15:07:29 2013 +1000
exec: Make stl_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit f606604f1c10b60ef294f1b9b229426521a365e3
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 28 00:11:44 2013 +0100
exec: Make stq_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 41701aa4ee11aafebb696c2e778ce0e57bcfc84f
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 14:33:56 2013 +1000
exec: Make lduw_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2c17449b3022ca9623c4a7e2a504a4150ac4ad30
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 14:05:40 2013 +1000
exec: Make ldq/ldub_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit fdfba1a298ae26dd44bcfdb0429314139a0bc55a
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Fri Nov 15 14:46:38 2013 +0100
exec: Make ldl_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 33bde2e13f36b9331e35b6e531bc06e8567b4f64
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 21 19:06:30 2013 +0100
exec: On AS changes, only flush affected CPU TLBs
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 09daed848c3de60b7979eda709dc4bae5195273d
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 13:06:51 2013 +1000
cpu: Add per-cpu address space
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit c6c6958c98687543bcb12bdf5492e7a48d535511
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 21 18:36:42 2013 +0100
memory: Add MemoryListener to typedefs.h
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 1b3fb98ff0c72f233e41e6dee55b25d9303a7cdf
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 18:43:28 2013 +0100
exec: Make memory_region_section_get_iotlb use section AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 3be91e862a6cc68a1872ac5b84685f4bb8910280
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 18:42:51 2013 +0100
exec: Always initialize MemorySection address spaces
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 777170946fc66120ec645699982ca24a8df95ead
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 19:55:56 2013 +0100
exec: Make iotlb_to_region input an AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 29d8ec7beebbf4d8f6094df91ad383b98d768b32
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 19:43:10 2013 +0100
exec: Make tb_invalidate_phys_addr input an AS
No functional change.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 8fa7574904793396694fa88834751a93bcdf4e10
Merge: 702f6df 69991d7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 11 11:26:36 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140208' into staging
target-arm queue:
* more A64 Neon instructions
* AArch32 VCVTB and VCVTT ARMv8 instructions
* fixes to inaccuracies in GIC emulation
* libvixl disassembler for A64
* Allwinner SoC ethernet controller
* zynq software system reset support
# gpg: Signature made Sat 08 Feb 2014 15:53:05 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140208: (29 commits)
arm/zynq: Add software system reset via SCLR
hw/arm/allwinner-a10: initialize EMAC
hw/net: add support for Allwinner EMAC Fast Ethernet controller
util/fifo8: clear fifo head upon reset
util/fifo8: implement push/pop of multiple bytes
disas: Implement disassembly output for A64
disas/libvixl: Fix upstream libvixl compilation issues
disas: Add subset of libvixl sources for A64 disassembler
rules.mak: Link with C++ if we have a C++ compiler
rules.mak: Support .cc as a C++ source file suffix
arm_gic: Add GICC_APRn state to the GICState
vmstate: Add uint32 2D-array support
arm_gic: Support setting/getting binary point reg
arm_gic: Keep track of SGI sources
arm_gic: Fix GIC pending behavior
target-arm: Add support for AArch32 64bit VCVTB and VCVTT
target-arm: A64: Add FNEG and FABS to the SIMD 2-reg-misc group
target-arm: A64: Add 2-reg-misc REV* instructions
target-arm: A64: Add narrowing 2-reg-misc instructions
target-arm: A64: Implement 2-reg-misc CNT, NOT and RBIT
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 702f6df9602a445103c55ac21af11c7aaedb9b34
Merge: a87f395 f8b7ee3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 10 18:31:06 2014 +0000
Merge remote-tracking branch 'remotes/kvaneesh/for-upstream' into staging
* remotes/kvaneesh/for-upstream:
hw/9pfs: fix P9_STATS_GEN handling
hw/9pfs: make get_st_gen() return ENOTTY error on special files
hw/9pfs: handle undefined FS_IOC_GETVERSION case in
handle_ioc_getversion()
hw/9pfs: fix error handing in local_ioc_getversion()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a87f39543a9259f671c5413723311180ee2ad2a8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 7 15:47:46 2014 +0100
memory: fix limiting of translation at a page boundary
Commit 360e607 (address_space_translate: do not cross page boundaries,
2014-01-30) broke MMIO accesses in cases where the section is shorter
than the full register width. This can happen for example with the
Bochs DISPI registers, which are 16 bits wide but have only a 1-byte
long MemoryRegion (if you write to the "second byte" of the register
your access is discarded; it doesn't write only to half of the register).
Restrict the action of commit 360e607 to direct RAM accesses. This
is enough for Xen, since MMIO will not go through the mapcache.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ea81ce06a4d65c62cd8f2a3797953602fb7d7456
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jan 23 11:22:16 2014 +0100
prep: Drop from ppcemb-softmmu
ppcemb covers only embedded processors, which does not include PReP.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 736d120af4bf5f3e13b2f90c464b3a24847f78f0
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Jan 22 18:35:32 2014 +0100
target-mips: add user-mode FR switch support for MIPS32r5
Description of UFR feature:
Required in MIPS32r5 if floating point is implemented and user-mode FR
switching is supported. The UFR register allows user-mode to clear
StatusFR
by executing a CTC1 to UFR with GPR[0] as input, and read StatusFR by
executing a CFC1 to UFR.
helper_ctc1 has been extended with an additional parameter rt to check
requirements for UFR feature.
Definition of mips32r5-generic has been modified to include support for
UFR.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit b4dd99a3636f5a3044dfd9dba7653ca377a9aeba
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Jan 17 19:25:57 2014 +0100
target-mips: add support for CP0_Config5
Add CP0_Config5, define rw_bitmask and enable modifications.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit b4160af160ba045e3a25013b4def4a39f09cbb78
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Jan 24 13:45:05 2014 +0100
target-mips: add support for CP0_Config4
Add CP0_Config4, define rw_bitmask.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit e527526d355570615533d38236818c759f29d889
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Jan 15 17:01:46 2014 +0100
target-mips: add CPU definition for MIPS32R5
Add mips32r5-generic among CPU definitions for MIPS.
Define ISA_MIPS32R3 and ISA_MIPS32R5.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit 417c45ab2f847c0a47b1232f611aa886df6a97d5
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Fri Feb 7 10:30:40 2014 -0500
ACPI: Remove commented-out code from HPET._CRS
IRQNoFlags on HPET._CRS crashes WinXP because it causes the HPET
to conflict with the system timer and/or the RTC. It only occurs
on Apple hardware, and even there it is exposed fully only when
OS X is detected (via _OSI). Recent OS X versions work on QEMU
without this statement, so at this time there is no need to find
a better way to conditionally include the statement. This patch
removes the commented out (and wrong, should have been {0, 8})
statement from HPET._CRS.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-By: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 5e95494380ecf83c97d28f72134ab45e0cace8f9
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:52 2014 +0100
hw/pci: switch to a generic hotplug handling for PCIDevice
make qdev_unplug()/device_set_realized() to call hotplug handler's
plug/unplug methods if available and remove not needed anymore
hot(un)plug handling from PCIDevice.
In case if hotplug handler is not available, revert to the legacy
hotplug method for compatibility with not yet converted buses.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a66e657e18cd9b70e9f57ae5512c07faf2bc508f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:51 2014 +0100
pci/pcie: convert PCIE hotplug to use hotplug-handler API
Split pcie_cap_slot_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PCIE_SLOT device.
Replace pci_bus_hotplug() wiring with setting link on PCI BUS
"hotplug-handler" property to PCI_BRIDGE_DEV device.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5d268704d7c2bc58c38b87d7d94804639ef100ec
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:50 2014 +0100
pci/shpc: convert SHPC hotplug to use hotplug-handler API
Split shpc_device_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PCI_BRIDGE_DEV device.
Replace pci_bus_hotplug() wiring with setting link on PCI BUS
"hotplug-handler" property to PCI_BRIDGE_DEV device.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c24d5e0b91d138f8cc95f5694d4964de36a739d3
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:49 2014 +0100
acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API
Split piix4_device_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PIIX4_PM device.
Replace pci_bus_hotplug() wiring with setting link on
PCI BUS "hotplug-handler" property to PIIX4_PM device.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2897ae026758eac78284ba6c3bd7732f3a1d9987
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:48 2014 +0100
qdev:pci: refactor PCIDevice to use generic "hotpluggable" property
Get rid of PCIDevice specific PCIDeviceClass.no_hotplug and use
generic DeviceClass.hotpluggable field instead.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5fdae20cef2857a2c63c8d4fa7df6274d6d7c3c8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:47 2014 +0100
hw/acpi: move typeinfo to the file end
do so to avoid not necessary forward declarations and
place typeinfo registration at the file end where it's
usually expected.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1a37eca107cece3ed454bae29eef0bd1fac4a244
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:46 2014 +0100
qdev: add "hotpluggable" property to Device
Currently it's possible to make PCIDevice not hotpluggable
by using no_hotplug field of PCIDeviceClass. However it
limits this only to PCI devices and prevents from
generalizing hotplug code.
So add similar field to DeviceClass so it could be reused
with other Devices and would allow to replace PCI specific
hotplug callbacks with generic implementation. Following
patches will replace PCIDeviceClass.no_hotplug with this
new property.
In addition expose field as "hotpluggable" readonly property,
to make it possible to read its value via QOM interface.
Make DeviceClass hotpluggable by default as it was assumed
before.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0ee4de6ce1d403b3d8017b340cec772c3c5c106f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:45 2014 +0100
qdev: add to BusState "hotplug-handler" link
It will allow to reuse field with different BUSes,
reducing code duplication. Field is intended for
replacing 'hotplug_qdev' field in PCIBus and also
will allow to avoid adding equivalent field to
DimmBus with possiblitity to refactor other BUSes
to use it instead of custom field.
In addition once all users of allow_hotplug field
are converted to new API, link could replace
allow_hotplug field in qdev hotplug code.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9f117d41841e13ca29cc2a10ac03258339ea1f8b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:44 2014 +0100
define hotplug interface
Provide a generic hotplug interface for hotplug handlers.
Intended for replacing hotplug mechanism used by
PCI/PCIE/SHPC code and will be used for memory hotplug.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a1483f88b6e21dd3ea481a021e5d4f7f273204c6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Feb 5 21:57:55 2014 +0200
loader: document that errno is set
Document that get_image_size sets errno
on failure.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 963116b0b36feac8bca435371528b2ee374608f1
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Nov 5 00:09:44 2013 +0100
raven: Use constant PCI_NUM_PINS instead of 4
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit c0f2bf9b3f6d8b5961b47b0affbb5456e6123e68
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Nov 5 00:09:43 2013 +0100
prep: Kill get_system_io() usage
While ISA address space in prep machine is currently the one returned
by get_system_io(), this depends of the implementation of i82378/raven
devices, and this may not be the case forever.
Use the right ISA address space when adding some more ports to it.
We can use whatever ISA device on the right ISA bus, as all ISA devices
on the same ISA bus share the same ISA address space.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 73db416ae7941f8ffeabc060ec87402b97314b6d
Author: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Date: Thu Jan 30 14:56:49 2014 +0100
libcacard: Don't link with all libraries QEMU links to
As described in https://bugzilla.redhat.com/show_bug.cgi?id=987441 ,
libcacard currently links to all the libraries QEMU is linking to,
including glusterfs libraries, libiscsi, ... libcacard does not need all
of
these. This patch ensures it's only linked with the libraries it needs.
Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
commit e96126ffa53d36ec75a1ee900a6b7e7c82d9bb9c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 10:42:18 2014 +0100
block: Fix 32 bit truncation in mark_request_serialising()
On 32 bit hosts, size_t is too small for align as the bitmask
~(align - 1) will zero out the higher 32 bits of the offset.
While at it, change the local overlap_bytes variable to unsigned to
match the field in BdrvTrackedRequest.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit eaf944a43835399f12808aebd0d0a1db6249ed07
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 09:53:22 2014 +0100
blkdebug: Don't leak bs->file on failure
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 5f5bcd80f8c365bca1480dc39141952fa7f88c71
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 7 16:00:09 2014 +0100
block: Don't call ROUND_UP with negative values
The behaviour of the ROUND_UP macro with negative numbers isn't obvious.
It happens to do the right thing in this please, but better avoid it.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit af91f9a73c3a67eebbf4120cae62b82db8eaae19
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 7 15:35:56 2014 +0100
block: bdrv_aligned_pwritev: Assert overlap range
This adds assertions that the request that we actually end up passing to
the block driver (which includes RMW data and has therefore potentially
been rounded to alignment boundaries) is fully covered by the
overlap_{offset,size} fields of the associated BdrvTrackedRequest.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 99c4a85ce65863e6ba6668164d47c0d7c645e3aa
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 7 15:29:00 2014 +0100
block: Fix memory leaks in bdrv_co_do_pwritev()
The error path for a failure in one of the two bdrv_aligned_preadv()
calls leaked head_buf or tail_buf, respectively. This fixes the memory
leak.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit ad6aef43d36fe65701ff84193576d7f3dcb82dc5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Feb 4 11:54:13 2014 +0100
raw: Fix BlockLimits passthrough
raw copies over the BlockLimits of bs->file during bdrv_open().
However, since commit d34682cd it is immediately overwritten during
bdrv_refresh_limits(). This caused all fields except for
opt_transfer_length and opt_mem_alignment (which happen to be correctly
inherited in generic code) to be zeroed.
Move the BlockLimit assignment to a .bdrv_refresh_limits() callback to
make it work again for all fields.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 693a50ade339e3ef9b042fd73a3b81405101ba3d
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:40 2014 +0800
qemu-iotests: add test for qcow2 preallocation with different cluster
sizes
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7c2bbf4aa66ca5a9fc2ca147e0e6cb6f407a3aa2
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:39 2014 +0800
qcow2: check for NULL l2meta
In the case of a metadata preallocation with a large cluster size,
qcow2_alloc_cluster_offset() can allocate nothing and returns a
NULL l2meta. This patch checks for it and link2 l2 with only valid
l2meta.
Replace 9 and 512 with BDRV_SECTOR_BITS, BDRV_SECTOR_SIZE
respectively while at the function.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 33304ec9fa484e765c6249673e09e1b7d49c5b85
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:38 2014 +0800
qcow2: fix offset overflow in qcow2_alloc_clusters_at()
When cluster size is big enough it can lead to an offset overflow
in qcow2_alloc_clusters_at(). This patch fixes it.
The allocation is stopped each time at L2 table boundary
(see handle_alloc()), so the possible maximum bytes could be
2^(cluster_bits - 3 + cluster_bits)
cluster_bits - 3 is used to compute the number of entry by L2
and the additional cluster_bits is to take into account each
clusters referenced by the L2 entries.
so int is safe for cluster_bits<=17, unsafe otherwise.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 16f0587e0a5da5b1ad76cb7c3739491bc042201c
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:37 2014 +0800
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
n_start can be actually calculated from offset. The number of
sectors to be allocated(n_end - n_start) can be passed in in
num. By removing n_start and n_end, we can save two parameters.
The side effect is there is a bug in qcow2.c:preallocate() that
passes incorrect n_start to qcow2_alloc_cluster_offset() is
fixed. The bug can be triggerred by a larger cluster size than
the default value(65536), for example:
./qemu-img create -f qcow2 \
-o 'cluster_size=131072,preallocation=metadata' file.img 4G
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5d259fc7da83249a4f78fe32de2bc2874a997a9f
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 29 13:03:35 2014 +0100
block/iscsi: always fill bs->bl.opt_transfer_length
the opt_transfer_length has nothing to do with logical
block provisioning stuff so always copy it from
the block limits VPD page.
Reported-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 765003db029ed4660a09807958276e251de84fac
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Feb 3 14:49:42 2014 +0100
block: Fail gracefully with missing filename
This fixes a regression introduced in commit 2a05cbe42 ('block: Allow
block devices without files'):
$ qemu-system-x86_64 -drive driver=file
qemu-system-x86_64: block.c:892: bdrv_open_common: Assertion
`!drv->bdrv_needs_filename || filename != ((void *)0)' failed.
Now the respective check must be performed not only in bdrv_file_open(),
but also in bdrv_open().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 170632dbc9f75217861dd8bf2e6da3c269a1ba18
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:17 2014 +0100
qemu-iotests: enable support for NFS protocol
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a19737f1bdcca1de3d0c1d7c87935d89d5ccc1e5
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:16 2014 +0100
qemu-iotests: enable test 016 and 025 to work with NFS protocol
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ecd792fd2178570b8bcf399a86af5a6d9504437b
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:15 2014 +0100
qemu-iotests: blacklist test 020 for NFS protocol
reopening is currently not supported.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1f7bf7d0687f5a58613358f5e7cfd8f29a3a21e2
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:14 2014 +0100
qemu-iotests: change _supported_proto to file for various tests
all these tests do anything of the following and thus fail with any
protocol other than file:
- the tests use rm, cp or mv shell commands which only work on file
- the tests use qcow2.py
- the images construct new filenames (e.g. backing file names) and
the logic is broken for anything else than file
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6542aa9c75bcef5a549b8ac1ce34d0ec6782a3c2
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:13 2014 +0100
block: add native support for NFS
This patch adds native support for accessing images on NFS
shares without the requirement to actually mount the entire
NFS share on the host.
NFS Images can simply be specified by an url of the form:
nfs://<host>/<export>/<filename>[?param=value[¶m2=value2[&...]]]
For example:
qemu-img create -f qcow2 nfs://10.0.0.1/qemu-images/test.qcow2
You need LibNFS from Ronnie Sahlberg available at:
git://github.com/sahlberg/libnfs.git
for this to work.
During configure it is automatically probed for libnfs and support
is enabled on-the-fly. You can forbid or enforce libnfs support
with --disable-libnfs or --enable-libnfs respectively.
Due to NFS restrictions you might need to execute your binaries
as root, allow them to open priviledged ports (<1024) or specify
insecure option on the NFS server.
For additional information on ROOT vs. non-ROOT operation and URL
format + parameters see:
https://raw.github.com/sahlberg/libnfs/master/README
Supported by qemu are the uid, gid and tcp-syncnt URL parameters.
LibNFS currently support NFS version 3 only.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f51062061e6adf64a879177f35ff5c6babb63e7e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jan 30 12:52:47 2014 +0100
qemu-iotest: Make 077 raw-only
The qemu-io command sequences make the assumption that an unaligned
request on the format layer will be unaligned on the blkdebug layer as
well. This doesn't necessarily hold true for drivers other than raw.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit 1f6b12f75f2c22f861d0202374033a7594c91707
Merge: 3ea3bd6 f41152b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 15:57:51 2014 +0000
Merge remote-tracking branch 'remotes/mwalle/tags/lm32-fixes/20140204'
into staging
target-lm32: fixes
# gpg: Signature made Tue 04 Feb 2014 18:47:56 GMT using DSA key ID
3F98A378
# gpg: Can't check signature: public key not found
* remotes/mwalle/tags/lm32-fixes/20140204:
hw/lm32: print error if cpu model is not found
target-lm32: stop VM on illegal or unknown instruction
lm32_sys: dump cpu state if test case fails
lm32_sys: print test result on stderr
target-lm32: add breakpoint/watchpoint support
target-lm32: move model features to LM32CPU
target-lm32: kill cpu_abort() calls
milkymist-vgafb: swap pixel data in source buffer
lm32_uart/lm32_juart: use qemu_chr_fe_write_all()
milkymist-uart: use qemu_chr_fe_write_all() instead of
qemu_chr_fe_write()
tests: lm32: new rule for single test cases
lm32_sys: increase test case name length limit
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 69991d7dcbcf7f3fe38274bc67fcba3cbbfda0cf
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 5 08:31:55 2014 +0100
arm/zynq: Add software system reset via SCLR
Support software-driven system reset via the register in the SCLR.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit db7dfd4c7e4450b10048a53ce67bcac6305ad383
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:07 2014 +0100
hw/arm/allwinner-a10: initialize EMAC
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 22f90bcb2be021bb894438ddfeb10c75fa7502d8
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:06 2014 +0100
hw/net: add support for Allwinner EMAC Fast Ethernet controller
This patch adds support for the Fast Ethernet MAC found on Allwinner
SoCs, together with a basic emulation of Realtek RTL8201CP PHY.
Since there is no public documentation of the Allwinner controller, the
implementation is based on Linux kernel driver.
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 58892d4782bf516e8356e3adfe4fc9b10c397b2f
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:05 2014 +0100
util/fifo8: clear fifo head upon reset
To improve the predictability of fifo8_pop_buf(), the fifo head is set
to the start of data buffer upon a reset so that the first call to the
function will be able to retrieve all data in the fifo.
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c4e57af85272f98c28ccaaace040d2abb0ec85c4
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:04 2014 +0100
util/fifo8: implement push/pop of multiple bytes
The patch adds functions fifo8_push_all() and fifo8_pop_buf() which
can be used respectively to push the content of a memory buffer to the
fifo and to pop multiple bytes obtaining a pointer to the fifo backing
buffer.
In addition, it implements fifo8_num_free() and fifo8_num_used() which
allow to check if a multi-byte operation can be performed.
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 999b53ec8794f203964db3ecf939a3da5c4bc843
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Feb 5 17:27:28 2014 +0000
disas: Implement disassembly output for A64
Use libvixl to implement disassembly output in debug
logs for A64, for use with both AArch64 hosts and targets.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM:
* added support for target disassembly
* switched to custom QEMUDisassembler so the output format
matches what QEMU expects
* make sure we correctly fall back to "just print hex"
if we didn't build the AArch64 disassembler because of
lack of a C++ compiler
* rename from 'aarch64' to 'arm-a64' because this is a
disassembler for the A64 instruction set
* merge aarch64.c and aarch64-cxx.cc into one C++ file
* simplify the aarch64.c<->aarch64-cxx.cc interface]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 37fd5b53ba688e2a32d3966870361e667381ca95
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:28 2014 +0000
disas/libvixl: Fix upstream libvixl compilation issues
Fix various minor issues with upstream libvixl so that it will compile
successfully on the platforms QEMU cares about:
* remove unused GBytes constant (it clashes with the glib headers)
* fix suffixes on constants to use 'LL' for 64 bit constants so
we can compile on 32 bit hosts
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 878a735d009d1e90e96d6c5c6f9471aa4ec2ba65
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:27 2014 +0000
disas: Add subset of libvixl sources for A64 disassembler
Add the subset of the libvixl sources that are needed for the
A64 disassembler support. These sources come from
https://github.com/armvixl/vixl commit 578645f14e122d2b
which is VIXL release 1.1.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3144f78b3f8d517d32641a7b606b67e7b3cc16f7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:27 2014 +0000
rules.mak: Link with C++ if we have a C++ compiler
If we have a C++ compiler available, link with it, because we might be
linking some C++ files in. This allows us to include C++ object files
in the QEMU binary proper.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c3dc9fd5ac892b88b956d8c90c0e8de14c08e0fc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:27 2014 +0000
rules.mak: Support .cc as a C++ source file suffix
The A64 disassembler libvixl uses .cc as its suffix for
C++ source files, so add support for it (we already support
.cpp).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9d477c4e3d614409a48d12f34624c2dd9f1ec2d
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Mon Nov 18 19:26:33 2013 -0800
arm_gic: Add GICC_APRn state to the GICState
The GICC_APRn registers are not currently supported by the ARM GIC v2.0
emulation. This patch adds the missing state.
Note that we also change the number of APRs to use a define GIC_NR_APRS
based on the maximum number of preemption levels. This patch also adds
RAZ/WI accessors for the four registers on the emulated CPU interface.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a1b1d277cdaac98f25be249e7819aac781a35530
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Sep 20 20:35:06 2013 +0100
vmstate: Add uint32 2D-array support
Add support for saving VMState of 2D arrays of uint32 values.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit aa7d461ae9dd79d35999f4710743cdf9dec88cef
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Thu Sep 12 22:18:20 2013 -0700
arm_gic: Support setting/getting binary point reg
Add a binary_point field to the gic emulation structure and support
setting/getting this register now when we have it. We don't actually
support interrupt grouping yet, oh well.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 40d225009efe17cad647b4b7424b77a3ace232f1
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Mon Nov 18 20:32:00 2013 -0800
arm_gic: Keep track of SGI sources
Right now the arm gic emulation doesn't keep track of the source of an
SGI (which apparently Linux guests don't use, or they're fine with
assuming CPU 0 always).
Add the necessary matrix on the GICState structure and maintain the data
when setting and clearing the pending state of an IRQ and make the state
visible to the guest.
Note that we always choose to present the source as the lowest-numbered
CPU in case multiple cores have signalled the same SGI number to a core
on the system.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8d999995e45c1002aa11f269c98f2e93e6f8c42a
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Mon Nov 18 20:32:00 2013 -0800
arm_gic: Fix GIC pending behavior
The existing implementation of the pending behavior in gic_set_irq,
gic_complete_irq, and the distributor pending set/clear registers does
not follow the semantics of the GICv2.0 specs, but may implement the
11MPCore support. Therefore, maintain the existing semantics for
11MPCore and v7M NVIC and change the behavior to be in accordance with
the GICv2.0 specs for "generic implementations" (s->revision == 1 ||
s->revision == 2).
Generic implementations distinguish between setting a level-triggered
interrupt pending through writes to the GICD_ISPENDR and when hardware
raises the interrupt line. Writing to the GICD_ICPENDR will not cause
the interrupt to become non-pending if the line is still active, and
conversely, if the line is deactivated but the interrupt is marked as
pending through a write to GICD_ISPENDR, the interrupt remains pending.
Handle this situation in the GIC_TEST_PENDING (which now becomes a
static inline named gic_test_pending) and let the 'pending' field
correspond only to the latched state of the D-flip flop in the GICv2.0
specs Figure 4-10.
The following changes are added:
gic_test_pending:
Make this a static inline and split out the 11MPCore from the generic
behavior. For the generic behavior, consider interrupts pending if:
((s->irq_state[irq].pending & (cm) != 0) ||
(!GIC_TEST_EDGE_TRIGGER(irq) && GIC_TEST_LEVEL(irq, cm))
gic_set_irq:
Split out the 11MPCore from the generic behavior. For the generic
behavior, always GIC_SET_LEVEL() on positive level, but only
GIC_SET_PENDING for edge-triggered interrupts and always simply
GIC_CLEAR_LEVEL() on negative level.
gic_complete_irq:
Only resample the line for line-triggered interrupts on an 11MPCore.
Generic implementations will sample the line directly in
gic_test_pending().
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 239c20c7c87816402acdb118a5295acda9d25c5c
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Wed Jan 29 10:31:51 2014 +0000
target-arm: Add support for AArch32 64bit VCVTB and VCVTT
Add support for the AArch32 floating-point half-precision to double-
precision conversion VCVTB and VCVTT instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: fixed a minor missing-braces style issue]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f93d0138959918f896b91b43c99a56a50a2e8463
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:52 2014 +0000
target-arm: A64: Add FNEG and FABS to the SIMD 2-reg-misc group
Add the SIMD FNEG and FABS instructions in the SIMD 2-reg-misc group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39d8211893efdc5cbcd6a8f51a65e33eac6fa3da
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Feb 3 23:31:52 2014 +0000
target-arm: A64: Add 2-reg-misc REV* instructions
Add the byte-reverse operations REV64, REV32 and REV16 from the
two-reg-misc group.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d980fd59a49b06f8431fdb418068c2acc0fce8d5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:52 2014 +0000
target-arm: A64: Add narrowing 2-reg-misc instructions
Add the narrowing integer instructions in the 2-reg-misc class.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 86cbc418ce764b877c2db8993f1f7a05d9be7702
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:51 2014 +0000
target-arm: A64: Implement 2-reg-misc CNT, NOT and RBIT
Implement the 2-reg-misc CNT, NOT and RBIT instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 94b6c911c644de8621b7be48b0fa0f9c2b7a2122
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:51 2014 +0000
target-arm: A64: Implement 2-register misc compares, ABS, NEG
Implement the simple 2-register-misc operations we can share
with the scalar-two-register-misc code. (SUQADD, USQADD, SQABS,
SQNEG also fall into this category, but aren't implemented in
the scalar-2-register case yet either.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 45aecc6dbb9e282bd880d155f80018a192c90ff2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Add skeleton decode for SIMD 2-reg misc group
Add a skeleton decode for the SIMD 2-reg misc group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit effa8e06435e6a47a3a21e50fd638b6fb29e616a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Add SIMD simple 64 bit insns from scalar 2-reg misc
Implement the simple 64 bit integer operations from the SIMD
scalar 2-register misc group (C3.6.12): the comparisons against
zero, plus ABS and NEG.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c0b2b5fa3651caff0b33621583a3709a8875e85f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Implement remaining integer scalar-3-same insns
Implement the remaining integer instructions in the scalar-three-reg-same
group: SQADD, UQADD, SQSUB, UQSUB, SQSHL, UQSHL, SQRSHL, UQRSHL,
SQDMULH, SQRDMULH.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3720a7ea364607a19b26745c40e648a1c0e20523
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Implement scalar pairwise ops
Implement the instructions in the scalar pairwise group (C3.6.8).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c1de788ab9584e9629d6e9004d8cddd428b6cbe4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
tcg: Add TCGV_UNUSED_PTR, TCGV_IS_UNUSED_PTR, TCGV_EQUAL_PTR
We have macros for marking TCGv values as unused, checking if they
are unused and comparing them to each other. However these only exist
for TCGv_i32 and TCGv_i64; add them for TCGv_ptr as well.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0173a00521e3d66afbeb0d0b19e78ac68095b7e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
target-arm: A64: Implement pairwise integer ops from 3-reg-same SIMD
Implement the pairwise integer operations in the 3-reg-same SIMD group:
ADDP, SMAXP, SMINP, UMAXP and UMINP.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8b12a0cfc1449b1a0768705e61df5235bf93160d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
target-arm: A64: Implement remaining non-pairwise int SIMD 3-reg-same
insns
Implement the SIMD 3-reg-same instructions where the size == 3 case
is reserved: SHADD, UHADD, SRHADD, URHADD, SHSUB, UHSUB, SMAX,
UMAX, SMIN, UMIN, SABD, UABD, SABA, UABA, MLA, MLS, MUL, PMUL,
SQRDMULH, SQDMULH. (None of these have scalar-3-same versions.)
This completes the non-pairwise integer instructions in this category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6d9571f7d842a2112937fb161a5c077ca4cac757
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
target-arm: A64: Implement SIMD 3-reg-same shift and saturate insns
Implement the SIMD 3-reg-same instructions SQADD, UQADD,
SQSUB, UQSUB, SSHL, USHL, SQSHl, UQSHL, SRSHL, URSHL,
SQRSHL, UQRSHL; these are all simple calls to existing
Neon helpers. We also enable SSHL, USHL, SRSHL and URSHL
for the 3-reg-same-scalar category (but not the others
because they can have non-size-64 operands and the
scalar_3reg_same function doesn't support that yet.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3ea3bd62451ac79478b440ad9fe2a4cd69783a1f
Merge: 4db0014 89db998
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 13:12:50 2014 +0000
Merge remote-tracking branch
'remotes/juanquintela/tags/migration/20140204-1' into staging
migration/next for 20140204
# gpg: Signature made Tue 04 Feb 2014 15:52:00 GMT using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* remotes/juanquintela/tags/migration/20140204-1:
Don't abort on memory allocation error
Don't abort on out of memory when creating page cache
XBZRLE cache size should not be larger than guest memory size
migration:fix free XBZRLE decoded_buf wrong
Add check for cache size smaller than page size
Set xbzrle buffers to NULL after freeing them to avoid double free
errors
exec: fix ram_list dirty map optimization
vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4db0014521a6820415298e10978b53dee3440f56
Merge: 91abb80 41419b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 7 16:42:13 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-roms-1' into
staging
Update seabios to 1.7.4
# gpg: Signature made Mon 03 Feb 2014 14:42:44 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-roms-1:
Update seabios binaries to 1.7.4
Update seabios submodule to 1.7.4
roms: remove explicit MAKEFLAGS from recursive make invocations
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 91abb80b5f66e8387ae1a5ba85083e49b877938c
Merge: bc1c721 56db2e5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 7 16:03:13 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/qtest-for-peter' into
staging
qtest resource cleanup patches
# gpg: Signature made Tue 04 Feb 2014 08:29:12 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/qtest-for-peter:
qtest: unlink UNIX domain sockets after connecting
qtest: unlink QEMU pid file after startup
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bc1c72171ceb9a817138603fe381d64e7f8a9364
Merge: 2653078 7c08db3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 6 23:51:24 2014 +0000
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
target-i386: Move KVM default-vendor hack to instance_init
target-i386: Don't change x86_def_t struct on cpu_x86_register()
target-i386: Eliminate CONFIG_KVM #ifdefs
kvm: add support for hyper-v timers
kvm: make hyperv vapic assist page migratable
kvm: make hyperv hypercall and guest os id MSRs migratable.
kvm: make availability of Hyper-V enlightenments dependent on
KVM_CAP_HYPERV
KVM: fix coexistence of KVM and Hyper-V leaves
kvm: print suberror on all internal errors
target-i386: kvm_check_features_against_host(): Kill feature word array
target-i386: kvm_cpu_fill_host(): Fill feature words in a loop
target-i386: kvm_cpu_fill_host(): Set all feature words at end of
function
target-i386: kvm_cpu_fill_host(): No need to check xlevel2
target-i386: kvm_cpu_fill_host(): No need to check CPU vendor
target-i386: kvm_cpu_fill_host(): No need to check level
target-i386: kvm_cpu_fill_host(): Kill unused code
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 26530780c20eb762fa0ed94ac57226695f22ee65
Merge: 31db5b3 8909114
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 6 10:21:12 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-2' into
staging
misc spice patches
# gpg: Signature made Mon 03 Feb 2014 15:05:29 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-2:
spice: hook qemu_chr_fe_set_open() event to ports
Add the ability to vary Spice playback and record rates, to facilitate
Opus support.
hw/display/qxl: fix signed to unsigned comparison
qxl: clear irq on reset
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 31db5b3638553e616eba3391dbff88f77b8a5bc9
Merge: e5d3df6 b76afd1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 16:37:26 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-02-02' into staging
trivial patches for 2014-02-02
# gpg: Signature made Sun 02 Feb 2014 16:11:37 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-02-02:
tests/.gitignore: Ignore tests/check-qom-interface
hw/ppc: Remove unused defines
readline: Add missing GCC_FMT_ATTR
tcg/s390: Remove sigill_handler
i386: Add missing include file for QEMU_PACKED
osdep: drop unused #include "trace.h"
qemu 1.7.0 does not build on NetBSD
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e5d3df6deb664a31e6c69b36e07f1701fee7cbf5
Merge: 2b2449f 1b7650e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 16:29:01 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 31 Jan 2014 21:16:43 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
qemu-iotests: only run 071 on qcow2
dataplane: Comment fix
block/vhdx: Error checking fixes
qemu-iotests: Drop assert_no_active_commit in case 040
block/vmdk: add basic .bdrv_check support
block: remove qcow2 .bdrv_make_empty implementation
block: remove QED .bdrv_make_empty implementation
Describe flaws in qcow/qcow2 encryption in the docs
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7454e51d2b26ca6c2fd6fb77c4adc3ab11ec590f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Feb 2 22:45:28 2014 +0200
pc.c: better error message on initrd sizing failure
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d160024fe52cd4970ee80904dbdc7a22ddf86c96
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 23:29:30 2014 +0200
pc_piix: enable legacy hotplug for Xen
xenfv has no fwcfg and so does not load acpi from QEMU.
as such new acpi features don't work.
Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 35b307126cc99165881d24bb62cc52f21275cb54
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 20:04:21 2014 +0200
qtest: don't report signals if qtest driver enabled
qtest driver always uses signals to kill qemu
no need to report it, whatever the accelerator state.
Add API to detect qtest driver, and suppress reporting
signals in this case.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e358edc8e90d580443b824e4ef799e137377ad86
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:45:01 2014 +0100
hw:piix4:acpi: reuse pcihp code for legacy PCI hotplug
reduces acpi PCI hotplug code duplication by ~200LOC
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a1b4d9eff9e8dec8b827bd744c7d670d3cdf2fb8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:45:00 2014 +0100
pcihp: remove unused AcpiPciHpPciStatus.device_present field
Remove now unused 'device_present' field wich was obsoleted by
patch "pcihp: reduce number of device check events"
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 99d09dd32820f5702031e3c08c81f8c209dc2220
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:44:59 2014 +0100
pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug
due to recent change introduced by:
"pcihp: reduce number of device check events"
'up' field is cleared right after it's read.
This is incompatible with legacy BIOS ACPI code
where PCNF ACPI method reads this field 32 times.
To make pci_read mmio callback compatible with legacy
'up' behavior, pcihp code will need to know in which
mode it runs add 'legacy_piix' field to AcpiPciHpState
structure and alter register behavior accordingly.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a7b613cf68b65d04ef2b1b601bb18f31e8ca0c11
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:44:58 2014 +0100
pcihp: make PCI hotplug mmio handlers indifferent to PCI_HOTPLUG_ADDR
... removes dependency of mmio handler on PCI_HOTPLUG_ADDR.
It will be needed in case of Q35 where base could be different.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8f5001f9ede507940317531bc83154288e7a1d0a
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:44:57 2014 +0100
pcihp: replace enable|disable_device() with oneliners
enable_device() and disable_device() functions aren't reused anywere,
so replace them with respective oneliners at call sites.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5a2223ca26b1a34e131b5b9a63599d9426d2c25c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jan 26 12:31:27 2014 +0200
pcihp: reduce number of device check events
PIIX created a made-up value for the UP register since it was read by
guest 32 times for each interrupt.
There's no reason to do this for the new PCIHP: register is only read
once for each interrupt, so clean up code by making read act as an
interrupt acknowledgement: the new UP register clear on read.
In this way we cut down the number of bus rescans
by a factor of 32, and drop a bunch of code that's
now unused.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f41152bd9d01ab327c19a3828bb7896d67cf0752
Author: Michael Walle <michael@xxxxxxxx>
Date: Thu Nov 28 19:09:33 2013 +0100
hw/lm32: print error if cpu model is not found
QEMU crashed if a the given cpu_model is not found.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 667ff9612b786f9bb5b70135811164b48b7d44eb
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 23 20:47:33 2013 +0200
target-lm32: stop VM on illegal or unknown instruction
Instead of translating the instruction to a no-op, pause the VM and
display
a message to the user.
As a side effect, this also works for instructions where the operands are
only known at runtime.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 8c5edce5b775f98cff2e340427740137bd6847be
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 23 20:53:04 2013 +0200
lm32_sys: dump cpu state if test case fails
This will ease debugging the test cases.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 9a59e6e307073f06b7a925b2b0e333301daa2f22
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 23 20:49:17 2013 +0200
lm32_sys: print test result on stderr
Do not use qemu_log().
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 3dd3a2b965a2d2f5b9c53ab86194b78a546a8fc5
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Sep 18 19:10:45 2013 +0200
target-lm32: add breakpoint/watchpoint support
This patch adds in-target breakpoint and watchpoint support.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 2b2449f7e467957778ca006904471b231dc0ac8e
Merge: 9396b05 44c68de
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 4 18:46:33 2014 +0000
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140131'
into staging
This patch set contains the sclp defines and events for cpu hotplug,
the initial sclp defines (without code yet) for standby memory (some
sort of memory hotplug) as well as a cleanup of the kvm register
synchronization.
# gpg: Signature made Fri 31 Jan 2014 08:54:29 GMT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
* remotes/borntraeger/tags/kvm-s390-20140131:
s390x/kvm: cleanup partial register handling
sclp-s390: Define new SCLP codes and structures
s390-sclp: SCLP Event integration
s390-sclp: SCLP CPU Info
s390-sclp: Define New SCLP Codes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 34f4aa83f96722aa2c36fbe179108863ebe6e3e9
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Sep 17 18:33:16 2013 +0200
target-lm32: move model features to LM32CPU
This allows us to completely remove CPULM32State from DisasContext.
Instead, copy the fields we need to DisasContext.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 3604a76fea6ff37738d4a8f596be38407be74a83
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 16 20:13:05 2013 +0200
target-lm32: kill cpu_abort() calls
Instead of killing QEMU, translate instructions which are not available on
the CPU model as a noop and issue a log message at translation time.
On the real hardware CPU unknown opcodes results in undefined behaviour.
These changes prepare the removal of CPULM32State from DisasContext.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 2f453564274cde7efba77246726f3d0c51566ec0
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 16 19:32:54 2013 +0200
milkymist-vgafb: swap pixel data in source buffer
In commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf the lduw_raw() call was
eliminated. But we are reading from the target buffer a 16-bit value,
which
is in big-endian format. Therefore, use lduw_be_p() to read the value.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 02d3bf7fe755e490b3641148eaef02475c58bdee
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 16 18:29:32 2013 +0200
lm32_uart/lm32_juart: use qemu_chr_fe_write_all()
qemu_chr_fe_write() may return EAGAIN. Therefore, use
qemu_chr_fe_write_all().
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b2c623a3d9c88fb1d3bbbbe97364dc65bc6ab363
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Sat Aug 31 21:22:39 2013 +0400
milkymist-uart: use qemu_chr_fe_write_all() instead of qemu_chr_fe_write()
qemu_chr_fe_write() is capable of returning 0
to indicate EAGAIN (and friends) and we don't
handle this.
Just change it to qemu_chr_fe_write_all() to fix.
Reported-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f40c49ac9f89ee52b6015904c9005b734a73487a
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Dec 10 00:03:09 2012 +0100
tests: lm32: new rule for single test cases
Introduce new target "check_%" to run individual test caes, eg.
make check_mmu
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e67b3ca53a891413a33c45495ff20c2728d69722
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Dec 10 00:00:24 2012 +0100
lm32_sys: increase test case name length limit
The new MMU tests use longer names.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 9396b05a5a35d344dc5eaed6fb0dff96c49d5f50
Merge: 8cfc114 fbb9c59
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 4 16:16:37 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-openbios' into staging
* remotes/mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 89db9987c07977bdb78d5d4b41d65e7acb9a5a2c
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:38 2014 +0200
Don't abort on memory allocation error
It is better to fail migration in case of failure to
allocate new cache item
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a17b2fd3580d1da96e806c8b58e61255e8c57577
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:37 2014 +0200
Don't abort on out of memory when creating page cache
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a5615b14a66e86f620e90c8f4b3537c28bb328d4
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:36 2014 +0200
XBZRLE cache size should not be larger than guest memory size
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 905f26f2221e139ac0e7317ddac158c50f5cf876
Author: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>
Date: Thu Jan 30 20:08:35 2014 +0200
migration:fix free XBZRLE decoded_buf wrong
When qemu do live migration with xbzrle, qemu malloc decoded_buf
at destination end but free it at source end. It will crash qemu
by double free error in some scenarios. Splitting the XBZRLE structure
for clear logic distinguishing src/dst side.
Signed-off-by: ChenLiang <chenliang88@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: GongLei <arei.gonglei@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c91e681a558fc21073ffc491b5a022d5f340fa0b
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:34 2014 +0200
Add check for cache size smaller than page size
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f6c6483b259a2395ee44cfa966f622e0f2dbe2ae
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:33 2014 +0200
Set xbzrle buffers to NULL after freeing them to avoid double free errors
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f9ee9f9ac28d6964772c08d5d428b713d58a3aca
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jan 30 23:03:50 2014 +1100
exec: fix ram_list dirty map optimization
The ae2810c4bb3b383176e8e1b33931b16c01483aab patch introduced
optimization for ram_list.dirty_memory update. However it can only
work correctly if hpratio is 1 as the @bitmap parameter stores 1 bits
per system page size (may vary, 4K or 64K on PPC64) and
ram_list.dirty_memory stores 1 bit per TARGET_PAGE_SIZE
(which is hardcoded to 4K).
This fixes hpratio!=1 case to fall back to the slow path.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 20bcf73fa80c3477b6aaf5f39f18f031ff55de92
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jan 1 21:56:57 2014 +0000
vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type
The VMSTATE_STRUCT_POINTER macros are a bit odd in that they
must be passed an argument "FooType *" rather than just taking
the FooType. They're only used in one place, so it's easy to
tidy this up. This also lets us use the macro to replace the
hand-rolled VMSTATE_PTIMER.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7c08db30e6a43f7083a881eb07bfbc878e001e08
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:55 2014 -0200
target-i386: Move KVM default-vendor hack to instance_init
As we will not have a cpu_x86_find_by_name() function anymore,
move the KVM default-vendor hack to instance_init.
Unfortunately we can't move that code to class_init because it depends
on KVM being initialized.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 82beb53633246d67d4b01a5e802f9edc80332f9d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:54 2014 -0200
target-i386: Don't change x86_def_t struct on cpu_x86_register()
As eventually the x86_def_t data is going to be provided by the CPU
class, it's better to not touch it, and handle the special cases on the
X86CPU object itself.
Current behavior of the code should stay exactly the same.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c1f412260b4e0f309dba8da99482fb32d6098719
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:53 2014 -0200
target-i386: Eliminate CONFIG_KVM #ifdefs
The compiler is already able to eliminate the
kvm_arch_get_supported_cpuid()
calls in kvm_cpu_fill_host() and filter_features_for_kvm(), so we can
eliminate the CONFIG_KVM #ifdefs there.
Also, kvm_cpu_fill_host() and host_cpuid() don't need to check
CONFIG_KVM, as they don't have any KVM-specific function calls.
Tested to build successfully with CONFIG_KVM disabled, using the
following CFLAGS combinations: "-DNDEBUG", "-DNDEBUG -O', "-DNDEBUG
-O0", "-DNDEBUG -O1", "-DNDEBUG -O2".
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 48a5f3bcbbbe59a3120a39106bfda59fd1933fbc
Author: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Date: Fri Jan 24 00:40:49 2014 +1100
kvm: add support for hyper-v timers
http://msdn.microsoft.com/en-us/library/windows/hardware/ff541625%28v=vs.85%29.aspx
This code is generic for activating reference time counter or virtual
reference time stamp counter
Signed-off-by: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5ef68987e5671edf5f51f845d1bbf3e5759a8526
Author: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Date: Fri Jan 24 00:40:48 2014 +1100
kvm: make hyperv vapic assist page migratable
Signed-off-by: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1c90ef2619dd6e5c4fec7e9e18c04c0a08e93aac
Author: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Date: Fri Jan 24 00:40:47 2014 +1100
kvm: make hyperv hypercall and guest os id MSRs migratable.
Signed-off-by: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7bc3d711b45d6feacab96eda410c5655f4ddafcf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 23 19:16:12 2014 +0100
kvm: make availability of Hyper-V enlightenments dependent on
KVM_CAP_HYPERV
The MS docs specify HV_X64_MSR_HYPERCALL as a mandatory interface,
thus we must provide the MSRs even if the user only specified
features that, like relaxed timing, in principle don't require them.
And the MSRs are only there if the hypervisor has KVM_CAP_HYPERV.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 234cc64796557eea829544e4ff72ee99b6149187
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 23 19:27:24 2014 +0100
KVM: fix coexistence of KVM and Hyper-V leaves
kvm_arch_init_vcpu's initialization of the KVM leaves at 0x40000100
is broken, because KVM_CPUID_FEATURES is left at 0x40000001. Move
it to 0x40000101 if Hyper-V is enabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 977c7b6d8909464eb3a510829f534451d0adb227
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Tue Jan 21 18:11:31 2014 +0100
kvm: print suberror on all internal errors
KVM introduced internal error exit reason and suberror at the same time,
and later extended it with internal error data.
QEMU does not report suberror on hosts between these two events because
we check for the extension. (half a year in 2009, but it is misleading)
Fix by removing KVM_CAP_INTERNAL_ERROR_DATA condition on printf.
(partially improved by bb44e0d12df70 and ba4047cf848a3 in the past)
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f0b9b11164482a8a2283dee25cecc4a4c531259e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:14 2014 -0200
target-i386: kvm_check_features_against_host(): Kill feature word array
We don't need the ft[] array on kvm_check_features_against_host()
anymore, as we can simply use the feature_word_info[] array, that has
everything we need.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2bc65d2b020887da3eb9043ae4f7d133ed85a7fe
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:13 2014 -0200
target-i386: kvm_cpu_fill_host(): Fill feature words in a loop
Now that the kvm_cpu_fill_host() code is simplified, we can simply set
the feature word array using a simple loop.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2a573259ebf8b1072707257d547603520d1ed236
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:12 2014 -0200
target-i386: kvm_cpu_fill_host(): Set all feature words at end of function
Reorder the code so all the code that sets x86_cpu_def->features is at
the end of the function.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 803a932706e3ba335d4c98f3577a05cb000f1699
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:11 2014 -0200
target-i386: kvm_cpu_fill_host(): No need to check xlevel2
There's no need to check CPU xlevel2 before calling
kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, R_EDX), because:
* The kernel won't return any entry for 0xC0000000 if host CPU vendor
is not Centaur (See kvm_dev_ioctl_get_supported_cpuid() on the kernel
code)
* Similarly, the kernel won't return any entry for 0xC0000001 if
CPUID[0xC0000000].EAX is < 0xC0000001
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf
For similar reasons, we can simply set x86_cpu_def->xlevel2 directly
instead of making it conditional, because it will be set to 0 CPU vendor
is not Centaur.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[Remove unparseable comment. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b73dcfb16fc894041de553ac9f98b9e1640fcf06
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:10 2014 -0200
target-i386: kvm_cpu_fill_host(): No need to check CPU vendor
There's no need to check CPU vendor before calling
kvm_arch_get_supported_cpuid(s, 0xC0000000, 0, R_EAX), because:
* The kernel won't return any entry for 0xC0000000 if host CPU vendor
is not Centaur (See kvm_dev_ioctl_get_cpuid() on the kernel code);
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7171a3933f2ee8cb984fd64c59ca081f39b943a4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:09 2014 -0200
target-i386: kvm_cpu_fill_host(): No need to check level
There's no need to check level (CPUID[0].EAX) before calling
kvm_arch_get_supported_cpuid(s, 0x7, 0, R_EBX), because:
* The kernel won't return any entry for CPUID 7 if CPUID[0].EAX is < 7
on the host (See kvm_dev_ioctl_get_cpuid() on the kernel code);
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 81e207707e7b6204f64451779d752f23777ed451
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:08 2014 -0200
target-i386: kvm_cpu_fill_host(): Kill unused code
Those host_cpuid() calls are useless. They are leftovers from when the
old code using host_cpuid() was removed.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 56db2e5843256c857addb17deb743109330649be
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 21 11:37:25 2013 +0100
qtest: unlink UNIX domain sockets after connecting
UNIX domain sockets are leaked when tests call abort(3) (indirectly via
glib assert functions).
Unlink the files immediately after the connection has been established
to avoid leaks.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1ad3c6abc0d67e00b84abaa5527bc64b70ca2205
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 21 11:33:17 2013 +0100
qtest: unlink QEMU pid file after startup
After starting the QEMU process and initializing the QMP connection, we
can read the pid file and unlink it.
Just stash away the pid instead of the pid filename. This way we can
avoid pid file leaks since running tests may abort(3) without cleanup.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 41419b0f11d125ad792660638eb452c767eddc28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 3 15:36:01 2014 +0100
Update seabios binaries to 1.7.4
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cd4eb4c5ac0368ec2c30412e699e48f1a7ca6998
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 3 15:31:47 2014 +0100
Update seabios submodule to 1.7.4
Not that many changes as we already have a git snapshot pretty close
to final 1.7.4 in the tree. Most notably change is the vgabios change
which fixes the windows guest regression.
Full git shortlog:
Gerd Hoffmann (2):
run qemu_cfg_e820 only for CONFIG_QEMU=y
change boot order load log level
Kevin O'Connor (10):
Minor - move sgdt/lgdt macros from stacks.c to x86.h.
Separate out sec32init sections even when not doing code relocation.
floppy: Fix incorrect LBA to CHS translation.
floppy: Fix accesses to DOR register.
vgabios: Avoid memory references via %esp register in vgabios.
Small improvements to irqentry_extrastack assembler.
floppy: Encode command and flags into single value in floppy pio
code.
On disk format request, verify cylinders and pass to driver.
floppy: Implement cylinder seeking when accessing a different
cylinder.
coreboot: Make sure to print the SeaBIOS version in cbmem debug
output.
Kyösti Mälkki (1):
Fix CBMEM console overflow
commit 50df8d5db04ac09477ed6ad3831592d699b3fafc
Author: Bruce Rogers <brogers@xxxxxxxx>
Date: Fri Dec 13 10:13:50 2013 -0700
roms: remove explicit MAKEFLAGS from recursive make invocations
When using $(MAKE) within a makefile, we shouldn't be explicitly
including $(MAKEFLAGS) on the command-line. It causes problems
when that makefile is recursively invoked. When the roms/Makefile
is invoked as in make -C roms bios a spurious 'w' appears on the
sub-make invocation, due to the erroneous $(MAKEFLAGS) inclusion.
Signed-off-by: Bruce Rogers <brogers@xxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8cfc114a2f293c40077d1bdb7500b29db359ca22
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Feb 1 09:41:09 2014 +0100
linux-user: Fix trampoline code for CRIS
__put_user can write bytes, words (2 bytes) or longwords (4 bytes).
Here obviously words should have been written, but bytes were written,
so values like 0x9c5f were truncated to 0x5f.
Fix this by changing retcode from uint8_t to to uint16_t in
target_signal_frame and also in the unused rt_signal_frame.
This problem was reported by static code analysis (smatch).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit ce603d8ef11f2a2d29be1c4f90d417331b41acfc
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 21 23:49:44 2014 +1000
cris: Remove the CRIS PIC glue
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 4a6da670f80c121acfea3dacf380c26e3aeacd5c
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 21 22:45:54 2014 +1000
axis-dev88: Connect the PIC upstream IRQs directly to the CPU
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 3065839c7207f459e3b3b3fbb2a04abc5276a8e0
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 21 22:44:23 2014 +1000
cris: Add interrupt signals to the CPU device
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit d66433ffdced6537ab7e6c423a8f14091c51e3e2
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Sat Jan 18 04:07:48 2014 +0000
cris: Abort when a v10 takes interrupts while in a delayslot
This is an internal error as the CRISv10 should mask interrupts
while executing delay slots. Bail out sooner rather than later.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit fd5d5afad8e7b92181ddfccd5639be9775456bec
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Sat Jan 18 03:42:23 2014 +0000
cris: Add "any" as alias for "crisv32" in user emulation
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 890911464934aebcb4409ad2495449d15d7347b4
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sat Jan 11 00:20:24 2014 +0100
spice: hook qemu_chr_fe_set_open() event to ports
This wires up a spice port event on virtio-ports open/close, so the
client is notified when the other end is ready.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 795ca114d353e02752a29f64902215bb30c58c21
Author: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
Date: Thu Jan 2 09:25:56 2014 -0600
Add the ability to vary Spice playback and record rates, to facilitate
Opus support.
Signed-off-by: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3761abb167847e9d848588bf15c5d7476845f7e8
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 20 18:57:12 2014 +0200
hw/display/qxl: fix signed to unsigned comparison
Several small signedness / overflow corrections to
qxl_create_guest_primary:
1. use 64 bit unsigned for size to avoid overflow possible from two 32
bit multiplicants.
2. correct sign for requested_height
3. add a more verbose error message when setting guest bug state (which
causes a complete guess blackout until reset, so it helps if it is
verbose).
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f06b85218a41fd6f8e797a925f4ea75640b69c9e
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 20 12:44:19 2014 +0200
qxl: clear irq on reset
Without this we occasionally trigger an assert at
hw/pci/pci.c:pcibus_reset that asserts the irq_count is zero on reset.
This has become a problem with the new drm driver for linux, since doing
a reboot from console causes a race between console updates that set the
irq and the reset assertion that the irq is clear.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f8b7ee38b3ed4ec2da5cc0529cf0cf82c8589805
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:27 2014 +0200
hw/9pfs: fix P9_STATS_GEN handling
Currently we fail getattr request altogether if we can't read
P9_STATS_GEN for some reason. It breaks valid use cases:
E.g let's assume we have non-readable directory with execution bit set
on host and we export it to client over 9p On host we can chdir into
directory, but not open directory on read and list content.
But if client will try to call getattr (as part of chdir(2)) for the
directory it will fail with -EACCES. It happens because we try to open
the directory on read to call ioctl(FS_IOC_GETVERSION), it fails and we
return the error code to client.
It's excessive. The solution is to make P9_STATS_GEN failure non-fatal
for getattr request. Just don't set P9_STATS_GEN flag in result mask on
failure.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 1a9978a51a17a26fd07e1b46f31ceeb9772fc191
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:26 2014 +0200
hw/9pfs: make get_st_gen() return ENOTTY error on special files
Currently we silently ignore getversion requests for anything except
file or directory. Let's instead return ENOTTY error to indicate that
getversion is not supported. It makes implementation consistent on
all not-supported cases.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit b9317661d13230ec9fd1162625b7f812c0cacd37
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:25 2014 +0200
hw/9pfs: handle undefined FS_IOC_GETVERSION case in
handle_ioc_getversion()
All get_st_gen() implementations except handle_ioc_getversion() have
guard for undefined FS_IOC_GETVERSION. Let's add it there too.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 0e5fc994d24af4f4f9a1368bf9c2e730c120c549
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:24 2014 +0200
hw/9pfs: fix error handing in local_ioc_getversion()
v9fs_co_st_gen() expects to see error code in errno, not in return code.
Let's fix this.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 2f61120c10da9128357510debc8e66880cd2bfdc
Merge: b4a8c9a 056f49f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 23:32:23 2014 +0000
Merge remote-tracking branch 'qmp-unstable/queue/qmp' into staging
* qmp-unstable/queue/qmp:
monitor: Cleanup mon->outbuf on write error
virtio_rng: replace custom backend API with UserCreatable.complete()
callback
add optional 2nd stage initialization to -object/object-add commands
vl.c: -object: don't ignore duplicate 'id'
object_add: consolidate error handling
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b4a8c9ae9758efb6873097f415e9972127ccf418
Merge: 850bbe1 5b0adce
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 23:06:11 2014 +0000
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140131'
into staging
target-arm queue:
* implementation of first part of the A64 Neon instruction set
* v8 AArch32 rounding and 16<->64 fp conversion instructions
* fix MIDR value on Zynq boards
* some minor bugfixes/code cleanups
# gpg: Signature made Fri 31 Jan 2014 15:06:34 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* pmaydell/tags/pull-target-arm-20140131: (34 commits)
arm_gic: Fix GICD_ICPENDR and GICD_ISPENDR writes
arm_gic: Introduce define for GIC_NR_SGIS
target-arm: A64: Add SIMD shift by immediate
target-arm: A64: Add simple SIMD 3-same floating point ops
target-arm: A64: Add integer ops from SIMD 3-same group
target-arm: A64: Add logic ops from SIMD 3 same group
target-arm: A64: Add top level decode for SIMD 3-same group
target-arm: A64: Add SIMD scalar 3 same add, sub and compare ops
target-arm: A64: Add SIMD three-different ABDL instructions
target-arm: A64: Add SIMD three-different multiply accumulate insns
target-arm: Add AArch32 SIMD VCVTA, VCVTN, VCVTP and VCVTM
target-arm: Add AArch32 FP VCVTA, VCVTN, VCVTP and VCVTM
target-arm: Add AArch32 SIMD VRINTA, VRINTN, VRINTP, VRINTM, VRINTZ
target-arm: Add set_neon_rmode helper
target-arm: Add support for AArch32 SIMD VRINTX
target-arm: Add support for AArch32 FP VRINTX
target-arm: Add support for AArch32 FP VRINTZ
target-arm: Add support for AArch32 FP VRINTR
target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM
target-arm: Move arm_rmode_to_sf to a shared location.
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 850bbe1b94445cb84a2f648bc2e8c35ef6188eb4
Merge: bd88091 8b6d140
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 21:07:59 2014 +0000
Merge remote-tracking branch
'remotes/awilliam/tags/vfio-pci-for-qemu-20140128.0' into staging
vfio-pci updates include:
- Destroy MemoryRegions on device teardown
- Print warnings around PCI option ROM failures
- Skip bogus mappings from 64bit BAR sizing
- Act on DMA mapping failures
- Fix alignment to avoid MSI-X table mapping
- Fix debug macro typo
# gpg: Signature made Tue 28 Jan 2014 15:27:47 GMT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
* remotes/awilliam/tags/vfio-pci-for-qemu-20140128.0:
vfio: correct debug macro typo
vfio: fix mapping of MSIX bar
kvm: initialize qemu_host_page_size
vfio-pci: Fail initfn on DMA mapping errors
vfio: Filter out bogus mappings
vfio: Do not reattempt a failed rom read
vfio: warn if host device rom can't be read
vfio: Destroy memory regions
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bd88091cfbc3627ac436b5a554340cd263c93b56
Merge: 89e4a51 360e607
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 20:43:07 2014 +0000
Merge remote-tracking branch 'remotes/sstabellini/xen-140130' into staging
* remotes/sstabellini/xen-140130:
address_space_translate: do not cross page boundaries
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b76afd1072e02fe77e09790fbe1e831700976c5f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Jan 27 16:26:21 2014 +0800
tests/.gitignore: Ignore tests/check-qom-interface
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5eaac2f8282a066f08b5c91f43a4e2ede0e55b8c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jan 26 15:02:29 2014 +0100
hw/ppc: Remove unused defines
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d5d1507b347b7cd6c3b82459b96f1889b29939ef
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 25 18:18:23 2014 +0100
readline: Add missing GCC_FMT_ATTR
This fixes a compiler warning with -Werror=missing-format-attribute
and allows improved compiler checks for variable argument lists.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c6830cdb2c1053bca1e61eb242b1900489c160af
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 29 13:08:30 2014 -0800
tcg/s390: Remove sigill_handler
Commit c9baa30f42a87f61627391698f63fa4d1566d9d8 failed to
delete all of the relevant code, leading to Werrors about
unused symbols.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c428c5a21ce9a9861839ee544afd10638016e3f5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jan 31 23:05:24 2014 +0100
i386: Add missing include file for QEMU_PACKED
Instead of packing BiosLinkerLoaderEntry, an unused global variable called
QEMU_PACKED was created (detected by smatch static code analysis).
Including qemu-common.h gets the right definition and also includes some
standard include files which now can be removed here.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1165ae613d3482e79c56d5a05c3354b2baae6ee7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jan 23 14:27:59 2014 -0600
osdep: drop unused #include "trace.h"
osdep.c does not use trace_*() so we can just drop the include.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dc9a353cf7de78b9fae3e46410803d487fd2fc8f
Author: Martin Husemann <martin@xxxxxxxxxxx>
Date: Sat Jan 18 14:47:23 2014 +0100
qemu 1.7.0 does not build on NetBSD
Do not rely on int8_t (and friends) not being preprocessor
symbols (or symbols expanding to themselves). On NetBSD (for example) the
glue(u, SDATA_TYPE) results in u__int8_t, which is undefined. There is
no way
to stop cpp expanding inner macros, so just add the few lines explicitly
and
get rid of the magic.
Signed-off-by: Martin Husemann <martin@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1b7650ef2f63d53cf89af25a9f323323cf2423a7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jan 29 16:33:54 2014 +0100
qemu-iotests: only run 071 on qcow2
The 071 test is designed for IMGFMT=qcow2 because it uses the l2_load
blkdebug event. Its output filtering also assumes that IMGFMT is not
raw since 071.out contains "format=raw" but IMGFMT=raw would filter the
output to "format=IMGFMT".
Perhaps the test case can be rewritten to be more generic, but for now
let's document that it was only supposed to work with qcow2.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 170a60345ee84dff3114f759367badfb85680728
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 30 16:34:12 2014 +0100
dataplane: Comment fix
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f50159fa9b5a0ad82e30c123643ec39a1df81d9a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 29 18:05:08 2014 +0100
block/vhdx: Error checking fixes
Errors are inadvertently ignored in a few places. Has always been
broken. Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fb0a078f3a84b5a609d528500eea36b69ace9b20
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jan 29 18:47:23 2014 +0800
qemu-iotests: Drop assert_no_active_commit in case 040
It is exactly assert_no_active_block_jobs in iotests.py
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f43aa8e18ad83508c2786403e7230a584d357c8e
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 29 09:34:16 2014 +0100
block/vmdk: add basic .bdrv_check support
this adds a basic vmdk corruption check. it should detect severe
table corruptions and file truncation.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 14b4a8b9c654b625dea0f532fae5722781fd0a7d
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Jan 27 16:09:13 2014 -0500
block: remove qcow2 .bdrv_make_empty implementation
The QCOW2 .bdrv_make_empty implementation always returns 0 for success,
but does not actually do anything.
The proper way to not support an optional driver function stub is to
just not implement it, so let's remove the stub.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 55aff7f133b0eb20b2c8a2a3e1307240aab8044c
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Jan 27 16:09:12 2014 -0500
block: remove QED .bdrv_make_empty implementation
The QED .bdrv_make_empty() implementation does nothing but return
-ENOTSUP, which causes problems in bdrv_commit(). Since the function
stub exists for QED, it is called, which then always returns an error.
The proper way to not support an optional driver function stub is to
just not implement it, so let's remove the stub.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 136cd19d0522c03b6dccc3e344886feab6faee43
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Wed Jan 22 15:47:10 2014 +0000
Describe flaws in qcow/qcow2 encryption in the docs
The qemu-img.texi / qemu-doc.texi files currently describe the
qcow2/qcow2 encryption thus
"Encryption uses the AES format which is very secure (128 bit
keys). Use a long password (16 characters) to get maximum
protection."
While AES is indeed a strong encryption system, the way that
QCow/QCow2 use it results in a poor/weak encryption system.
Due to the use of predictable IVs, based on the sector number
extended to 128 bits, it is vulnerable to chosen plaintext
attacks which can reveal the existence of encrypted data.
The direct use of the user passphrase as the encryption key
also leads to an inability to change the passphrase of an
image. If passphrase is ever compromised the image data will
all be vulnerable, since it cannot be re-encrypted. The admin
has to clone the image files with a new passphrase and then
use a program like shred to secure erase all the old files.
Recommend against any use of QCow/QCow2 encryption, directing
users to dm-crypt / LUKS which can meet modern cryptography
best practices.
[Changed "Qcow" to "qcow" for consistency.
--Stefan]
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b0adce156216fb24dcc5f1683e8b686f3793fff
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Jan 31 14:47:38 2014 +0000
arm_gic: Fix GICD_ICPENDR and GICD_ISPENDR writes
Fix two bugs that would allow changing the state of SGIs through the
ICPENDR and ISPENDRs.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 41ab7b55108e2699e7c2e77788465cb52a0b2c08
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Jan 31 14:47:38 2014 +0000
arm_gic: Introduce define for GIC_NR_SGIS
Instead of hardcoding 16 various places in the code, use a define to
make it more clear what is going on.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4d1cef840d526c80244175c208260f165f9226db
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add SIMD shift by immediate
This implements a subset of the AdvSIMD shift operations (namely all the
none saturating or narrowing ones). The actual shift generation code
itself is common for both the scalar and vector cases but wrapped with
either vector element iteration or the fp reg access.
The rounding operations need to take special care to correctly reflect
the result of adding rounding bits on high bits as the intermediates do
not truncate.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 845ea09acc4b5ab8335530aaaf94531c368ba934
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add simple SIMD 3-same floating point ops
Implement a simple subset of the SIMD 3-same floating point
operations. This includes a common helper function used for both
scalar and vector ops; FABD is the only currently implemented
shared op.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1f8a73af12ddfb9cf9a90261338b466b7dbf7ab9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add integer ops from SIMD 3-same group
Add some of the integer operations in the SIMD 3-same group:
specifically, the comparisons, addition and subtraction.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 956d272eb2996e4d95f8a674256f8a63a0c1e8d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add logic ops from SIMD 3 same group
Add support for the logical operations (ORR, AND, BIC, ORN, EOR, BSL,
BIT and BIF) from the SIMD 3 register same group (C3.6.16).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e1cea1144aff6498ddbcd60e2bff4172869b10d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add top level decode for SIMD 3-same group
Add top level decode for the A64 SIMD three regs same group
(C3.6.16), splitting it into the pairwise, logical, float and
integer subgroups.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b305dba6cf2957bc67aa6072978c65026ce478fb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:36 2014 +0000
target-arm: A64: Add SIMD scalar 3 same add, sub and compare ops
Implement the add, sub and compare ops from the SIMD "scalar three same"
group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ae39320bd0783f1a1d4ac63ec9ba48ca41764dc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:36 2014 +0000
target-arm: A64: Add SIMD three-different ABDL instructions
Implement the absolute-difference instructions in the SIMD
three-different group: SABAL, SABAL2, UABAL, UABAL2, SABDL,
SABDL2, UABDL, UABDL2.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a08582f41e94b5a7ee3e53ad1e719d24431aa675
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:36 2014 +0000
target-arm: A64: Add SIMD three-different multiply accumulate insns
Add support for the multiply-accumulate instructions from the
SIMD three-different instructions group (C3.6.15):
* skeleton decode of unallocated encodings and split of
the group into its three sub-parts
* framework for handling the 64x64->128 widening subpart
* implementation of the multiply-accumulate instructions
SMLAL, SMLAL2, UMLAL, UMLAL2, SMLSL, SMLSL2, UMLSL, UMLSL2,
UMULL, UMULL2, SMULL, SMULL2
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 901ad5259fab785537f8c6b3713fce85d2ebceb1
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add AArch32 SIMD VCVTA, VCVTN, VCVTP and VCVTM
Add support for the AArch32 Advanced SIMD VCVTA, VCVTN, VCVTP
and VCVTM instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c9975a838736c9479b2e17fff7e50a2a83b1009e
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add AArch32 FP VCVTA, VCVTN, VCVTP and VCVTM
Add support for the AArch32 floating-point VCVTA, VCVTN, VCVTP
and VCVTM instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 34f7b0a276ed2679c5e420ed1bc6525689ac5abd
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add AArch32 SIMD VRINTA, VRINTN, VRINTP, VRINTM, VRINTZ
Add support for the AArch32 Advanced SIMD VRINTA, VRINTN, VRINTP
VRINTM and VRINTZ instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 43630e585300465b72ecf328822c8611724307de
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add set_neon_rmode helper
This helper sets the rounding mode in the standard_fp_status word to
allow NEON instructions to modify the rounding mode whilst using the
standard FPSCR values for everything else.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2ce7062501c715aae0ad37c3923a3710dd8914df
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 SIMD VRINTX
Add support for the AArch32 Advanced SIMD VRINTX instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4e82bc01ecc46e90346f731065528b1d47971eba
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 FP VRINTX
Add support for the AArch32 floating-point VRINTX instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a290c62a7521a5695e12bb9022f8b953c2f50f54
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 FP VRINTZ
Add support for the AArch32 floating-point VRINTZ instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 664c6733d72c589cd9f6ccee305e7b7ce36ea06d
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 FP VRINTR
Add support for the AArch32 floating-point VRINTR instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7655f39bde5de92b4a3c154a5a8735476c34f458
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM
Add support for AArch32 ARMv8 FP VRINTA, VRINTN, VRINTP and VRINTM
instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9972da669fd3d3e3423d2bf6cb2c11fa9239f862
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
target-arm: Move arm_rmode_to_sf to a shared location.
This function will be needed for AArch32 ARMv8 support, so move it to
helper.c where it can be used by both targets. Also moves the code out
of line, but as it is quite a large function I don't believe this
should be a significant performance impact.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2cdaca90ddf3291f308a10623c1a802ef760bac1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
display: avoid multi-statement macro
For blizzard, pl110 and tc6393xb this is harmless, but for pxa2xx
Coverity noticed that it is used inside an "if" statement.
Fix it because it's the file with the highest number of defects
in the whole QEMU tree! Use "do...while (0)", or just remove the
semicolon if there's a single statement in the macro.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b48adc0d301464d627d6d0f83dee911a2138187f
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
ZYNQ: Implement board MIDR control for Zynq
This patch uses the fact that the midr variable is now a property
This patch sets the midr variable to the boards custom midr
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Message-id:
a3754b10d150af72e4688a993e484fa2b9b8fa21.1390176489.git.alistair.francis@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 51a9b04bd3b01e11a1db4fc2ac2f1d324fbd30aa
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
ARM: Convert MIDR to a property
Convert the MIDR register to a property. This allows boards to later set
a custom MIDR value. This has been done in such a way to maintain
compatibility with all existing CPUs and boards
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
878613f2f12d4162f12629522fd99de8df904856.1390176489.git.alistair.francis@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 83bfffec72ad447dfc80a4eab320403175ffe4e3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
hw/arm/boot: Don't set up ATAGS for autogenerated dtb booting
The code which decides whether to set up the ATAGS data structure on
reset was using the wrong conditional, which meant we were creating
an ATAGS structure when doing a device-tree boot if the dtb was
autogenerated by the board. This is harmless, but unnecessary, so
bring it in to line with user-provided-dtb boots.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1388326833-656-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 360a6f2dbde39211107620a3d38b8cc8cc5281ee
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
target-arm: A64: Add SIMD scalar copy instructions
Add support for the SIMD scalar copy instruction group (C3.6.7),
which consists of the single instruction DUP (element, scalar).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f3f8c4f4d2fc7dda192393f998e63c7a83fb7554
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
target-arm: A64: Add SIMD modified immediate group
This patch adds support for the AdvSIMD modified immediate group
(C3.6.6) with all its suboperations (movi, orr, fmov, mvni, bic).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[AJB: new decode struct, minor bug fixes, optimisation]
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 67bb93890d7b435f294f1e47ee7adc5662cc0842
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD copy operations
This adds support for the all the AdvSIMD vector copy operations
(ARM ARM 3.6.5).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a0ff1ce73a9e06ecb655019820229de74244432
Author: Michael Matz <matz@xxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD across-lanes instructions
Add support for the SIMD "across lanes" instruction group (C3.6.4).
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: Updated to current codebase, added fp min/max ops,
added unallocated encoding checks]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5fa5469c08f6e51eed26d6d54e0be8682723d3df
Author: Michael Matz <matz@xxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD ZIP/UZP/TRN
Add support for the SIMD ZIP/UZIP/TRN instruction group
(C3.6.3).
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: use new do_vec_get/set etc functions and generally update to new
codebase standards; refactor to pull per-element loop outside switch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7c51048fa918f64806adf0f76166e9940d772eb1
Author: Michael Matz <matz@xxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD TBL/TBLX
Add support for the SIMD TBL/TBLX instructions (group C3.6.2).
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: rewritten to do more of the decode in translate-a64.c,
and to do only one 64 bit pass at a time in the helper]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5c73747f3cc29471f9fbfe630ef15902e65f53b3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add SIMD EXT
Add support for the SIMD EXT instruction (the only one in its
group, C3.6.1).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 384b26fb06f72e822730d3b8f51fd71a5fec5eee
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add decode skeleton for SIMD data processing insns
Add decode skeleton and function placeholders for all the SIMD data
processing instructions. Due to the complexity of this part of the
table the normal extract and switch approach gets very messy very
quickly, so we use a simple data-driven pattern-and-mask approach.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit df54e47d2b86c636b4d22f663dbffce6a3cffd81
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add SIMD ld/st single
Implement the SIMD ld/st single structure instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 72430bf5eb7f7309e705705af9798d13aa94e80d
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add SIMD ld/st multiple
This adds support support for the SIMD load/store
multiple category of instructions.
This also brings in a couple of helper functions for manipulating
sections of the SIMD registers:
* do_vec_get - fetch value from a slice of a vector register
* do_vec_set - set a slice of a vector register
which use vec_reg_offset for consistent processing of offsets in an
endian aware manner. There are also additional helpers:
* do_vec_ld - load value into SIMD
* do_vec_st - store value from SIMD
which load or store a slice of a vector register to memory.
These don't zero extend like the fp variants.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 89e4a51ca9546a7bbe1998c4e3d4a3ac3a0c19be
Merge: 0159a64 736ec16
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 11:13:08 2014 +0000
Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into
staging
Tracing pull request
# gpg: Signature made Mon 27 Jan 2014 14:51:09 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* stefanha/tags/tracing-pull-request:
trace: fix simple trace "disable" keyword
trace: add glib 2.32+ static GMutex support
trace: [simple] Do not include "trace/simple.h" in generated tracer
headers
tracing: start trace processing thread in final child process
Message-id: 1390834386-23139-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 44c68de0445677728700651ed4e2d2063f36f9ed
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 16:28:23 2013 +0200
s390x/kvm: cleanup partial register handling
The partial register handling (introduced with commits
420840e58b85f7f4e5493dca3f273566f261090a and
3474b679486caa8f6448bae974e131370f360c13 ) aimed to improve intercept
handling performance.
It made the code more complicated though. During development for life
migration/init/reset etc it turned out that this might cause several
hard to debug programming errors. With the introduction of ioeventfd
(and future irqfd patches) the qemu intercept handlers are no longer
hot-path. And therefore the partial register handling can be
removed to simplify the code.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
CC: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 0159a64397fc8e6c85de73613d83a3612c840664
Merge: 97374ce a75143e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 00:23:27 2014 +0000
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi,pci,pc,virtio fixes and enhancements
This includes new unit-tests for acpi by Marcel,
hotplug for pci bridges by myself (piix only so far)
and cpu hotplug for q35.
And a bunch of fixes all over the place as usual.
I included the patch to fix memory alignment for q35
as well - even though it limits 32 bit guests to 3G (they
previously could address more memory with PAE).
To remove the limit, this will have to be fixed in seabios.
I also added self as virtio co-maintainer so I don't need
to troll the list for patches to review.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 26 Jan 2014 11:12:09 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* mst/tags/for_anthony: (35 commits)
MAINTAINERS: add self as virtio co-maintainer
q35: document gigabyte_align
q35: gigabyte alignment for ram
acpi: Fix PCI hole handling on build_srat()
pc: Save size of RAM below 4GB
hw/pci: fix error flow in pci multifunction init
acpi-test: update expected AML since recent changes
pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated
pc: ACPI: unify source of CPU hotplug IO base/len
pc: ACPI: expose PRST IO range via _CRS
pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources
pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus
resources
pc: set PRST base in DSDT depending on chipset
acpi: ich9: add CPU hotplug handling to Q35 machine
acpi: factor out common cpu hotplug code for PIIX4/Q35
acpi-build: enable hotplug for PCI bridges
piix4: add acpi pci hotplug support
pcihp: generalization of piix4 acpi
pci: add pci_for_each_bus_depth_first
pc: make: fix dependencies: rebuild when included file is changed
...
Message-id: 1390735289-15563-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 97374ce538883af677fd94803b71df2d55a9a4de
Merge: 8e02b35 794798e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 00:13:02 2014 +0000
Merge remote-tracking branch 'sstabellini/xen-170114' into staging
* sstabellini/xen-170114:
xen_pt: Fix passthrough of device with ROM.
xen_pt: Fix debug output.
xenfb: map framebuffer read-only and handle unmap errors
Message-id: alpine.DEB.2.02.1401171537140.21510@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8e02b359267f8919de799525a4ccd4d37ef2d127
Merge: dc08f85 1f149e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 30 22:25:39 2014 +0000
Merge remote-tracking branch 'stefanha/tags/net-pull-request' into staging
Net patches
# gpg: Signature made Mon 27 Jan 2014 14:45:35 GMT using RSA key ID
81AB73C8
# gpg: Can't check signature: public key not found
* stefanha/tags/net-pull-request:
tap-linux: Get features once and use it many times
Fix lan9118 buffer length handling
Fix lan9118 TX "CMD A" handling
net: Use g_strdup_printf instead of snprintf.
Message-id: 1390834129-19625-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dc08f85188b5976d93bff25ab9e68cf3ce62b12f
Merge: 0706f7c 2d23d5e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 30 19:02:16 2014 +0000
Merge remote-tracking branch 'rth/tcg-movbe' into staging
* rth/tcg-movbe:
tcg/i386: cleanup useless #ifdef
tcg/i386: use movbe instruction in qemu_ldst routines
tcg/i386: add support for three-byte opcodes
tcg/i386: remove hardcoded P_REXW value
disas/i386.c: disassemble movbe instruction
Message-id: 1390692772-15282-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 360e607b88a23d378f6efaa769c76d26f538234d
Author: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Date: Thu Jan 30 12:46:05 2014 +0000
address_space_translate: do not cross page boundaries
The following commit:
commit 149f54b53b7666a3facd45e86eece60ce7d3b114
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:59:37 2013 +0200
memory: add address_space_translate
breaks Xen support in QEMU, in particular the Xen mapcache. The effect
is that one Windows XP installation out of ten would end up with BSOD.
The reason is that after this commit l in address_space_rw can span a
page boundary, however qemu_get_ram_ptr still calls xen_map_cache asking
to map a single page (if block->offset == 0).
Fix the issue by reverting to the previous behaviour: do not return a
length from address_space_translate_internal that can span a page
boundary.
Also in address_space_translate do not ignore the length returned by
address_space_translate_internal.
This patch should be backported to QEMU 1.6.x.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Anthony Perard <anthony.perard@xxxxxxxxxx>
Tested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit 0706f7c85b3c0783f92d44b551f362884db0f4bd
Merge: 18d13fa 2c02d1a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 30 13:56:00 2014 +0000
Merge remote-tracking branch 'mjt/tags/trivial-patches-2014-01-16' into
staging
trivial-patches for 2014-01-16
# gpg: Signature made Thu 16 Jan 2014 17:29:05 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
Message-id: 1389893719-16336-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 18d13fa293af8e54e15c4651f99b24a139c9eb43
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jan 19 16:53:31 2014 +0100
TCG: Fix I64-on-32bit-host temporaries
We have cache pools of temporaries that we can reuse later when they've
already been allocated before.
These cache pools differenciate between the target TCG variable type they
contain. So we have one pool for I32 and one pool for I64 variables.
On a 32bit system, we can't work with 64bit registers though. So instead
we
spawn two I32 temporaries for every I64 temporary we create. All caching
works the same way as on a real 64-bit system though: We create a cache
entry
in the 64bit array for the first i32 index.
However, when we free such a temporary we free it to the pool of its type
(which is always i32 on 32bit systems) rather than its base_type (which is
i64 or i32 depending on the variable). This means we put a temporary that
is of base_type == i64 into the i32 preallocated temporary pool.
Eventually, this results in failures like this on 32bit hosts:
qemu-system-ppc64: tcg/tcg.c:515: tcg_temp_new_internal: Assertion
`ts->base_type == type' failed.
This patch makes the free routine use the base_type instead for the free
case,
so it's consistent with the temporary allocation. It fixes the above
failure
for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1390146811-59936-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 056f49ff2cf645dc484956b00b65a3aa18a1a9a3
Author: Stratos Psomadakis <psomas@xxxxxxxx>
Date: Mon Jan 27 12:30:15 2014 +0200
monitor: Cleanup mon->outbuf on write error
In case monitor_flush() fails to write the contents of mon->outbuf to
the output device, mon->outbuf is not cleaned up properly. Check the
return code of the qemu_chr_fe_write() function and cleanup the outbuf
if it fails.
References:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg02890.html
Signed-off-by: Stratos Psomadakis <psomas@xxxxxxxx>
Signed-off-by: Dimitris Aragiorgis <dimara@xxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 57d3e1b3f52d07d215ed96df946ee01f8d9f9526
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:39 2014 +0100
virtio_rng: replace custom backend API with UserCreatable.complete()
callback
in addition fix default backend leak by releasing it if its
initialization failed.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 269e09f3fc922b800d118d9c8a721be46b5462a3
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:38 2014 +0100
add optional 2nd stage initialization to -object/object-add commands
Introduces USER_CREATABLE interface that must be implemented by
objects which are designed to created with -object CLI option or
object-add QMP command.
Interface provides an ability to do an optional second stage
initialization of the object created with -object/object-add
commands. By providing complete() callback, which is called
after the object properties were set.
It allows to:
* prevents misusing of -object/object-add by filtering out
objects that are not designed for it.
* generalize second stage backend initialization instead of
adding custom APIs to perform it
* early error detection of backend initialization at -object/
object-add time rather than through a proxy DEVICE object
that tries to use backend.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 90e9cf28e57a3e1d6caa0a28b0a332ff982ccb0b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:37 2014 +0100
vl.c: -object: don't ignore duplicate 'id'
object_property_add_child() may fail if 'id' matches
an already existing object. Which means an incorrect
command line.
So instead of silently ignoring error, report it and
terminate QEMU.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 69252c046741a0955ddb90250f416a2199305091
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:36 2014 +0100
object_add: consolidate error handling
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8b6d14087d487203f4d1a67aeaddc3be6c73f49f
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Tue Jan 28 08:23:19 2014 -0700
vfio: correct debug macro typo
Change to DEBUG_VFIO in vfio_msi_interrupt() for debug
messages to get printed
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 234eef51a12e2f0f8dfd71cb49d2469d462b1855
Author: Matthew Rosato <mjrosato@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 27 10:57:50 2014 -0500
sclp-s390: Define new SCLP codes and structures
Define new SCLP codes and structures that will be needed for
s390 memory hotplug.
Signed-off-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 736ec1677f1ae7e64f2f3436ca3775c48f79678c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jan 15 11:10:30 2014 +0800
trace: fix simple trace "disable" keyword
The trace-events "disable" keyword turns an event into a nop at
compile-time. This is important for high-frequency events that can
impact performance.
The "disable" keyword is currently broken in the simple trace backend.
This patch fixes the problem as follows:
Trace events are identified by their TraceEventID number. When events
are disabled there are two options for assigning TraceEventID numbers:
1. Skip disabled events and don't assign them a number.
2. Assign numbers for all events regardless of the disabled keyword.
The simple trace backend and its binary file format uses approach #1.
The tracetool infrastructure has been using approach #2 for a while.
The result is that the numbers used in simple trace files do not
correspond with TraceEventIDs. In trace/simple.c we assumed that they
are identical and therefore emitted bogus numbers.
This patch fixes the bug by using TraceEventID for trace_event_id()
while sticking to approach #1 for simple trace file numbers. This
preserves simple trace file format compatibility.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 05735a2a9cf37f5dc11ece998906431dda707258
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Dec 12 15:50:11 2013 +0100
trace: add glib 2.32+ static GMutex support
The GStaticMutex API was deprecated in glib 2.32. We cannot switch over
to GMutex unconditionally since we would drop support for older glib
versions. But the deprecated API warnings during build are annoying so
use static GMutex when possible.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b618c28831eda2531acc5c1feb9dbb3047d19391
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Jan 14 16:52:55 2014 +0100
trace: [simple] Do not include "trace/simple.h" in generated tracer
headers
The header is not necessary, given that the simple backend does not
define any
inlined tracing routines.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8a745f2a9296ad2cf6bda33534ed298f2625a4ad
Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 23 16:36:54 2013 +0200
tracing: start trace processing thread in final child process
When running with trace backend e.g. "simple" the writer thread needs to
be
implemented in the same process context as the trace points that will be
processed. Under libvirtd control, qemu gets first started in daemonized
mode to privide its capabilities. Creating the writer thread in the
initial
process context then leads to a dead lock because the thread gets termined
together with the initial parent. (-daemonize)
Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[minor whitespace fixes]
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1f149e721feb617d14a3ee4f5911c47b29866a54
Author: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Date: Sat Jan 18 14:38:45 2014 +0900
tap-linux: Get features once and use it many times
Signed-off-by: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c444dfabfc21cb5f093862100e333b808eea32e4
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Jan 7 20:19:52 2014 -0800
Fix lan9118 buffer length handling
The 9118 ethernet controller supports transmission of multi-buffer packets
with arbitrary byte alignment of the start and end bytes. All writes to
the packet fifo are 32 bits, so the controller discards bytes at the
beginning
and end of each buffer based on the 'Data start offset' and 'Buffer size'
of the TX command 'A' format.
This patch uses the provided buffer length to limit the bytes transmitted.
Previously all the bytes of the last 32-bit word written to the TX fifo
were added to the internal transmit buffer structure resulting in more
bytes
being transmitted than were submitted to the hardware in the command.
This
resulted in extra bytes being inserted into the middle of multi-buffer
packets when the non-final buffers had non-32bit aligned ending addresses.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2ad657e3f3af66def47554186a58f1748787a527
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Jan 7 20:19:51 2014 -0800
Fix lan9118 TX "CMD A" handling
The 9118 ethernet controller supports transmission of multi-buffer packets
with arbitrary byte alignment of the start and end bytes. All writes to
the packet fifo are 32 bits, so the controller discards bytes at the
beginning
and end of each buffer based on the 'Data start offset' and 'Buffer size'
of the TX command 'A' format.
This patch changes the buffer size and offset internal state variables to
be
updated on every "TX command A" write. Previously they were only updated
for
the first segment, which resulted incorrect behavior for packets with more
than one segment. Each segment of the packet has its own CMD A command,
with
its own buffer size and start offset.
Also update extraction of fields from the CMD A word to use extract32().
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bf2c138ddefc6ff17f6c4b947320c60aa0c38a0
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Jan 9 19:34:27 2014 +0100
net: Use g_strdup_printf instead of snprintf.
assign_name() in net/net.c is using snprintf + g_strdup to get the same
result as g_strdup_printf.
Signed-off-by: Hani Benhabiles <kroosec@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a75143eda2ddf581b51e96c000974bcdfe2cbd10
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jan 26 12:39:55 2014 +0200
MAINTAINERS: add self as virtio co-maintainer
This will help make sure I get Cc'd on patches.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4e17997d49d6e3a426fd465dfbdf5a4dc04639f4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 16 13:55:06 2013 +0200
q35: document gigabyte_align
Document the logic behind the below/above 4G split.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9a305c8fc7bb567e9f754ddfe5fb102aaeeb770a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 10:11:28 2013 +0100
q35: gigabyte alignment for ram
Map 2G (q35) of memory below 4G, so the RAM pieces
are nicely aligned to gigabyte borders.
Keep old memory layout for (a) old machine types and (b) in case all
memory fits below 4G and thus we don't have to split RAM into pieces
in the first place. The later makes sure this change doesn't take
away memory from 32bit guests.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c8a949b2416158a311abefc09a20153aa107e93
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 9 17:12:43 2014 -0200
acpi: Fix PCI hole handling on build_srat()
The original SeaBIOS code used the RamSize variable, that was used by
SeaBIOS for the size of RAM below 4GB, not for all RAM. When copied to
QEMU, the code was changed to use the full RAM size, and this broke the
build_srat() code that handles the PCI hole.
Change build_srat() to use ram_size_below_4g instead of ram_size, to
restore the original behavior from SeaBIOS.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f30ee8a9682be4abfcb05c6389894f8cfc35c3f0
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 9 17:12:42 2014 -0200
pc: Save size of RAM below 4GB
The ram_below_4g value will be useful in other places, such as the ACPI
table code, and other code that currently requires passing
below_4g_mem_size around in function arguments.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 306077640a652e090779498aadbeb0c605feaacd
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Jan 21 18:37:51 2014 +0200
hw/pci: fix error flow in pci multifunction init
Scenario:
- There is a non multifunction pci device A on 00:0X.0.
- Hot-plug another multifunction pci device B at 00:0X.1.
- The operation will fail of course.
- Try to hot-plug the B device 2-3 more times, qemu will crash.
Reason: The error flow leaves the B's address space into global address
spaces
list, but the device object is freed. Fixed that.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b8124cecb55b3bc4e7dee0ff34b294942044d74a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Jan 20 14:00:12 2014 +0200
acpi-test: update expected AML since recent changes
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2867534f3d1daa970eba2afdb9b401388bd75b56
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:39 2014 +0100
pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e4cf8ed08a1b8b996f9939de0d8eda4ed8a3d25e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:38 2014 +0100
pc: ACPI: unify source of CPU hotplug IO base/len
use C headers defines as source of IO base/len for respective
values in ASL code.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 61a3f63560ccd2b5e8c9134e9213a1cff36f26bf
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:37 2014 +0100
pc: ACPI: expose PRST IO range via _CRS
.. so OSPM could notice resource conflict if there is any.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 562e56a9f8e627b2a4ef60037507361ce3cb4e6d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:36 2014 +0100
pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources
... for range defined at hw/acpi/ich9.c:ICH9_PROC_BASE
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1aa149b479a479323121251f1e8e676765cb354d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:35 2014 +0100
pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus
resources
.. so that they might not be used by PCI devices.
Note:
Resort to concatenating templates with preprocessor help,
because 1.0b spec isn't supporting ConcatenateResTemplate,
as result Windows XP fails to execute PCI0._CRS method if
ConcatenateResTemplate() is used.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4782434f3cc016fbab16228e92e90265cf6db908
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:34 2014 +0100
pc: set PRST base in DSDT depending on chipset
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d6610bc2adc19a632cb14fc094378cbf5cd60868
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:32 2014 +0100
acpi: ich9: add CPU hotplug handling to Q35 machine
.. use IO port 0cd8-0xcf7 range for CPU present bitmap
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 81cea5e7f2aa61c6c5d33d28bceb81276603d3c9
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:31 2014 +0100
acpi: factor out common cpu hotplug code for PIIX4/Q35
.. so it could be used for adding CPU hotplug to Q35 machine
Add an additional header with that will be shared between
C and ASL code: include/hw/acpi/cpu_hotplug_defs.h
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 99fd437dee468609de8218f0eb3b16621fb6a9c9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:29 2013 +0300
acpi-build: enable hotplug for PCI bridges
This enables support for device hotplug behind
pci bridges. Bridge devices themselves need
to be pre-configured on qemu command line.
Design:
- at machine init time, assign "bsel" property to bridges with
hotplug support
- dynamically (At ACPI table read) generate ACPI code to handle
hotplug events for each bridge with "bsel" property
Note: ACPI doesn't support adding or removing bridges by hotplug.
We detect and prevent removal of bridges by hotplug,
unless they were added by hotplug previously
(and so, are not described by ACPI).
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9e047b982452c633882b486682966c1d97097015
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:20 2013 +0300
piix4: add acpi pci hotplug support
Add support for acpi pci hotplug using the
new infrastructure.
PIIX4 legacy interface is maintained as is for
machine types 1.7 and older.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit db4728e6fec0364b866d3106125974eedc00e091
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:11 2013 +0300
pcihp: generalization of piix4 acpi
Add ACPI based PCI hotplug library with bridge hotplug
support.
Design
- each bus gets assigned "bsel" property.
- ACPI code writes this number
to a new BNUM register, then uses existing
UP/DOWN registers to probe slot status;
to eject, write number to BNUM register,
then slot into existing EJ.
The interface is actually backwards-compatible with
existing PIIX4 ACPI (though not migration compatible).
This is split out from PIIX4 codebase so we can
reuse it for Q35 as well.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit eb0acfdde604930688c47fe1ba99bec2bd84b7ad
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:07 2013 +0300
pci: add pci_for_each_bus_depth_first
Useful for ACPI hotplug.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4d25299cb2b57a16fd3194e938eeb78d219400ba
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:33 2014 +0100
pc: make: fix dependencies: rebuild when included file is changed
some *.dsl files include another *.dsl files but there weren't
any dependicies and when included file changed target table wasn't
rebuild. Fix this by using the same auto dependency generation
as for C files.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0651596cbed8c0806aa2d7e436201f28b2fe179a
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Jan 16 17:50:48 2014 +0200
acpi unit-test: do not fail on asl mismatch
The asl comparison will break every time the ACPI
tables are updated. This may break the git bisect.
Instead of failing print a warning on stderr
including the retained asl files, so they can be
compared offline.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 69d09245d19765fd461cc3d3a7d79686007c4474
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Jan 16 17:50:47 2014 +0200
acpi unit-test: resolved iasl crash
It seems that iasl has an issue when disassembles
some ACPI tables using the command line:
iasl -e DSDT -e SSDT -d HPET
Modified the iasl command line to "iasl -d HPET"
until the problem is solved. The command line
remained the same for DSDT and SSDT tables.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a3a74ab90ea81cafaf4d03824d47a6d028ea996d
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Jan 16 17:50:46 2014 +0200
acpi unit-test: renamed ssdt_tables to tables
Just a refactoring, ssdt_tables name was confusing as
it included other tables as well.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 084137ddbbb30f5f85298711dc2d501a625d37ab
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 13 18:33:53 2014 +1100
tests: fix acpi to work on bigendian host
Double endianness convertion make this test failing on POWERPC machine
running in big-endian.
This fixes the test to success on big-endian host.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4500bc98a6aab1734d865afaeade3509eb65b560
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:25 2013 +0200
acpi unit-test: hook to rebuild expected aml files
When running the test with TEST_ACPI_REBUILD_AML=y environment
variable, the test will rebuild and validate the expected aml
files.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cebc92a2131be21cc4dc5f72f1e243061cd96b1f
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:24 2013 +0200
acpi unit-test: added script to rebuild the expected aml files
Acpi unit-test will fail every time the acpi tables change.
This script rebuild the expected aml files, so the test
will pass. It also validates the modifications.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cc8fa0e80836c51ba644d910cd89540a5bc83fc2
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:23 2013 +0200
acpi unit-test: extract iasl executable from configuration
The test checked if iasl is installed by running "iasl"
and checking the error output.
It is better to use the iasl executable as appears
in configuration.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9dd6cabdd3bfa49d4f594956e8ee93f8996460c7
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:22 2013 +0200
configure: add CONFIG_IASL to config-host.h
Acpi unit-tests will extract iasl executable
from CONFIG_IASL define.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9e8458c0232356a0c0eebb4fa4928fd02250c5f4
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:21 2013 +0200
acpi unit-test: compare DSDT and SSDT tables against expected values
This test will run only if iasl is installed on the host machine.
The test plan:
1. Dumps the ACPI tables as AML on the disk.
2. Runs iasl to disassembly the tables into ASL files.
3. Runs iasl to disassembly the offline AML files into ASL files.
4. Compares the ASL files.
The test runs for both default machine and q35.
In case the test fails, it can be easily tweaked to
show the differences between the ASL files and
understand the issue.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c2304b52f1b20fa79d299177d1fe75df2d265bfa
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:20 2013 +0200
configure: added acpi unit-test files
Ensure configure will set-up links for the files
if the build is created in other directory.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d259793808052dbef6d2d90cdb09150d03b8413b
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:19 2013 +0200
acpi unit-test: add test files
Added unit-test's expected aml files to be compared
with the actual ACPI tables.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4dd72e04c2c4759782d0eb3e3aff6a36889c1e18
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 15:51:22 2013 +0100
virtio: Fix return value for dummy function vhost_net_virtqueue_pending
cgcc complains that -ENOSYS is not a good value for 'bool'.
A dummy virtio will never have pending queue entries, so let us return
false.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8977557ae418f9b9ff5c35ee39161a33f2368e6a
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Mon Jan 13 15:27:13 2014 -0500
ACPI: Fix AppleSMC _STA size
Minimize the storage used for AppleSMC's _STA (8bit), relying on ASL
to implicitly convert it to the officially specified 32bit value.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15bce1b7c55c69f47e13c9eb2a4b80f41da26581
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Sun Dec 22 10:34:56 2013 -0500
Add DSDT node for AppleSMC
AppleSMC (-device isa-applesmc) is required to boot OS X guests.
OS X expects a SMC node to be present in the ACPI DSDT. This patch
adds a SMC node to the DSDT, and dynamically patches the return value
of SMC._STA to either 0x0B if the chip is present, or otherwise to 0x00,
before booting the guest.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3e16d14fd93ca6059134ba6b4f65c1c3e4cd3a18
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Dec 17 01:37:06 2013 +0100
Python-lang gdb script to extract x86_64 guest vmcore from qemu coredump
When qemu dies unexpectedly, for example in response to an explicit
abort() call, or (more importantly) when an external signal is delivered
to it that results in a coredump, sometimes it is useful to extract the
guest vmcore from the qemu process' memory image. The guest vmcore might
help understand an emulation problem in qemu, or help debug the guest.
This script reimplements (and cuts many features of) the
qmp_dump_guest_memory() command in gdb/Python,
https://sourceware.org/gdb/current/onlinedocs/gdb/Python-API.html
working off the saved memory image of the qemu process. The docstring in
the patch (serving as gdb help text) describes the limitations relative to
the QMP command.
Dependencies of qmp_dump_guest_memory() have been reimplemented as needed.
I sought to follow the general structure, sticking to original function
names where possible. However, keeping it simple prevailed in some places.
The patch has been tested with a 4 VCPU, 768 MB, RHEL-6.4
(2.6.32-358.el6.x86_64) guest:
- The script printed
> guest RAM blocks:
> target_start target_end host_addr message count
> ---------------- ---------------- ---------------- ------- -----
> 0000000000000000 00000000000a0000 00007f95d0000000 added 1
> 00000000000a0000 00000000000b0000 00007f960ac00000 added 2
> 00000000000c0000 00000000000ca000 00007f95d00c0000 added 3
> 00000000000ca000 00000000000cd000 00007f95d00ca000 joined 3
> 00000000000cd000 00000000000d0000 00007f95d00cd000 joined 3
> 00000000000d0000 00000000000f0000 00007f95d00d0000 joined 3
> 00000000000f0000 0000000000100000 00007f95d00f0000 joined 3
> 0000000000100000 0000000030000000 00007f95d0100000 joined 3
> 00000000fc000000 00000000fc800000 00007f960ac00000 added 4
> 00000000fffe0000 0000000100000000 00007f9618800000 added 5
> dumping range at 00007f95d0000000 for length 00000000000a0000
> dumping range at 00007f960ac00000 for length 0000000000010000
> dumping range at 00007f95d00c0000 for length 000000002ff40000
> dumping range at 00007f960ac00000 for length 0000000000800000
> dumping range at 00007f9618800000 for length 0000000000020000
- The vmcore was checked with "readelf", comparing the results against a
vmcore written by qmp_dump_guest_memory():
> --- theirs 2013-09-12 17:38:59.797289404 +0200
> +++ mine 2013-09-12 17:39:03.820289404 +0200
> @@ -27,16 +27,16 @@
> Type Offset VirtAddr PhysAddr
> FileSiz MemSiz Flags Align
> NOTE 0x0000000000000190 0x0000000000000000
0x0000000000000000
> - 0x0000000000000ca0 0x0000000000000ca0 0
> - LOAD 0x0000000000000e30 0x0000000000000000
0x0000000000000000
> + 0x000000000000001c 0x000000000000001c 0
> + LOAD 0x00000000000001ac 0x0000000000000000
0x0000000000000000
> 0x00000000000a0000 0x00000000000a0000 0
> - LOAD 0x00000000000a0e30 0x0000000000000000
0x00000000000a0000
> + LOAD 0x00000000000a01ac 0x0000000000000000
0x00000000000a0000
> 0x0000000000010000 0x0000000000010000 0
> - LOAD 0x00000000000b0e30 0x0000000000000000
0x00000000000c0000
> + LOAD 0x00000000000b01ac 0x0000000000000000
0x00000000000c0000
> 0x000000002ff40000 0x000000002ff40000 0
> - LOAD 0x000000002fff0e30 0x0000000000000000
0x00000000fc000000
> + LOAD 0x000000002fff01ac 0x0000000000000000
0x00000000fc000000
> 0x0000000000800000 0x0000000000800000 0
> - LOAD 0x00000000307f0e30 0x0000000000000000
0x00000000fffe0000
> + LOAD 0x00000000307f01ac 0x0000000000000000
0x00000000fffe0000
> 0x0000000000020000 0x0000000000020000 0
>
> There is no dynamic section in this file.
> @@ -47,13 +47,6 @@
>
> No version information found in this file.
>
> -Notes at offset 0x00000190 with length 0x00000ca0:
> +Notes at offset 0x00000190 with length 0x0000001c:
> Owner Data size Description
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> + NONE 0x00000005 Unknown note type: (0x00000000)
- The vmcore was checked with "crash" too, again comparing the results
against a vmcore written by qmp_dump_guest_memory():
> --- guest.vmcore.log2 2013-09-12 17:52:27.074289201 +0200
> +++ example.dump.log2 2013-09-12 17:52:15.904289203 +0200
> @@ -22,11 +22,11 @@
> This GDB was configured as "x86_64-unknown-linux-gnu"...
>
> KERNEL: /usr/lib/debug/lib/modules/2.6.32-358.el6.x86_64/vmlinux
> - DUMPFILE: /home/lacos/tmp/guest.vmcore
> + DUMPFILE: /home/lacos/tmp/example.dump
> CPUS: 4
> - DATE: Thu Sep 12 17:16:11 2013
> - UPTIME: 00:01:09
> -LOAD AVERAGE: 0.07, 0.03, 0.00
> + DATE: Thu Sep 12 17:17:41 2013
> + UPTIME: 00:00:38
> +LOAD AVERAGE: 0.18, 0.05, 0.01
> TASKS: 130
> NODENAME: localhost.localdomain
> RELEASE: 2.6.32-358.el6.x86_64
> @@ -38,12 +38,12 @@
> COMMAND: "swapper"
> TASK: ffffffff81a8d020 (1 of 4) [THREAD_INFO:
ffffffff81a00000]
> CPU: 0
> - STATE: TASK_RUNNING (PANIC)
> + STATE: TASK_RUNNING (ACTIVE)
> + WARNING: panic task not found
>
> crash> bt
> PID: 0 TASK: ffffffff81a8d020 CPU: 0 COMMAND: "swapper"
> - #0 [ffffffff81a01ed0] default_idle at ffffffff8101495d
> - #1 [ffffffff81a01ef0] cpu_idle at ffffffff81009fc6
> + #0 [ffffffff81a01ef0] cpu_idle at ffffffff81009fc6
> crash> task ffffffff81a8d020
> PID: 0 TASK: ffffffff81a8d020 CPU: 0 COMMAND: "swapper"
> struct task_struct {
> @@ -75,7 +75,7 @@
> prev = 0xffffffff81a8d080
> },
> on_rq = 0,
> - exec_start = 8618466836,
> + exec_start = 7469214014,
> sum_exec_runtime = 0,
> vruntime = 0,
> prev_sum_exec_runtime = 0,
> @@ -149,7 +149,7 @@
> },
> tasks = {
> next = 0xffff88002d621948,
> - prev = 0xffff880029618f28
> + prev = 0xffff880023b74488
> },
> pushable_tasks = {
> prio = 140,
> @@ -165,7 +165,7 @@
> }
> },
> mm = 0x0,
> - active_mm = 0xffff88002929b780,
> + active_mm = 0xffff8800297eb980,
> exit_state = 0,
> exit_code = 0,
> exit_signal = 0,
> @@ -177,7 +177,7 @@
> sched_reset_on_fork = 0,
> pid = 0,
> tgid = 0,
> - stack_canary = 2483693585637059287,
> + stack_canary = 7266362296181431986,
> real_parent = 0xffffffff81a8d020,
> parent = 0xffffffff81a8d020,
> children = {
> @@ -224,14 +224,14 @@
> set_child_tid = 0x0,
> clear_child_tid = 0x0,
> utime = 0,
> - stime = 3,
> + stime = 2,
> utimescaled = 0,
> - stimescaled = 3,
> + stimescaled = 2,
> gtime = 0,
> prev_utime = 0,
> prev_stime = 0,
> nvcsw = 0,
> - nivcsw = 1000,
> + nivcsw = 1764,
> start_time = {
> tv_sec = 0,
> tv_nsec = 0
- <name_dropping>I asked for Dave Anderson's help with verifying the
extracted vmcore, and his comments make me think I should post
this.</name_dropping>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2d23d5edb5b23849c668dd729e4da7b2c63b163b
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 19:56:58 2013 +0100
tcg/i386: cleanup useless #ifdef
TCG_TARGET_HAS_movcond_i32 is always defined to 1 in tcg-target.h, so
remove the corresponding #ifdef #endif sequence, left from a previous
refactoring.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 085bb5bb64069a16b843fca840f91cdfb3f40fda
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 19:51:21 2013 +0100
tcg/i386: use movbe instruction in qemu_ldst routines
The movbe instruction has been added on some Intel Atom CPUs and on
recent Intel Haswell CPUs. It allows to load/store a value and at the
same time bswap it.
This patch detects the avaibility of this instruction and when available
use it in the qemu load/store routines in replacement of load/store +
bswap. Note that for 16-bit unsigned loads, movbe + movzw is basically the
same as movzw + bswap, so the patch doesn't touch this case.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[RTH: Reduced the number of conditionals using "movop".]
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2a1137753f9618283ac40394a75976d18f608e39
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 19:49:08 2013 +0100
tcg/i386: add support for three-byte opcodes
Add support for three-byte opcodes, starting with the 0x0f 0x38 prefix.
Use P_EXT38 as the new constant, and shift all other constants so that
P_EXT and P_EXT38 have neighbouring values.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[RTH: Changed the name from P_EXT2 to P_EXT38.]
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c9d78213b8bf6e0da9ff30b53c33e93fb0373249
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 18:32:23 2013 +0100
tcg/i386: remove hardcoded P_REXW value
P_REXW is defined has a constant at the beginning of i386/tcg-target.c,
but the corresponding bit is later used in a harcoded way, which defeat
the purpose of a constant.
Fix that by using a conditional expression operator instead of a shift.
On x86 this actually makes the code slightly smaller as GCC does in
practice (opc >> 8) & 8 instead of (opc & 0x800) >> 8 so the constants
are smaller to load.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ba00599cc32626b53ba151c627a763518c76c49f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 18:31:43 2013 +0100
disas/i386.c: disassemble movbe instruction
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0169c511554cb0014a00290b0d3d26c31a49818f
Merge: 1c51e68 439d19f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:52:44 2014 -0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
kvm: always update the MPX model specific register
KVM: fix addr type for KVM_IOEVENTFD
KVM: Retry KVM_CREATE_VM on EINTR
mempath prefault: fix off-by-one error
kvm: x86: Separately write feature control MSR on reset
roms: Flush icache when writing roms to guest memory
target-i386: clear guest TSC on reset
target-i386: do not special case TSC writeback
target-i386: Intel MPX
Conflicts:
exec.c
aliguori: fix trivial merge conflict in exec.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1c51e68b182bb335464bb19ad2517fd43c58c127
Merge: 7d64b2c 918b94e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:52:16 2014 -0800
Merge remote-tracking branch 'otubo/seccomp' into staging
* otubo/seccomp:
seccomp: add some basic shared memory syscalls to the whitelist
seccomp: add mkdir() and fchmod() to the whitelist
Message-id: 1390231004-18392-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d64b2c2e22d956b358a97323f0d70060dcd9a06
Merge: 14ac4fe 2777ccc
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:52:08 2014 -0800
Merge remote-tracking branch 'sweil/tags/for_anthony' into staging
Initial patch for QEMU GTK support on Windows
# gpg: Signature made Mon 20 Jan 2014 11:37:58 AM PST using RSA key ID
FAD62069
# gpg: Can't check signature: public key not found
* sweil/tags/for_anthony:
gtk: Support keyboard translation for hosts running Windows
Message-id: 1390246909-18757-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 14ac4febb22b4083a5a64b251ab15c94d7d65833
Merge: f4b2779 39e6a38
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:51:38 2014 -0800
Merge remote-tracking branch 'kraxel/tags/pull-audio-2' into staging
hda-codec: disable streams on reset
# gpg: Signature made Tue 21 Jan 2014 02:17:12 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
* kraxel/tags/pull-audio-2:
hda-codec: disable streams on reset
Message-id: 1390299589-5082-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f4b27793a8b948178ced486d1d32d1919bea81b2
Merge: e9f526a 88678fb
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:51:23 2014 -0800
Merge remote-tracking branch 'kraxel/tags/pull-usb-2' into staging
usb core+hid: add support for microsoft os descriptors
# gpg: Signature made Tue 21 Jan 2014 02:21:29 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
* kraxel/tags/pull-usb-2:
usb-hid: add microsoft os descriptor support
usb: add support for microsoft os descriptors
Message-id: 1390299772-5368-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9f526ab7b01662c323a47446e22308968221ac1
Merge: 0d688cf 1cb27d9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:50:14 2014 -0800
Merge remote-tracking branch 'bonzini/scsi-next' into staging
* bonzini/scsi-next:
scsi: Support TEST UNIT READY in the dummy LUN0
block: add .bdrv_reopen_prepare() stub for iscsi
virtio-scsi: Prevent assertion on missed events
virtio-scsi: Cleanup of I/Os that never started
scsi: Assign cancel_io vector for scsi_disk_emulate_ops
Conflicts:
block/iscsi.c
aliguori: resolve trivial merge conflict in block/iscsi.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d688cf7d8d71bce2aab83173552a784e96b6729
Merge: 732c66c d510358
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:43:30 2014 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches
# gpg: Signature made Fri 24 Jan 2014 08:40:53 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
* kwolf/tags/for-anthony: (93 commits)
block: Switch bdrv_io_limits_intercept() to byte granularity
qemu-iotests: Test pwritev RMW logic
qemu-io: New command 'sleep'
blkdebug: Make required alignment configurable
iscsi: Set bs->request_alignment
block: Make bdrv_pwrite() a bdrv_prwv_co() wrapper
block: Make bdrv_pread() a bdrv_prwv_co() wrapper
block: Change coroutine wrapper to byte granularity
block: Assert serialisation assumptions in pwritev
block: Align requests in bdrv_co_do_pwritev()
block: Allow wait_serialising_requests() at any point
block: Make overlap range for serialisation dynamic
block: Generalise and optimise COR serialisation
block: Make zero-after-EOF work with larger alignment
block: Allow waiting for overlapping requests between begin/end
block: Switch BdrvTrackedRequest to byte granularity
block: Introduce bdrv_co_do_pwritev()
block: write: Handle COR dependency after I/O throttling
block: Introduce bdrv_aligned_pwritev()
block: Introduce bdrv_co_do_preadv()
...
Message-id: 1390584136-24703-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5103588aa39157c8eea3bb5fb6780bbd8be21b7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jan 16 13:29:10 2014 +0100
block: Switch bdrv_io_limits_intercept() to byte granularity
Request sizes used to be rounded down to the next sector boundary,
allowing to bypass the I/O limit. Now all requests are accounted for
with their exact byte size.
Reported-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 9e1cb96d9a5e434f389a4d7b7ff4dcdd71e8ec0f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 14 15:37:03 2014 +0100
qemu-iotests: Test pwritev RMW logic
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit cd33d02a1012e58ee0d3c8259159e8c60cfa0a4d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 15 15:39:10 2014 +0100
qemu-io: New command 'sleep'
There is no easy way to check that a request correctly waits for a
different request. With a sleep command we can at least approximate it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b35ee7fb2308e09092488029b5a9e456ce61bbe6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 14 13:44:35 2014 +0100
blkdebug: Make required alignment configurable
The new 'align' option of blkdebug can be used in order to emulate
backends with a required 4k alignment on hosts which only really require
512 byte alignment.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c9880c45e2f9a98d11d44ce9966515c23870a86
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 29 12:41:35 2011 +0100
iscsi: Set bs->request_alignment
The iSCSI backend already gets the block size from the READ CAPACITY
command it sends. Save it so that the generic block layer gets it
too.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 8407d5d7e265911b05949ee2ffd9e45c97bf0505
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 12:34:02 2013 +0100
block: Make bdrv_pwrite() a bdrv_prwv_co() wrapper
Instead of implementing the alignment adjustment here, use the now
existing functionality of bdrv_co_do_pwritev().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit a3ef65718506fb94cb9e5a903ef9bf9ad8fbe6de
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 12:29:59 2013 +0100
block: Make bdrv_pread() a bdrv_prwv_co() wrapper
Instead of implementing the alignment adjustment here, use the now
existing functionality of bdrv_co_do_preadv().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 775aa8b6e0ea25f8cca74d0fcb1e30a764cf624f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 12:09:38 2013 +0100
block: Change coroutine wrapper to byte granularity
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 28de2dcd88de31f50bbd43d9c2fcb046c3a727cb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 14 11:41:35 2014 +0100
block: Assert serialisation assumptions in pwritev
If a request calls wait_serialising_requests() and actually has to wait
in this function (i.e. a coroutine yield), other requests can run and
previously read data (like the head or tail buffer) could become
outdated. In this case, we would have to restart from the beginning to
read in the updated data.
However, we're lucky and don't actually need to do that: A request can
only wait in the first call of wait_serialising_requests() because we
mark it as serialising before that call, so any later requests would
wait. So as we don't wait in practice, we don't have to reload the data.
This is an important assumption that may not be broken or data
corruption will happen. Document it with some assertions.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 3b8242e0ea2a2c201ef3d1bd24080490dae33080
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 16:34:41 2013 +0100
block: Align requests in bdrv_co_do_pwritev()
This patch changes bdrv_co_do_pwritev() to actually be what its name
promises. If requests aren't properly aligned, it performs a RMW.
Requests touching the same block are serialised against the RMW request.
Further optimisation of this is possible by differentiating types of
requests (concurrent reads should actually be okay here).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 6460440f34c709461b84375cfd8a86b27d433225
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 13 13:04:35 2013 +0100
block: Allow wait_serialising_requests() at any point
We can only have a single wait_serialising_requests() call per request
because otherwise we can run into deadlocks where requests are waiting
for each other. The same is true when wait_serialising_requests() is not
at the very beginning of a request, so that other requests can be issued
between the start of the tracking and wait_serialising_requests().
Fix this by changing wait_serialising_requests() to ignore requests that
are already (directly or indirectly) waiting for the calling request.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 7327145f63a224c9ba9c16d0c29781feffef8dc6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 17:08:50 2013 +0100
block: Make overlap range for serialisation dynamic
Copy on Read wants to serialise with all requests touching the same
cluster, so wait_serialising_requests() rounded to cluster boundaries.
Other users like alignment RMW will have different requirements, though
(requests touching the same sector), so make it dynamic.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 2dbafdc012d3ea81a97fec6226ca82d644539c9a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 16:43:44 2013 +0100
block: Generalise and optimise COR serialisation
Change the API so that specific requests can be marked serialising. Only
these requests are checked for overlaps then.
This means that during a Copy on Read operation, not all requests
overlapping other requests are serialised any more, but only those that
actually overlap with the specific COR request.
Also remove COR from function and variable names because this
functionality can be useful in other contexts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit ec746e10cb2e6276a8d2e036454792fe0674864a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 12:13:10 2013 +0100
block: Make zero-after-EOF work with larger alignment
Odd file sizes could make bdrv_aligned_preadv() shorten the request in
non-aligned ways. Fix it by rounding to the required alignment instead
of 512 bytes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 65afd211c71fc91750d8a18f9604c1e57a5202fb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:55:55 2013 +0100
block: Allow waiting for overlapping requests between begin/end
Previously, it was not possible to use wait_for_overlapping_requests()
between tracked_request_begin()/end() because it would wait for itself.
Ignore the current request in the overlap check and run more of the
bdrv_co_do_preadv/pwritev code with a BdrvTrackedRequest present.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 793ed47a7a2b09b67cb2a8863dff531436532b5c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 15:31:25 2013 +0100
block: Switch BdrvTrackedRequest to byte granularity
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 6601553e27091ffe240bea69227adce941fe12e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:40:18 2013 +0100
block: Introduce bdrv_co_do_pwritev()
This is going to become the bdrv_co_do_preadv() equivalent for writes.
In this patch, however, just a function taking byte offsets is created,
it doesn't align anything yet.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 244eadef5c797c674b0aef96366671be4b33d03a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:30:44 2013 +0100
block: write: Handle COR dependency after I/O throttling
First waiting for all COR requests to complete and calling the
throttling function afterwards means that the request could be delayed
and we still need to wait for the COR request even if it was issued only
after the throttled write request.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit b404f72036716ab8ace04b83a8f0a93be4739a6a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:02:23 2013 +0100
block: Introduce bdrv_aligned_pwritev()
This separates the part of bdrv_co_do_writev() that needs to happen
before the request is modified to match the backend alignment, and a
part that needs to be executed afterwards and passes the request to the
BlockDriver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 1b0288ae7fc695a8e652973f75e92464bbc13416
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Dec 2 16:09:46 2013 +0100
block: Introduce bdrv_co_do_preadv()
Similar to bdrv_pread(), which aligns byte-aligned request to 512 byte
sectors, bdrv_co_do_preadv() takes a byte-aligned request and aligns it
to the alignment specified in bs->request_alignment.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit d0c7f642f5eb2cb21d0c3acf766cb375eaaf4666
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Dec 2 15:07:48 2013 +0100
block: Introduce bdrv_aligned_preadv()
This separates the part of bdrv_co_do_readv() that needs to happen
before the request is modified to match the backend alignment, and a
part that needs to be executed afterwards and passes the request to the
BlockDriver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit c25f53b06eba1575d5d0e92a0132455c97825b83
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 29 12:42:20 2011 +0100
raw: Probe required direct I/O alignment
Add a bs->request_alignment field that contains the required
offset/length alignment for I/O requests and fill it in the raw block
drivers. Use ioctls if possible, else see what alignment it takes for
O_DIRECT to succeed.
While at it, also expose the memory alignment requirements, which may be
(and in practice are) different from the disk alignment requirements.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 1b7fd729559c6d3b273303aa48bc653ceef08747
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 29 11:35:47 2011 +0100
block: rename buffer_alignment to guest_block_size
The alignment field is now set to the value that is promised to the
guest, rather than required by the host. The next patches will make
QEMU aware of the host-provided values, so make this clear.
The alignment is also not about memory buffers, but about the sectors on
the disk, change the documentation of the field.
At this point, the field is set by the device emulation, but completely
ignored by the block layer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 339064d5063924e5176842abbf6c8089f3479c5b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Nov 28 10:23:32 2013 +0100
block: Don't use guest sector size for qemu_blockalign()
bs->buffer_alignment is set by the device emulation and contains the
logical block size of the guest device. This isn't something that the
block layer should know, and even less something to use for determining
the right alignment of buffers to be used for the host.
The new BlockLimits field opt_mem_alignment tells the qemu block layer
the optimal alignment to be used so that no bounce buffer must be used
in the driver.
This patch may change the buffer alignment from 4k to 512 for all
callers that used qemu_blockalign() with the top-level image format
BlockDriverState. The value was never propagated to other levels in the
tree, so in particular raw-posix never required anything else than 512.
While on disks with 4k sectors direct I/O requires a 4k alignment,
memory may still be okay when aligned to 512 byte boundaries. This is
what must have happened in practice, because otherwise this would
already have failed earlier. Therefore I don't expect regressions even
with this intermediate state. Later, raw-posix can implement the hook
and expose a different memory alignment requirement.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 1ff735bdc417945bc6df1857861b127644b3f461
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 13:01:46 2013 +0100
block: Detect unaligned length in bdrv_qiov_is_aligned()
For an O_DIRECT request to succeed, it's not only necessary that all
base addresses in the qiov are aligned, but also that each length in it
is aligned.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit e5354657a626b325c31888f33de88ac6d39e2fcb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Nov 29 21:29:17 2013 +0100
qemu_memalign: Allow small alignments
The functions used by qemu_memalign() require an alignment that is at
least sizeof(void*). Adjust it if it is too small.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit 355ef4ac95a7a47d5c7201ccd910056a100d2fdf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 11 20:14:09 2013 +0100
block: Update BlockLimits when they might have changed
When reopening with different flags, or when backing files disappear
from the chain, the limits may change. Make sure they get updated in
these cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit 466ad822deef3a03757d505218a52993c5d56b5d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 11 19:50:32 2013 +0100
block: Inherit opt_transfer_length
When there is a format driver between the backend, it's not guaranteed
that exposing the opt_transfer_length for the format driver results in
the optimal requests (because of fragmentation etc.), but it can't make
things worse, so let's just do it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit d34682cd4a06efe9ee3fc8cb7e8a0ea445299989
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 11 19:26:16 2013 +0100
block: Move initialisation of BlockLimits to bdrv_refresh_limits()
This function separates filling the BlockLimits from bdrv_open(), which
allows it to call it from other operations which may change the limits
(e.g. modifications to the backing file chain or bdrv_reopen)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit dabfa6cc2e2a06269026fcb42772894f67bd0c3e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 24 14:00:43 2014 +0100
block: Fix bdrv_commit return value
bdrv_commit() could return 0 or 1 on success, depending on whether or
not the last sector was allocated in the overlay and whether the overlay
format had a .bdrv_make_empty callback.
Most callers ignored it, but qemu-img commit would print an error
message while the operation actually succeeded.
Also clean up the handling of I/O errors to return the real error code
instead of -EIO.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 37222900743962e146a82b7077a18c3f39859a19
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 24 09:02:37 2014 -0500
block: update block commit documentation regarding image truncation
This updates the documentation for commiting snapshot images.
Specifically, this highlights what happens when the base image
is either smaller or larger than the snapshot image being committed.
In the case of the base image being smaller, it is resized to the
larger size of the snapshot image. In the case of the base image
being larger, it is not resized automatically, but once the commit
has completed it is safe for the user to truncate the base image.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4da83585961631bfc10831dd26c4afda2a8b23e8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 24 09:02:36 2014 -0500
block: resize backing image during active layer commit, if needed
If the top image to commit is the active layer, and also larger than
the base image, then an I/O error will likely be returned during
block-commit.
For instance, if we have a base image with a virtual size 10G, and a
active layer image of size 20G, then committing the snapshot via
'block-commit' will likely fail.
This will automatically attempt to resize the base image, if the
active layer image to be committed is larger.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 72706ea4cd38bfcb151265df0178ba21863d7518
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 24 09:02:35 2014 -0500
block: resize backing file image during offline commit, if necessary
Currently, if an image file is logically larger than its backing file,
committing it via 'qemu-img commit' will fail.
For instance, if we have a base image with a virtual size 10G, and a
snapshot image of size 20G, then committing the snapshot offline with
'qemu-img commit' will likely fail.
This will automatically attempt to resize the base image, if the
snapshot image to be committed is larger.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 031fd1be5618c347f9aeb44ec294f14a541e42b2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 24 14:56:17 2014 +0100
block/curl: Implement the libcurl timer callback interface
libcurl versions 7.16.0 and later have a timer callback interface which
must be implemented in order for libcurl to make forward progress (it
will sometimes rely on being called back on the timeout if there are
no file descriptors registered). Implement the callback, and use a
QEMU AIO timer to ensure we prod libcurl again when it asks us to.
Based on Peter's original patch plus my fix to add curl_multi_timeout_do.
Should compile just fine even on older versions of libcurl.
I also tried copy-on-read and streaming:
$ ./qemu-img create -f qcow2 -o \
backing_file=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso
\
foo.qcow2 1G
$ x86_64-softmmu/qemu-system-x86_64 \
-drive if=none,file=foo.qcow2,copy-on-read=on,id=cd \
-device ide-cd,drive=cd --enable-kvm -m 1024
Direct http usage is probably too slow, but with copy-on-read ultimately
the image does boot!
After some time, streaming gets canceled by an EIO, which needs further
investigation.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0901f67ecdb74d9ba1451e3b4367194cd43f96b4
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:38 2014 +0100
qmp: Allow to take external snapshots on bs graphs node.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3b1dbd11a60d75e99af5fc9b73c34f4af9d4f510
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:37 2014 +0100
qmp: Allow block_resize to manipulate bs graph nodes.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 212a5a8f095de9a1624de6b4a589d60688b02747
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:36 2014 +0100
block: Create authorizations mechanism for external snapshot and resize.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 12d3ba821da9f8a039240a8a1bc01e27a12f9c22
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:35 2014 +0100
qmp: Allow to change password on named block driver states.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
There was two candidate ways to implement named node manipulation:
1)
{ 'command': 'block_passwd', 'data': {'*device': 'str',
'*node-name': 'str', 'password':
'str'}
}
2)
{ 'command': 'block_passwd', 'data': {'device': 'str',
'*device-is-node': 'bool',
'password': 'str'} }
Luiz proposed 1 and says 2 was an abuse of the QMP interface and proposed
to
rewrite the QMP block interface for 2.0.
Luiz does not like in 1 the fact that 2 fields are optional but one of
them must
be specified leading to an abuse of the QMP semantic.
Kevin argumented that 2 what a clear abuse of the device field and would
not be
practical when reading fast some log file because the user would read
"device"
and think that a device is manipulated when it's in fact a node name.
Documentation of 1 make it pretty clear what to do for the user.
Kevin argued that all bs are node including devices ones so 2 does not
make
sense.
Kevin also argued that rewriting the QMP block interface would not make
disapear
the current one.
Kevin pushed the argument that making the QAPI generator compatible with
the
semantic of the operation would need a rewrite that no one has done yet.
A vote has been done on the list to elect the version to use and 1 won.
For reference the complete thread is:
"[Qemu-devel] [PATCH V4 4/7] qmp: Allow to change password on names block
driver
states."
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c13163fba151f0be5176eaf55907bc1dbff3a1d4
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:34 2014 +0100
qmp: Add QMP query-named-block-nodes to list the named BlockDriverState
nodes.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6913c0c2ce00c0e886b2bd20b05073090fa5308a
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:33 2014 +0100
block: Allow the user to define "node-name" option both on command line
and QMP.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dc364f4cdca0c49e37376b16c3ee0bf3b4a96f4c
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:32 2014 +0100
block: Add bs->node_name to hold the name of a bs node of the bs graph.
Add the minimum of code to prepare for the following patches.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c8059b97e1f9b4635b836ee98373a0f72f9fc0b4
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Jan 23 10:03:26 2014 +0800
qapi: Add "backing" to BlockStats
Currently there is no way to query BlockStats of the backing chain. This
adds "backing" field into BlockStats to make it possible.
The comment of "parent" is reworded.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d8a7b061ae01e5692cc994f05ad6480d8c170125
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Jan 23 15:10:52 2014 +0800
vmdk: Fix format specific information (create type) for streamOptimized
Previously the field is wrong:
$ ./qemu-img create -f vmdk -o subformat=streamOptimized /tmp/a.vmdk
1G
$ ./qemu-img info /tmp/a.vmdk
image: /tmp/a.vmdk
file format: vmdk
virtual size: 1.0G (1073741824 bytes)
disk size: 12K
Format specific information:
cid: 1390460459
parent cid: 4294967295
>>> create type: monolithicSparse
<snip>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6df3bf8eb3ed428015c85cfbd554ac9b32164f40
Author: Zhang Min <rudy.zhangmin@xxxxxxxxxx>
Date: Thu Jan 23 15:59:16 2014 +0800
drive mirror:fix memory leak
In the function mirror_iteration() -> qemu_iovec_init(),
it allocates memory for op->qiov.iov, when the write request calls back,
but in the function mirror_iteration_done(), it only frees the op,
not free the op->qiov.iov, so this causes memory leak.
It should use qemu_iovec_destroy() to free op->qiov.
Signed-off-by: Zhang Min <rudy.zhangmin@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9cd767376f137918dbe90abb452dfe119ae7d8f3
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Jan 22 01:14:11 2014 +0800
sheepdog: fix 'qemu-img map'
It was muted in the previous commit 4bc74be9. Let's revive it since
nothing
prevents us to do it.
With this patch, following command will work as other formats:
$ qemu-img map sheepdog:image
Cc: qemu-devel@xxxxxxxxxx
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 0e3bd9932f862c1c1e4926939b4d0c602ce214ef
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 20 15:12:16 2014 +0100
Documentation: qemu-img: Mention SIGUSR1 progress report
Document the SIGUSR1 behaviour of qemu-img. Also, added compare to the
list of subcommands that support -p.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 3c4b4e383e82ab3db307ee01f12ab0d4a28584dc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 20 15:06:03 2014 +0100
qemu-progress: Fix progress printing on SIGUSR1
Since commit a7aae221 ('Switch SIG_IPI to SIGUSR1'), SIGUSR1 is blocked
during startup, breaking the progress report in tools.
This patch reenables the signal when initialising a progress report.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit e69968d472bd020a08c677c814237548090d2e59
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 20 15:05:25 2014 +0100
qemu-progress: Drop unused include
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 34ceed81f9ca31829448276dafe3d9151d66962c
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Jan 21 15:07:43 2014 +0800
vmdk: Check for overhead when opening
Report an error if file size is even smaller than metadata.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 46bae927134468d27f5e2508c3ced67ff58fa45b
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Tue Jan 21 11:30:02 2014 +0800
qcow2: fix wrong value of L1E_OFFSET_MASK, L2E_OFFSET_MASK and
REFT_OFFSET_MASK
Accoring to qcow spec, the offset fields in l1e, l2e and ref table entry
start at bit 9. The offset is cluster offset, and the smallest possible
cluster size is 512 bytes.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 385c04d0b66917457b6a12fc2cfd99a6a40b2d89
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jan 13 18:47:39 2014 +0800
dataplane: fix shadowed return value
Propagate the error return value from get_indirect(). This bug was
introduced in commit 4d684832 ("vring: create a common function to parse
descriptors").
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d80ac658f2caacfb14ea386211c4a9bea0cea280
Author: Peter Feiner <peter@xxxxxxxxxxxxxx>
Date: Wed Jan 8 19:43:25 2014 +0000
block: fix backing file segfault
When a backing file is opened such that (1) a protocol is directly
used as the block driver and (2) the block driver has bdrv_file_open,
bdrv_open_backing_file segfaults. The problem arises because
bdrv_open_common returns without setting bd->backing_hd->file.
To effect (1), you seem to have to use the -F flag in qemu-img. There
are several block drivers that satisfy (2), such as "file" and "nbd".
Here are some concrete examples:
#!/bin/bash
echo Test file format
./qemu-img create -f file base.file 1m
./qemu-img create -f qcow2 -F file -o backing_file=base.file\
file-overlay.qcow2
./qemu-img convert -O raw file-overlay.qcow2 file-convert.raw
echo Test nbd format
SOCK=$PWD/nbd.sock
./qemu-img create -f raw base.raw 1m
./qemu-nbd -t -k $SOCK base.raw &
trap "kill $!" EXIT
while ! test -e $SOCK; do sleep 1; done
./qemu-img create -f qcow2 -F nbd -o backing_file=nbd:unix:$SOCK\
nbd-overlay.qcow2
./qemu-img convert -O raw nbd-overlay.qcow2 nbd-convert.raw
Without this patch, the two qemu-img convert commands segfault.
This is a regression that was introduced in v1.7 by
dbecebddfa4932d1c83915bcb9b5ba5984eb91be.
Signed-off-by: Peter Feiner <peter@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 91f84f652de14329d5ad0666499a78fd0db0f1c7
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:24 2013 +0100
iotests: Test file format nesting
Add a test for nested image formats.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 30bd6a4dafe2f79909451ef5769561c9a9d3eaca
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:23 2013 +0100
iotests: Test new blkdebug/blkverify interface
Add a test for the new blkdebug/blkverify interface.
This test is not written in Python, although it uses QMP. This is
because it invokes the qemu-io HMP command, which outputs errors to
stderr instead of returning them through QMP. Filtering and testing that
output is easier in a shell script than with the Python infrastructure.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3fb11779ca5f1d601adeb5870ba79e61e81a4cce
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:22 2013 +0100
tests: Add test for qdict_flatten()
Add a test case for qdict_flatten() in tests/check-qdict.c. This test
case covers the flattening of subordinate QLists as well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit be331341a1f35c2de2fcc05cc78e0342d2edeb8a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:21 2013 +0100
tests: Add test for qdict_array_split()
Add a test case for qdict_array_split() in tests/check-qdict.c.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fd0fee34b5ae7699dc558c12ddc3663bdb580060
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:20 2013 +0100
qemu-io: Make filename optional
Giving a filename is actually not essential, since it can be specified
through the options as well - on the contrary: Sometimes a filename must
not be given.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1bf20b8280186299c750018bbfa3b52f4afd71ea
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:19 2013 +0100
qapi: QMP interface for blkdebug and blkverify
Add structures to support blkdebug and blkverify in blockdev-add.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8592a545b61b99114a86ee7cecef7a5f284d1b6c
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:18 2013 +0100
qapi: Add "errno" to the list of polluted words
Using "errno" directly as an identifier results in various syntax
errors; therefore it should be added to the list of polluted words.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 22511ad681348cc4e500ebafdc324b0909d41c95
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:17 2013 +0100
blkverify: Don't require protocol filename
If the filename is not prefixed by "blkverify:" in
blkverify_parse_filename(), the blkverify driver was not selected
through that protocol prefix, but by an explicit command line (or QMP)
option (like driver=blkverify).
If blkverify_parse_filename() has been called, a filename has been
given. If it is not prefixed, it is probably really just a plain
filename. This is no problem, since we can use it as the test image
filename and rely on the user to specify the raw image filename through
the new corresponding option.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 70b6198acc9643c3ce801e5cf4c24274722f2f4a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:16 2013 +0100
blkverify: Allow command-line configuration
Introduce the "test" and "raw" options for specifying images.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4373593d5111a8ed3b6d47ad4a458ee28ec942e3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:15 2013 +0100
blkdebug: Allow command-line file configuration
Introduce the "image" option as an alternative to specifying the image
through the filename.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d095b465339b79929fd2adc25c0ab3598e80fd39
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:14 2013 +0100
blockdev: Move "file" to legacy_opts
Specifying the image filename through the "file" option is a legacy
option and should not be supported by blockdev-add (in that case, giving
a string for "file" references an existing block device).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 505d758334afcee07eb40aa1b33f2353c612c8ec
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:13 2013 +0100
block: Allow recursive "file"s
It should be possible to use a format as a driver for a file which in
turn requires another file, i.e., nesting file formats.
Allowing nested file formats results in e.g. qcow2 BlockDriverStates
never being directly passed to bdrv_open_common() from bdrv_file_open(),
but instead being handed through bdrv_open(). This changes the error
message when trying to give a filename to qcow2, i.e. trying to use it
as a driver for the protocol level. Therefore, change the reference
output of I/O test 051 accordingly.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 054963f8f082695ecb1f169024c83ce3e4eea3d8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:12 2013 +0100
block: Use bdrv_open_image() in bdrv_open()
Using bdrv_open_image() instead of bdrv_file_open() directly in
bdrv_open() is easier.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit da557aac181fa71fde6a2a7c7a1eb2aea20caf64
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:11 2013 +0100
block: Add bdrv_open_image()
Add a common function for opening images to be used for block drivers
specified through BlockdevRefs in an option QDict. The difference from
bdrv_file_open() is that this function may invoke bdrv_open() instead,
allowing auto-detection of the driver to be used; and second, it
automatically extracts the BlockdevRef from the option QDict.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2a05cbe426a7a3ddec63dbc67c9ac93013aebf77
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:10 2013 +0100
block: Allow block devices without files
blkdebug and blkverify will, in order to retain compatibility, not
support the field "file" implicitly through bdrv_open(). In order to be
able to use those drivers without giving a filename anyway, it is
necessary to be able to have block devices without files implicitly
opened by bdrv_open(). This is the case, if there was neither a file
name, a reference to an existing block device to use as a file nor
options specific to the file.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2258e3fe20990a13c9aa2c1adccafae073b7ce13
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:09 2013 +0100
block: Pass reference to bdrv_file_open()
With that now being possible, bdrv_open() should try to extract a block
device reference from the options and pass it to bdrv_file_open().
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 72daa72eeecb6b2ee06ab7d836ac3aa01ad7e6df
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:08 2013 +0100
block: Allow reference for bdrv_file_open()
Allow specifying a reference to an existing block device (by name) for
bdrv_file_open() instead of a filename and/or options.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 89f2b21e36cce948c39fa7cf24226f6e5f042cc8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:07 2013 +0100
blkdebug: Use command-line in read_config()
Use qemu_config_parse_qdict() to parse the command-line options in
addition to the config file.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 85a040e5485413333da4fcf98bc8b28c92fa623f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:06 2013 +0100
blkdebug: Always call read_config()
Move the check whether there actually is a config file into the
read_config() function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit adf5c449e5beb163999e4ba7366d5f9aebb504a1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:05 2013 +0100
qemu-option: Add qemu_config_parse_qdict()
This function basically parses command-line options given as a QDict
replacing a config file.
For instance, the QDict {"section.opt1": 42, "section.opt2": 23}
corresponds to the config file:
[section]
opt1 = 42
opt2 = 23
It is possible to specify multiple sections and also multiple sections
of the same type. On the command line, this looks like the following:
inject-error.0.event=reftable_load,\
inject-error.1.event=l2_load,\
set-state.event=l1_update
This would correspond to the following config file:
[inject-error "inject-error.0"]
event = reftable_load
[inject-error "inject-error.1"]
event = l2_load
[set-state]
event = l1_update
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f23fc0c23ab16e9c16b41ed300786924f7a7768
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:04 2013 +0100
qapi: extend qdict_flatten() for QLists
Reversing qdict_array_split(), qdict_flatten() should flatten QLists as
well by interpreting them as QDicts where every entry's key is its
index.
This allows bringing QDicts with QLists from QMP commands to the same
form as they would be given as command-line options, thereby allowing
them to be parsed the same way.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 05a8c2227157eda2540404999c4615d3bf343c18
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:03 2013 +0100
qdict: Add qdict_array_split()
This function splits a QDict consisting of entries prefixed by
incrementally enumerated indices into a QList of QDicts.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d4881b9bcbbadc83ffa5d8e6d2d6deb36cd8faa6
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:02 2013 +0100
blkdebug: Don't require sophisticated filename
If the filename is not prefixed by "blkdebug:" in
blkdebug_parse_filename(), the blkdebug driver was not selected through
that protocol prefix, but by an explicit command line option
(file.driver=blkdebug or something similar). Contrary to the current
reaction, this is not a problem at all; we just need to store the
filename (in the x-image option) and can go on; the user just has to
manually specify the config option.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 466b49f276310952ad64485d8b9fa87a5c8a9451
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:01 2013 +0100
blkdebug: Use errp for read_config()
Use an Error variable in the read_config() function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4694020d3c0d21f02408d5cc6f44b8fb55b4ee15
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:18 2013 +0100
qemu-io: add command completion
Autocomplete qemu-io commands at the interactive prompt.
Note this only completes command names and not their options.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0cf17e181798063c3824c8200ba46f25f54faa1a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:17 2013 +0100
qemu-io: use readline.c
Use readline.c for command-line history. There was support for GNU
Readline and BSD Editline but it was never compiled in. Since QEMU has
its own readline.c, just use that when qemu-io runs with stdin attached
to a terminal.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 13401ba0b982024b62a99388032bbb889dc98b43
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:16 2013 +0100
osdep: add qemu_set_tty_echo()
Using stdin with readline.c requires disabling echo and line buffering.
Add a portable wrapper to set the terminal attributes under Linux and
Windows.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0150cd81cf608b93778a067189829f354fe27e4b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:15 2013 +0100
readline: move readline to a generic location
Now that the monitor and readline are decoupled, readline.h no longer
belongs in include/monitor/. Put the header into include/qemu/.
Move the source file into util/ so it can be linked as part of
libqemuutil.a.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c60bf3391bf4cb79b7adc6650094e21671ddaabd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:14 2013 +0100
readline: decouple readline from the monitor
Make the readline.c functionality reusable. Instead of calling
monitor_printf() and monitor_flush() directly, invoke function pointers
provided by the user.
This way readline.c does not know about Monitor and other users will be
able to make use of readline.c.
Note that there is already an "opaque" argument to the ReadLineFunc
callback. Consistently call it "readline_opaque" from now on to
distinguish from the ReadLinePrintfFunc/ReadLineFlushFunc "opaque"
argument.
I also dropped the printf macro trickery since it's now highly unlikely
that anyone modifying readline.c would call printf(3) directly. We no
longer need this protection.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 585ea0c841df47c1542d33e17c5c6d532316ef74
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jan 8 09:42:07 2014 +0800
vmdk: Fix big flat extent IO
Local variable "n" as int64_t avoids overflow with large sector number
calculation. See test case change for failure case.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7fa9e1f941b4be1f71bb42de2f2ed8805d7e7326
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jan 6 12:39:01 2014 +0800
docs: qcow2 compat=1.1 is now the default
Commit 9117b47717ad208b12786ce88eacb013f9b3dd1c ("qcow2: Change default
for new images to compat=1.1") changed the default qcow2 image format
version but forgot to update qemu-doc.texi and qemu-img.texi.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b7fcff01790d25f48d81ef6c8c3399577096a555
Author: Kewei Yu <keweihk@xxxxxxxxx>
Date: Mon Jan 6 14:05:24 2014 +0800
qtest: Fix the bug about disable vnc causes "make check" fail
When we disable vnc from "./configure", QEMU can't use the vnc option.
So qtest can't use the "vnc -none ", otherwise "make check" fails.
If QEMU uses "-display none", "-vnc none" is excrescent, So we just need
to drop it.
Signed-off-by: Kewei Yu <keweihk@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f23fce7b2e78b917f03ccd366e3e151c0a1a419
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Fri Jan 3 20:13:12 2014 +0800
sheepdog: fix clone operation by 'qemu-img create -b'
We should pass base_inode->vdi_id to base_vdi_id of SheepdogVdiReq so
that sheep
can create a clone instead a fresh volume.
This fixes following command:
qemu-create -b sheepdog:base sheepdog:clone
so users can boot sheepdog:clone as a normal volume.
Cc: qemu-devel@xxxxxxxxxx
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf7f616b9d846b1cc21c7b692b5c9ff6f757a5e7
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 21 14:51:26 2013 +0530
gluster: Add support for creating zero-filled image
GlusterFS supports creation of zero-filled file on GlusterFS volume
by means of an API called glfs_zerofill(). Use this API from QEMU to
create an image that is filled with zeroes by using the preallocation
option of qemu-img.
qemu-img create gluster://server/volume/image -o preallocation=full 10G
The allowed values for preallocation are 'full' and 'off'. By default
preallocation is off and image is not zero-filled.
glfs_zerofill() offloads the writing of zeroes to the server and if
the storage supports SCSI WRITESAME, GlusterFS server can issue
BLKZEROOUT ioctl to achieve the zeroing.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7c815372f3b37754b2a568e82f0521c7f77a6f66
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 21 14:51:25 2013 +0530
gluster: Implement .bdrv_co_write_zeroes for gluster
Support .bdrv_co_write_zeroes() from gluster driver by using GlusterFS API
glfs_zerofill() that off-loads the writing of zeroes to GlusterFS server.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15744b0b8f63d624bdd5825011cd201541a62094
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 21 14:51:24 2013 +0530
gluster: Convert aio routines into coroutines
Convert the read, write, flush and discard implementations from aio-based
ones to coroutine based ones.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 92397116a6789ed4455c6dacea0f378cae096d8d
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Dec 20 10:02:47 2013 +0100
block/iscsi: return -ENOMEM if an async call fails immediately
if an async libiscsi call fails directly it can only be due
to an out of memory condition. All other errors are returned
through the callback.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 487c1910023c83fa6d550a50c8ad7ee730e60bfa
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Nov 26 14:40:34 2013 +0800
qemu-iotests: Clean up all extents for vmdk
This modifies _cleanup_test_img to remove all the extent files listed by
"qemu-img info"'s format specific information.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d2329f27c9c8408d4134c7243313dbaa37270384
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Nov 26 14:40:33 2013 +0800
qemu-iotests: Add _unsupported_imgopts for vmdk subformats
Some cases are not applicable for vmdk subformats those don't support
certain features, e.g. backing file, and some others can't run on
mult-file image, e.g. monolithicFlat. This adds declaration in test
cases to skip them automatically, so that iotests on vmdk can go
more smoothly (without manually picking of cases for each subformat).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c77f52e39ff2ba071e3b549ad7a3ebea0758edd
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Nov 26 14:40:32 2013 +0800
qemu-iotests: Introduce _unsupported_imgopts
Introduce _unsupported_imgopts that causes _notrun for specific image
options.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e04fb07fd1676e9facd7f3f878c1bbe03bccd26b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Dec 5 16:38:33 2013 +0100
rbd: switch from pipe to QEMUBH completion notification
rbd callbacks are called from non-QEMU threads. Up until now a pipe was
used to signal completion back to the QEMU iothread.
The pipe writer code handles EAGAIN using select(2). The select(2) API
is not scalable since fd_set size is static. FD_SET() can write beyond
the end of fd_set if the file descriptor number is too high. (QEMU's
main loop uses poll(2) to avoid this issue with select(2).)
Since the pipe itself is quite clumsy to use and QEMUBH is now
thread-safe, just schedule a BH from the rbd callback function. This
way we can simplify I/O completion in addition to eliminating the
potential FD_SET() crash when file descriptor numbers become too high.
Crash scenario: QEMU already has 1024 file descriptors open. Hotplug an
rbd drive and get the pipe writer to take the select(2) code path.
Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Tested-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 492044581c26ba9ace3af5c6abb2a911a23ad188
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Mon Jan 20 14:51:50 2014 -0500
s390-sclp: SCLP Event integration
Add an sclp event for "cpu was hot plugged". This allows Qemu to deliver
an
SCLP interrupt to the guest stating that the requested cpu hotplug was
completed.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 8cc3aecf8461bd38028ddb4a56a17d0a1583de36
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Mon Jan 20 14:51:49 2014 -0500
s390-sclp: SCLP CPU Info
Implement the CPU data in SCLP "Read SCP Info". And implement "Read CPU
Info"
SCLP command. This data will be used by the guest to get information
about hot
plugged cpus.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 5f04c14a10fa7f259bc0808f35a0beda49f7821e
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Mon Jan 20 14:51:48 2014 -0500
s390-sclp: Define New SCLP Codes
Define new SCLP codes to improve code readability.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 2777ccc55bfe90bfa813b01faf36fa6ea16fbea8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 16:25:17 2013 +0100
gtk: Support keyboard translation for hosts running Windows
GTK uses different hardware keycodes on Windows hosts, so some special
handling is needed to get the QEMU keycode.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 439d19f2922ac409ee224bc1e5522cee7009d829
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 20 14:22:25 2014 +0100
kvm: always update the MPX model specific register
The original patch from Liu Jinsong restricted them to reset or full
state updates, but that's unnecessary (and wrong) since the BNDCFGS
MSR has no side effects.
Cc: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 918b94e2873cd5fe8aef06d269b4a4c7d0832ce7
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Wed Jan 15 14:38:58 2014 -0500
seccomp: add some basic shared memory syscalls to the whitelist
PulseAudio requires the use of shared memory so add shmget(), shmat(),
and shmdt() to the syscall whitelist.
Reported-by: xuhan@xxxxxxxxxx
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 0c2acb163fbb4579dad2d45595570b0a9ff71149
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Wed Jan 15 14:38:51 2014 -0500
seccomp: add mkdir() and fchmod() to the whitelist
The PulseAudio library attempts to do a mkdir(2) and fchmod(2) on
"/run/user/<UID>/pulse" which is currently blocked by the syscall
filter; this patch adds the two missing syscalls to the whitelist.
You can reproduce this problem with the following command:
# qemu -monitor stdio -device intel-hda -device hda-duplex
If watched under strace the following syscalls are shown:
mkdir("/run/user/0/pulse", 0700)
fchmod(11, 0700) [NOTE: 11 is the fd for /run/user/0/pulse]
Reported-by: xuhan@xxxxxxxxxx
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 39e6a38cdd4b235b2918b4977f31fde2c0da3bc4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 13:23:53 2013 +0100
hda-codec: disable streams on reset
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8d7b5a1da0e06aa7addd7f084d9ec9d433c4bafb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 17 11:12:56 2014 -0700
vfio: fix mapping of MSIX bar
VFIO virtualizes MSIX table for the guest but not mapping the part of
a BAR which contains an MSIX table. Since vfio_mmap_bar() mmaps chunks
before and after the MSIX table, they have to be aligned to the host
page size which may be TARGET_PAGE_MASK (4K) or 64K in case of PPC64.
This fixes boundaries calculations to use the real host page size.
Without the patch, the chunk before MSIX table may overlap with the MSIX
table and mmap will fail in the host kernel. The result will be serious
slowdown as the whole BAR will be emulated by QEMU.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 47c16ed56aa6bc4037bdb7b61f049097993cd244
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 17 11:12:07 2014 -0700
kvm: initialize qemu_host_page_size
There is a HOST_PAGE_ALIGN macro which makes sense for KVM accelerator
but it uses qemu_host_page_size/qemu_host_page_mask which initialized
for TCG only.
This moves qemu_host_page_size/qemu_host_page_mask initialization from
TCG's page_init() and adds a call for it from kvm_init().
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 794798e36eda77802ce7cc7d7d6b1c65751e8a76
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Fri Jan 10 15:56:33 2014 +0000
xen_pt: Fix passthrough of device with ROM.
QEMU does not need and should not allocate memory for the ROM of a
passthrough PCI device. So this patch initialize the particular region
like any other PCI BAR of a passthrough device.
When a guest will access the ROM, Xen will take care of the IO, QEMU
will not be involved in it.
Xen set a limit of memory available for each guest, allocating memory
for a ROM can hit this limit.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reported-and-Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
commit fc33b9004c49f21f8188df5c4cd079a9a3d08de8
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Fri Jan 10 15:52:54 2014 +0000
xen_pt: Fix debug output.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
commit 0193c62c94643a837832f2b5ccc133434ee740cb
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri Jan 17 15:28:18 2014 +0000
xenfb: map framebuffer read-only and handle unmap errors
The framebuffer is needlessly mapped (PROT_READ | PROT_WRITE), map it
PROT_READ instead.
The framebuffer is unmapped by replacing the framebuffer pages with
anonymous shared memory, calling mmap. Check for return errors and print
a warning.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 732c66ce641c69702a7e7fdb73b68f0c1b583ab5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 15 03:06:11 2014 -0800
Revert "error: Don't use error_report() for assertion msgs."
This reverts commit d32934c84c72f57e78d430c22974677b7bcabe5d.
The original implementation before this patch makes abortive error
messages much more friendly. The underlying bug that required this
change is now fixed. Revert.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 3dbe85b8404fa479ad0a75d5adb464949257f129
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 15 03:05:36 2014 -0800
tests: Add libqemustub to qom-interface-check
The recent addition of util/error.c's dependency on error_report()
causes this test to fail to link due to a number of missing monitor
related symbols. All these symbols are however defined by libqemustub.
Add this libary to the link.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 87ca1f77b1c406137fe36ab73b2dc91fb75f8d0a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Jan 16 09:22:07 2014 -0700
vfio-pci: Fail initfn on DMA mapping errors
The vfio-pci initfn will currently succeed even if DMA mappings fail.
A typical reason for failure is if the user does not have sufficient
privilege to lock all the memory for the guest. In this case, the
device gets attached, but can only access a portion of guest memory
and is extremely unlikely to work.
DMA mappings are done via a MemoryListener, which provides no direct
error return path. We therefore stuff the errno into our container
structure and check for error after registration completes. We can
also test for mapping errors during runtime, but our only option for
resolution at that point is to kill the guest with a hw_error.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit d3a2fd9b29e43e202315d5e99399b99622469c4a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Jan 16 09:22:07 2014 -0700
vfio: Filter out bogus mappings
Since 57271d63 we now see spurious mappings with the upper bits set
if 64bit PCI BARs are sized while enabled. The guest writes a mask
of 0xffffffff to the lower BAR to size it, then restores it, then
writes the same mask to the upper BAR resulting in a spurious BAR
mapping into the last 4G of the 64bit address space. Most
architectures do not support or make use of the full 64bits address
space for PCI BARs, so we filter out mappings with the high bit set.
Long term, we probably need to think about vfio telling us the
address width limitations of the IOMMU.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1cb27d9233d572826b45bd8498d2fab1b6f01df9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 16 13:06:13 2014 +0100
scsi: Support TEST UNIT READY in the dummy LUN0
SeaBIOS waits for LUN0 to respond to the TEST UNIT READY command
in order to decide whether it should part of the boot sequence.
If LUN0 does not respond to the command, boot is delayed by up
to 5 seconds. This currently happens when there is no LUN0 on
a target. Fix that by adding a trivial implementation of the
command.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 88678fbd9dbf01fd0988bcb651508378d85e868a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 07:33:50 2013 +0100
usb-hid: add microsoft os descriptor support
Set SelectiveSuspendEnabled registy entry to one.
This makes Windows use remote suspend by default,
without manual registry fiddeling.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5319dc7b42610575cbd3a33f4340c1fb4f19b939
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 07:32:31 2013 +0100
usb: add support for microsoft os descriptors
This patch adds support for special usb descriptors used by microsoft
windows. They allow more fine-grained control over driver binding and
adding entries to the registry for configuration.
As this is a guest-visible change the "msos-desc" compat property
has been added to turn this off for 1.7 + older
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2c02d1ad48ad44cf00522df7d8de9138689fac85
Author: Kewei Yu <keweihk@xxxxxxxxx>
Date: Tue Dec 31 18:36:08 2013 +0800
vl: Add a blank space between the variable and '='
Signed-off-by: Kewei Yu <keweihk@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3babcc8704f593473ccd0f66d6e39c949c672477
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 28 08:31:11 2013 +0100
pc-bios: Remove execute flag from BIOS files
BIOS files are not directly executable, so they don't need this flag.
All other BIOS files don't use the execute flag.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a39ca6a124267dcfc6bc5276fff9c4b02e5c2215
Author: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Date: Sat Jan 11 13:34:11 2014 +0400
linux-user: fixed recvfrom() addrlen
addrlen parameter of recvfrom() of type socklen_t* was read into
variable of type socklen_t, that caused zeroing out of upper 4 bytes
when running s390x on top of x86_64. This patch changes addrlen type
to abi_ulong.
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fe54b24930f94bdfbc3d38eccd7adedf35f2f26f
Author: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Date: Sat Jan 11 13:34:10 2014 +0400
linux-user: fixed getsockopt() optlen
optlen parameter of getsockopt() of type socklen_t* was read into
variable of type socklen_t, that caused zeroing out of upper 4 bytes
when running s390x on top of x86_64. This patch changes optlen type
to abi_ulong.
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 19a894ba777fa45c6f89ae007570311384204a69
Author: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Date: Sat Jan 11 13:34:09 2014 +0400
linux-user: fixed s390x clone() argument order
It was broken by 4ce6243dc6216e35b5b691078ffa856463bfa8db,
where TARGET_CLONE_BACKWARDS was specified instead of
TARGET_CLONE_BACKWARDS2.
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 850484a295a856474978d9338b8c17eb8e00f549
Author: David du Colombier <0intro@xxxxxxxxx>
Date: Wed Dec 25 15:17:43 2013 +0100
ide: cmd_exec_dev_diagnostic() always set error register to 0x01
This notably fix IDE CD probing on the Plan 9 operating system,
which rely on the error register set by the Execute Device
Diagnostic command to detect drive configurations.
Thanks to Rémi Pommarel for reporting this issue.
Signed-off-by: David du Colombier <0intro@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e6baf6130ef26f32a45e0282bd4720913a1ff472
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Jan 9 09:58:16 2014 -0500
virtio-balloon: don't hardcode config size value
Use sizeof(struct virtio_balloon_config) instead.
Signed-off-by: Luiz capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fb3ecb7ea40c44d15091143c4336993e7165fc4f
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 14 07:00:28 2014 +0100
exec: Exclude non portable function for MinGW
cpu_physical_memory_set_dirty_lebitmap calls getpageaddr and ffsl which
are
unavailable for MinGW. As the function is unused for MinGW, it can simply
be excluded from compilation.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit bf2eaf718e2fcc5cc975326495bf03de7305bbe4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Dec 9 21:33:34 2013 -0200
Add bios-256k.bin to BLOBS on Makefile
The default machine-type (pc-i440fx-2.0) now requires bios-256k.bin, but
"make install" isn't installing it, so qemu-system-x86_64 won't run out
of the box. Add it to BLOBS so it gets installed.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: William Dauchy <william@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dc9fc1cac59e46102f2e046ac3233d8ad4535497
Author: Namhyung Kim <namhyung@xxxxxxxxx>
Date: Tue Jan 7 09:04:25 2014 +0900
Fix typo of tiemr in timer.h
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7af6f46c6199549f0e02a2176d0f3ec2ec405e99
Author: Namhyung Kim <namhyung@xxxxxxxxx>
Date: Tue Jan 7 21:53:51 2014 +0900
docs: Fix typo in QMP WAKEUP example
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e638073c569e801ce9def2016a84f955cbbca779
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Jan 15 10:11:52 2014 -0700
vfio: Do not reattempt a failed rom read
During lazy rom loading, if rom read fails, and the
guest attempts a read again, vfio will again attempt it.
Add a boolean to prevent this. There could be a case where
a failed rom read might succeed the next time because of
a device reset or such, but it's best to exclude unpredictable
behavior
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit d20b43dfea1587b561aae17e4fa0f7407779d253
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Jan 15 10:11:06 2014 -0700
vfio: warn if host device rom can't be read
If the device rom can't be read, report an error to the
user. This alerts the user that the device has a bad
state that is causing rom read failure or option rom
loading has been disabled from the device boot menu
(among other reasons).
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 7c4228b4771acddcb8815079bc116007cec8a1ff
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Jan 15 10:07:26 2014 -0700
vfio: Destroy memory regions
Somehow this has been lurking for a while; we remove our subregions
from the base BAR and VGA region mappings, but we don't destroy them,
creating a leak and more serious problems when we try to migrate after
removing these devices. Add the trivial bit of final cleanup to
remove these entirely.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 584f2be79de148b0765a758ac0c1036a29c5e830
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 10 18:20:18 2014 +1100
KVM: fix addr type for KVM_IOEVENTFD
The @addr here is a guest physical address and can easily be bigger
than 4G.
This changes uint32_t to hwaddr.
Cc: qemu-stable@xxxxxxxxxx
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 94ccff133820552a859c0fb95e33a539e0b90a75
Author: thomas knych <thomaswk@xxxxxxxxxx>
Date: Thu Jan 9 13:14:23 2014 -0800
KVM: Retry KVM_CREATE_VM on EINTR
Upstreaming this change from Android
(https://android-review.googlesource.com/54211).
On heavily loaded machines with many VM instances we see KVM_CREATE_VM
failing with EINTR on this path:
kvm_dev_ioctl_create_vm -> kvm_create_vm -> kvm_init_mmu_notifier ->
mmu_notifier_register -> do_mmu_notifier_register -> mm_take_all_locks
which checks if any signals have been raised while it was attaining locks
and returns EINTR. Retrying the system call greatly improves reliability.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: thomas knych <thomaswk@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dc6afb99b39a78cf416c6d19e35f680f202016be
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Jan 14 13:10:24 2014 -0500
block: add .bdrv_reopen_prepare() stub for iscsi
To suppport reopen(), the .bdrv_reopen_prepare() stub must exist.
iSCSI does not have anything that needs to be done to support reopen,
so we can just implement the _prepare() stub.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 49fb65c7f985baa56d2964e0a85c1f098e3e2a9d
Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 14:16:26 2014 -0500
virtio-scsi: Prevent assertion on missed events
In some cases, an unplug can cause events to be dropped, which
leads to an assertion failure when preparing to notify the guest
kernel.
Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e9c0f0f58ad0a41c3c4b19e1911cfe095afc09ca
Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 14:16:25 2014 -0500
virtio-scsi: Cleanup of I/Os that never started
There is still a small window that occurs when a cancel I/O affects
an asynchronous I/O operation that hasn't started. In other words,
when the residual data length equals the expected data length.
Today, the routine virtio_scsi_command_complete fails because the
VirtIOSCSIReq pointer (from the hba_private field in SCSIRequest)
was cleared earlier when virtio_scsi_complete_req was called by
the virtio_scsi_request_cancelled routine. As a result, the
virtio_scsi_command_complete routine needs to simply return when
it is processing a SCSIRequest block that was marked canceled.
Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 33325a53f15ab5370e1917b2a11cadffc77c5a52
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jan 15 10:35:36 2014 +0100
scsi: Assign cancel_io vector for scsi_disk_emulate_ops
Some emulated disk operations (MODE SELECT, UNMAP, WRITE SAME)
can trigger asynchronous I/Os. Provide the cancel_io callback
to ensure that AIOCBs are properly cleaned up.
Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
[Tweak commit message. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1cf892ca2689c84960b4ce4d2723b6bee453711c
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 27 08:50:11 2013 +0100
SPARC: Fix LEON3 power down instruction
Synchronize the program counter before the power down helper call
otherwise interrupts will return to the wrong context.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit d32934c84c72f57e78d430c22974677b7bcabe5d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jan 14 19:37:09 2014 -0800
error: Don't use error_report() for assertion msgs.
Use fprintf(stderr instead. This removes dependency of libqemuutil.a
on the monitor.
We can further justify this change, in that this code path should only
trigger under a fatal error condition. fprintf-stderr is probably the
appropriate medium as under a fatal error conidition the monitor itself
may be down and out for the count. So assertion failure messages should
go lowest common denominator - straight to stderr.
Fixes the build as reported by Kevin Wolf. Issue debugged and change
suggested by Luiz Capitulino. Issue introduced by
5d24ee70bcbcf578614193526bcd5ed30a8eb16c.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 133fe77437d3a23bf1fd70a231b4f29d5fa0571c
Merge: 73c6945 c950114
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 14 12:09:59 2014 +1000
Merge remote branch 'luiz/queue/qmp' into qmpq
* luiz/queue/qmp:
migration: qmp_migrate(): keep working after syntax error
qerror: Remove assert_no_error()
qemu-option: Remove qemu_opts_create_nofail
target-i386: Remove assert_no_error usage
hw: Remove assert_no_error usages
qdev: Delete dead code
error: Add error_abort
monitor: add object-add (QMP) and object_add (HMP) command
monitor: add object-del (QMP) and object_del (HMP) command
qom: catch errors in object_property_add_child
qom: fix leak for objects created with -object
rng: initialize file descriptor to -1
qemu-monitor: HMP cpu-add wrapper
vl: add missing transition debug->finish_migrate
Message-Id: 1389045795-18706-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 73c694565c6144e0c4e15041b5250a04a25107c3
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Mon Jan 13 13:35:26 2014 +1000
Microblaze: Convert Microblaze-pic handling to GPIOs
This patch uses inbound GPIO lines (IRQ and FIR) for
interrupts instead of using the old pic_cpu method,
which doesn't correspond to real hardware.
This creates the CPU's inbound IRQ and FIR GPIO lines and
updates the Microblaze boards to use this new method.
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Suggested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reveiwed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 83e6813a93e38976391b8c382c3375e3e188df3e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 13 10:26:16 2014 +0000
target-arm: Switch ARMCPUInfo arrays to use terminator entries
Switch the ARMCPUInfo arrays in cpu.c and cpu64.c to use a terminator
entry rather than looping based on ARRAY_SIZE. The latter causes
compile warnings on some versions of gcc if the configure options
happen to result in an empty array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit b54f18ba3415c731f0b069f6df56f529997fb74e
Merge: dd089c0 aa8dc04
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 13 13:20:49 2014 -0800
Merge remote-tracking branch 'quintela/tags/migration/20140113' into
staging
migration.next for 20140113
# gpg: Signature made Mon 13 Jan 2014 09:38:27 AM PST using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* quintela/tags/migration/20140113: (49 commits)
migration: synchronize memory bitmap 64bits at a time
ram: split function that synchronizes a range
memory: syncronize kvm bitmap using bitmaps operations
memory: move bitmap synchronization to its own function
kvm: refactor start address calculation
kvm: use directly cpu_physical_memory_* api for tracking dirty pages
memory: unfold memory_region_test_and_clear()
memory: split cpu_physical_memory_* functions to its own include
memory: cpu_physical_memory_set_dirty_tracking() should return void
memory: make cpu_physical_memory_reset_dirty() take a length parameter
memory: s/dirty/clean/ in cpu_physical_memory_is_dirty()
memory: cpu_physical_memory_clear_dirty_range() now uses bitmap
operations
memory: cpu_physical_memory_set_dirty_range() now uses bitmap operations
memory: use find_next_bit() to find dirty bits
memory: s/mask/clear/ cpu_physical_memory_mask_dirty_range
memory: cpu_physical_memory_get_dirty() is used as returning a bool
memory: make cpu_physical_memory_get_dirty() the main function
memory: unfold cpu_physical_memory_set_dirty_flag()
memory: unfold cpu_physical_memory_set_dirty() in its only user
memory: unfold cpu_physical_memory_clear_dirty_flag() in its only user
...
Message-id: 1389634834-24181-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit aa8dc044772ba156cbcf2174b5673cfa11f566a7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Nov 6 11:33:05 2013 +0100
migration: synchronize memory bitmap 64bits at a time
We use the old code if the bitmaps are not aligned
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 791fa2a2451799232d6bc0c29c0fbb13b5293eeb
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 16:47:20 2013 +0100
ram: split function that synchronizes a range
This function is the only bit where we care about speed.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit ae2810c4bb3b383176e8e1b33931b16c01483aab
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 16:46:26 2013 +0100
memory: syncronize kvm bitmap using bitmaps operations
If bitmaps are aligned properly, use bitmap operations. If they are
not, just use old bit at a time code.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 5ff7fb77b3cee8e26648e4fdccb23a77c2a6d3c6
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 15:52:54 2013 +0100
memory: move bitmap synchronization to its own function
We want to have all the functions that handle directly the dirty
bitmap near. We will change it later.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit c9dd46fc0d64d9f314aa3c220d4aff9d01ab778e
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 15:45:46 2013 +0100
kvm: refactor start address calculation
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 747afd5bcdc90f608c75d95f8a629a9cfc838c57
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Nov 4 12:59:02 2013 +0100
kvm: use directly cpu_physical_memory_* api for tracking dirty pages
Performance is important in this function, and we want to optimize even
further.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 12291ec18fdce3c1973c172f5a942a1bd26b9a5f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Oct 14 17:14:47 2013 +0200
memory: unfold memory_region_test_and_clear()
We are going to update the bitmap directly
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 220c3ebddbd1ac289ae7fc64733c9501b3921d94
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Oct 14 17:13:59 2013 +0200
memory: split cpu_physical_memory_* functions to its own include
All the functions that use ram_addr_t should be here.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 981fdf2353d5e708adbe5227260d5e46eececc05
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 10 11:54:09 2013 +0200
memory: cpu_physical_memory_set_dirty_tracking() should return void
Result was always 0, and not used anywhere. Once there, use bool type
for the parameter.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a2f4d5bef2cfde557d76fc45a40d2c89b6bed4e4
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 10 11:49:53 2013 +0200
memory: make cpu_physical_memory_reset_dirty() take a length parameter
We have an end parameter in all the callers, and this make it coherent
with the rest of cpu_physical_memory_* functions, that also take a
length parameter.
Once here, move the start/end calculation to
tlb_reset_dirty_range_all() as we don't need it here anymore.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a2cd8c852d2d8c2a084b68b2470f214d6726f6d2
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 10 11:20:22 2013 +0200
memory: s/dirty/clean/ in cpu_physical_memory_is_dirty()
All uses except one really want the other meaning.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a461e389f489e72cdc770ff887512c2c9109bc43
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 12:30:35 2013 +0200
memory: cpu_physical_memory_clear_dirty_range() now uses bitmap operations
We were clearing a range of bits, so use bitmap_clear().
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 5b9a3a5f77e3458af6c1bb0654ee0f32936a5594
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 12:26:23 2013 +0200
memory: cpu_physical_memory_set_dirty_range() now uses bitmap operations
We were setting a range of bits, so use bitmap_set().
Note: xen has always been wrong, and should have used start instead
of addr from the beginning.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 1bafff0c7cb99972fd243464632eca0780c6a8f1
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 12:15:06 2013 +0200
memory: use find_next_bit() to find dirty bits
This operation is way faster than doing it bit by bit.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit ace694cccccf343852d9f0b34171ad475e248bbf
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 10:36:56 2013 +0200
memory: s/mask/clear/ cpu_physical_memory_mask_dirty_range
Now all functions use the same wording that bitops/bitmap operations
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 94833c896d2d339571a66542f2715b1897d70fa7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:40:55 2013 +0200
memory: cpu_physical_memory_get_dirty() is used as returning a bool
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 9f2c43e41a13605d3ab1e37ba433aa669652fb6b
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:35:39 2013 +0200
memory: make cpu_physical_memory_get_dirty() the main function
And make cpu_physical_memory_get_dirty_flag() to use it. It used to
be the other way around.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit c1427a3f84c42d5159d10927700eafc9b653d68f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:27:58 2013 +0200
memory: unfold cpu_physical_memory_set_dirty_flag()
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 4f13bb80a2dc1bb851b43da6dd9117473772b197
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:25:16 2013 +0200
memory: unfold cpu_physical_memory_set_dirty() in its only user
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 86a49582dbe66d59a9366d2f002f0d6af965ecb8
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:21:10 2013 +0200
memory: unfold cpu_physical_memory_clear_dirty_flag() in its only user
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 1ab4c8ceaa5ec55af9bb25e88e46d461a8550280
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 16:14:39 2013 +0200
memory: split dirty bitmap into three
After all the previous patches, spliting the bitmap gets direct.
Note: For some reason, I have to move DIRTY_MEMORY_* definitions to
the beginning of memory.h to make compilation work.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 164590a60fd685399da259ac41b338d9a0b9d6c0
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 16:12:17 2013 +0200
bitmap: Add bitmap_zero_extend operation
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit e8a97cafc4108fa964807eb9cbce7eda698f99bb
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 15:50:55 2013 +0200
memory: cpu_physical_memory_clear_dirty_flag() result is never used
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 2152f5ca782e51a4d05a1f7d9bfa83286323cbc9
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 13:52:02 2013 +0200
memory: only resize dirty bitmap when memory size increases
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 7a5b558c9d061814f34d9b95d70d17ef75037937
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 13:29:11 2013 +0200
memory: make sure that client is always inside range
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 5adca7ace9b80bf594e4c52c0d5b23573cba3639
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 13:26:29 2013 +0200
memory: use bit 2 for migration
For historical reasons it was bit 3. Once there, create a constant to
know the number of clients.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 52159192919469b424b54c167312e53d5a62d233
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:44:04 2013 +0200
memory: cpu_physical_memory_mask_dirty_range() always clears a single flag
Document it
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 75218e7f2b7f052c6f44489afaf45b3ea4369f45
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:31:54 2013 +0200
memory: cpu_physical_memory_set_dirty_range() always dirty all flags
So remove the flag argument and do it directly. After this change,
there is nothing else using cpu_physical_memory_set_dirty_flags() so
remove it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 63995cebfaa283586682ea6236c9686b2a49ece7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:25:25 2013 +0200
memory: set single dirty flags when possible
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 36187e2ca0295364dcb9a3f256a6fcd77e983c02
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:17:12 2013 +0200
memory: all users of cpu_physical_memory_get_dirty used only one flag
So cpu_physical_memory_get_dirty_flags is not needed anymore
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 4f08cabe9e6efe8a50abc30cfa59e8470ad434d7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:01:01 2013 +0200
memory: make cpu_physical_memory_is_dirty return bool
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 7e5609a85e3f35965af5e4c7b1480254642cf2dd
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 11:57:21 2013 +0200
exec: create function to get a single dirty bit
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a1390db4df32ad95bf7854944180d2343f7f6368
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 11:53:46 2013 +0200
memory: create function to set a single dirty bit
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 06567942e5e92cc649b608205d5d31ff3ac21c58
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 11:50:04 2013 +0200
exec: use accessor function to know if memory is dirty
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 78d0042642a415b56b3c53a6044f30eff47bf69c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 2 14:30:02 2013 +0200
memory: cpu_physical_memory_set_dirty_range() return void
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e2da99d582300bb8deecb25d26a179ef5b92e066
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 2 14:04:19 2013 +0200
memory: cpu_physical_memory_set_dirty_flags() result is never used
So return void.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9c22687ea8c1a2644a41a683ff0a291adc9a657c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Dec 17 12:12:24 2013 +0100
bitmap: use long as index
Move index and size fields from int to long. We need that for
migration. long is 64 bits on sane architectures, and 32bits should
be enough on all the 32bits architectures.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 2668b4bff484a8428947c10a0efb9758658f4b1a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:18 2013 -0200
tests: Some unit tests for vmstate.c
* Basic load/save tests
* Tests for loading older versions
* Tests for .field_exists() handling
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bb1a6d8c57217188f33d8e59d71fc62dbee9e4f8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Nov 29 12:26:02 2013 -0200
savevm: Small comment about why timer QEMUFile/VMState code is in savevm.c
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 093c455a8c6d8f715eabd8c8d346f08f17d686ec
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:16 2013 -0200
qemu-file: Move QEMUFile code to qemu-file.c
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b6fcfa59fa6ad6d61603e701e006d4ec8f4c9d11
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:15 2013 -0200
vmstate: Move VMState code to vmstate.c
This will allow unit tests to be written for VMState code without
pulling dependencies from the savevm code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 51b7fa5b3cf7678263382039a884aa2e74742bb6
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:14 2013 -0200
savevm.c: Coding style fix
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 38ff78d363da0d2e0ad27853036b08eaa52ef18d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:13 2013 -0200
savevm.c: Coding style fixes
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5cecf414945e5ba40da893cbdaed554371d4eca9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:12 2013 -0200
savevm: Convert all tabs to spaces
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b5503338ed1c66310f090cd9164abd244fc82631
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:11 2013 -0200
migration: Move QEMU_VM_* defines to migration/migration.h
The VMState code will be moved to vmstate.c and it uses some of the
QEMU_VM_* constants, so move it to a header.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c961514fd9e707b6a39c60f687a711ffe0a33539
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:10 2013 -0200
qemu-file: Make a few functions non-static
The QEMUFile code will be moved to qemu-file.c. This will require making
the following functions non-static because they are used by the savevm.c
code:
* qemu_peek_byte()
* qemu_peek_buffer()
* qemu_file_skip()
* qemu_file_set_error()
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 40596834c0d57a223124a956ccbe39dfeadc9f0e
Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx>
Date: Mon Nov 25 14:42:43 2013 -0500
migration: Fix rate limit
The migration thread appears to want to allow writeout to occur at full
speed rather than being rate limited during completion of state saving,
but sets the limit to INT_MAX when xfer_limit is INT64_MAX. This causes
problems if there's more than 2GB of state left to save at this point. It
probably ought to just be INT64_MAX instead.
Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 51cf4c1a99a172679c2949a2d58a2a4ee307b557
Author: Zhanghaoyu (A) <haoyu.zhang@xxxxxxxxxx>
Date: Thu Nov 7 11:01:15 2013 +0000
introduce MIG_STATE_CANCELLING state
Introduce MIG_STATE_CANCELLING state to avoid starting a new migration
task while the previous one still exist.
Signed-off-by: Zeng Junliang <zengjunliang@xxxxxxxxxx>
Signed-off-by: Zhang Haoyu <haoyu.zhang@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6f2b811a61810a7fd9f9a5085de223f66b823342
Author: Zhanghaoyu (A) <haoyu.zhang@xxxxxxxxxx>
Date: Thu Nov 7 08:21:23 2013 +0000
avoid a bogus COMPLETED->CANCELLED transition
Avoid a bogus COMPLETED->CANCELLED transition.
There is a period of time from the timing of setting COMPLETED state to
that of migration thread exits, so during which it's problematic in
COMPLETED->CANCELLED transition.
Signed-off-by: Zeng Junliang <zengjunliang@xxxxxxxxxx>
Signed-off-by: Zhang Haoyu <haoyu.zhang@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dd089c0a1e928fb80ba8a37983c1b0e9232d1c8b
Merge: 42bf25a 30ef3c7
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jan 12 17:50:52 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-cocoa-20140112' into
staging
cocoa queue:
* pass command key to guest when VM has mousegrab
* add .qcow2 to extension list for image load dialog
* fix bugs in code for starting QEMU via image load dialog
* fix resize/redraw interaction
* draw window black if guest hasn't sent anything to screen
* minor style/typo fixes
* add myself as cocoa co-maintainer
# gpg: Signature made Sun 12 Jan 2014 02:45:52 PM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
* pmaydell/tags/pull-cocoa-20140112:
MAINTAINERS: add myself as cocoa UI co-maintainer
ui/cocoa: Remove stray tabs
ui/cocoa: Draw black rectangle if we have no data yet
ui/cocoa: Redraw at correct size when switching surface
ui/cocoa: Fix code for starting QEMU via image file load dialog
ui/cocoa: Add ".qcow2" to extension list for image load dialog
ui/cocoa: Send warning message to stderr, not stdout
ui/cocoa: Correct typos in comments and variable names
ui/cocoa: Pass command key through to guest when VM has mousegrab
Message-id: 1389567158-31066-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 42bf25a9bf99559dd68d2b20824cd4879d5785ba
Merge: eedc1a5 5cd8a11
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jan 12 17:50:43 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140112'
into staging
target-arm queue:
* build fix for bigendian hosts
# gpg: Signature made Sun 12 Jan 2014 01:38:22 PM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
* pmaydell/tags/pull-target-arm-20140112:
arm: fix compile on bigendian host
Message-id: 1389562970-30944-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 30ef3c742526baa7910ab5023f0b85062bd85579
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Dec 16 15:17:55 2013 +0000
MAINTAINERS: add myself as cocoa UI co-maintainer
Add myself to the maintainers list for the cocoa UI; status
remains "Odd Fixes".
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1387207075-10280-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 49060c29c3751773265a405e6ceaed9d06fb4823
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 24 11:54:12 2013 +0000
ui/cocoa: Remove stray tabs
The ui/cocoa.m file has just three lines with hardcoded tabs; fix them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1387886052-27067-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 7d270b1c21c692478245b90bfac0aa54c6a8d98a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 24 02:51:47 2013 +0000
ui/cocoa: Draw black rectangle if we have no data yet
If our redraw method is called before we have any data from the guest,
then draw a black rectangle rather than leaving the window empty.
This mostly only matters when the guest machine has no framebuffer
device, but it is more in line with the behaviour of other QEMU UIs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387853507-26298-3-git-send-email-peter.maydell@xxxxxxxxxx
commit d3345a04849374af2b21d6624dd206c4444a6ffe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 24 02:51:46 2013 +0000
ui/cocoa: Redraw at correct size when switching surface
If the surface switch involved a resize, we were doing the redraw
at the old size rather than the new, because the update of
screen.width and screen.height was being done after the setFrame
method calls which triggered a redraw. Normally this isn't very
noticeable because typically after the guest triggers the window
resize it also draws something to it, which will in turn cause
us to redraw. However, the combination of a guest which never
draws to the display and a command line setting of a screen size
larger than the default can reveal odd effects.
Move most of the handling of resizes to the top of the method,
and guard it with a check that the surface size actually changed,
to avoid unnecessary operations (including some user visible ones
like "recenter the window on the screen") if the surface is the
same size as the old one.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387853507-26298-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 98db429d2c6d157b7e00e3f24b6b1d9036f5e358
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:06 2013 +0000
ui/cocoa: Fix code for starting QEMU via image file load dialog
Fix a number of bugs in the code for starting QEMU via the image
file load dialog:
* use the actual argv[0] rather than "qemu": this avoids failures to
find BIOS image files caused by not looking in the correct directory
relative to the executable path
* allocate a large enough argv array to NULL terminate it
* use g_strdup(X) rather than g_strdup_printf("%s", X) or
g_strdup_printf(X)
* disable the printing of the simulated command line argument
(which is presumably intended for debug only)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-6-git-send-email-peter.maydell@xxxxxxxxxx
commit 5342f990f46512487e3e5be1047a5b424f00d255
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:05 2013 +0000
ui/cocoa: Add ".qcow2" to extension list for image load dialog
Add ".qcow2" to the list of file extensions which are accepted
by the initial disk image load dialog which is displayed if the
user runs QEMU without any command line arguments.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 01cc4e6fd7d364c6c401c579d504d82c0523d67e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:04 2013 +0000
ui/cocoa: Send warning message to stderr, not stdout
Bring a warning message into line with the others in this file by
sending it to stderr, not stdout.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 49b9bd4dccac26178a4796367e4358bd67f4f59b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:03 2013 +0000
ui/cocoa: Correct typos in comments and variable names
Fix various non-user-visible typos in comments and variable names.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1386543546-31919-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 8895919a044e9e8111faebabacaa2245d8ce4e51
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:02 2013 +0000
ui/cocoa: Pass command key through to guest when VM has mousegrab
The guest might want to be able to use the command key for its won
purposes (as command if it is MacOS X, or for the Windows key if
it is a PC guest, for instance). In line with other UI frontends,
pass it through if the guest has mousegrab, and only use it for UI
menu accelerators if not grabbed.
Thanks to John Arbuckle for reporting this problem, helping
us work through what the best solution would be and providing
a patch which was the initial inspiration for this one.
Reported-by: John Arbuckle <programmingkidx@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 5cd8a11834d1fbb12439604ff6793b9f0bae4a15
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sun Jan 12 21:37:37 2014 +0000
arm: fix compile on bigendian host
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fbb9c590cacf1cefb516f523427a920c2fe8c135
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Jan 12 07:52:44 2014 +0000
Update OpenBIOS images
Update OpenBIOS images to SVN r1246 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit eedc1a5db5e4d941e39e54344322c0b1e89dfdcd
Merge: debe40f 8a1bd29
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:05:17 2014 -0800
Merge remote-tracking branch 'bonzini/scsi-next' into staging
* bonzini/scsi-next:
scsi-disk: add UNMAP limits to block limits VPD page
block/iscsi: use a bh to schedule co reentrance
Message-id: 1387720926-11421-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit debe40fbc5f112672d0ab8f7f393e483304059f4
Merge: d181976 18da7f9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:05:05 2014 -0800
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
commit: Remove unused check
qemu-iotests: Update test cases for commit active
commit: Support commit active layer
block: Add commit_active_start()
mirror: Move base to MirrorBlockJob
mirror: Don't close target
qemu-iotests: drop duplicate virtio-blk initialization failure
vmdk: Allow vmdk_create to work with protocol
vmdk: Check VMFS extent line field number
docs: updated qemu-img man page and qemu-doc to reflect VHDX support.
block: vhdx - improve error message, and .bdrv_check implementation
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
qapi-schema: fix QEMU 1.8 references
dataplane: replace hostmem with memory_region_find
dataplane: change vring API to use VirtQueueElement
vring: factor common code for error exits
vring: create a common function to parse descriptors
sheepdog: fix dynamic grow for running qcow2 format
Message-id: 1387554416-5837-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d1819762fcf5d50f30df603eb606eb31bf62e29d
Merge: 4cddc7f 5bf58ab
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:04:48 2014 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi,pci,pc,fedora,virtio fixes and enhancements
This includes some Preparatory patches for cpu hotplug for q25 and memory
hotplug by Igor, tests and memory mapping change
by Laszlo and pci reset cleanup by Paolo.
There are also some fixes for fedora and virtio:
included here since they are test blockers for me.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 23 Dec 2013 08:07:18 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
* mst/tags/for_anthony:
target-arm: fix build with gcc 4.8.2
virtio: add back call to virtio_bus_device_unplugged
piix: fix 32bit pci hole
qdev: switch reset to post-order
qdev: allow both pre- and post-order vists in qdev walking functions
pci: clean up resetting of IRQs
pci: do not export pci_bus_reset
ACPI/DSDT-CPU: cleanup bogus comment
ACPI: Q35 DSDT: fix CPU hotplug GPE0.2 handler
acpi: ich9: allow guest to clear SCI rised by GPE
acpi: factor out common pm_update_sci() into acpi core
acpi: piix4: remove not needed GPE0 mask
i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash
i440fx-test: generate temporary firmware blob
i440fx-test: give each GTest case its own qtest
i440fx-test: qtest_start() should be paired with qtest_end()
hw/i386/pc_sysfw: support two flash drives
pc_piix: document gigabyte_align
piix: gigabyte alignment for ram
Message-id: 1387815007-1272-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4cddc7f44ff83ff3545059f1b8648b8bd7fe0e72
Merge: 62a6a1f d024d20
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:04:31 2014 -0800
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* TLB invalidation optimizations
* X86CPU initialization cleanups
* Preparations for X86CPU hot-unplug
# gpg: Signature made Tue 24 Dec 2013 04:51:52 AM PST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 174F 0347 1BCC 221A 6175 6F96 FA2E D12D 3E7E
013F
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Cleanup 'foo=val' feature handling
target-i386: Cleanup 'foo' feature handling
target-i386: Convert 'check' and 'enforce' to static properties
target-i386: Convert 'hv_spinlocks' to static property
target-i386: Convert 'hv_vapic' to static property
target-i386: Convert 'hv_relaxed' to static property
cpu-exec: Optimize X86CPU usage in cpu_exec()
target-i386: Move apic_state field from CPUX86State to X86CPU
cputlb: Tidy memset() of arrays
cputlb: Use memset() when flushing entries
commit 62a6a1fb895b881a938426fadb808f78a86ee222
Merge: 205b6b6 096fc76
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 10:48:46 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140107'
into staging
target-arm queue:
* further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported.
* cadence UART model fixes.
* some minor bug fixes and cleanups.
* all the softfloat fixes required by the new A64 instructions;
several of these will also be used by PPC.
* pmaydell/tags/pull-target-arm-20140107: (61 commits)
target-arm: A64: Add support for FCVT between half, single and double
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
target-arm: A64: Add floating-point<->integer conversion instructions
target-arm: A64: Add floating-point<->fixed-point instructions
target-arm: A64: Add extra VFP fixed point conversion helpers
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
target-arm: Rename A32 VFP conversion helpers
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
softfloat: Add support for ties-away rounding
softfloat: Refactor code handling various rounding modes
softfloat: Add float16 <=> float64 conversion functions
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
softfloat: Provide complete set of accessors for fp state
softfloat: Fix float64_to_uint32_round_to_zero
softfloat: Fix float64_to_uint32
softfloat: Fix float64_to_uint64_round_to_zero
softfloat: Add float32_to_uint64()
softfloat: Fix factor 2 error for scalbn on denormal inputs
softfloat: Only raise Invalid when conversions to int are out of range
softfloat: Fix float64_to_uint64
...
Conflicts:
target-arm/cpu.h
aliguori: resolved trivial conflict
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 205b6b617519d53f17ef2158ff18cb0fe50f5d6c
Merge: 1d327fb f0116c5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 10:47:30 2014 -0800
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
* riku/linux-user-for-upstream:
linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
linux-user: Support the accept4 socketcall
Message-id: 1389364137-23287-1-git-send-email-riku.voipio@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f0116c5458dc3be398ee7ef8daeaa02ba738bdc1
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Thu Jan 9 09:10:50 2014 +0000
linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
The regs parameter is not used anywhere, so remove it.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit b9d36eb2c7d73875ef44182f18d625f1bc4c7fda
Author: André Hentschel <nerv@xxxxxxxxxxx>
Date: Mon Jan 6 20:18:52 2014 +0100
linux-user: Support the accept4 socketcall
Cc: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: André Hentschel <nerv@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Reviewed-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1d327fb4c72b898f7500989f3e624b7349581159
Merge: 074dcc2 2a13f99
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 13:56:27 2014 -0800
Merge remote-tracking branch 'otubo/seccomp' into staging
* otubo/seccomp:
seccomp: exit if seccomp_init() fails
Message-id: 1387565447-24241-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 074dcc228a92de8285ada7d7a0f14549de7aacaa
Merge: c06f13c 7826163
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 13:44:00 2014 -0800
Merge remote-tracking branch 'rth/ldst-i386-2' into staging
* rth/ldst-i386-2: (49 commits)
target-i386: Tidy ljmp
target-i386: Rename gen_op_jmp_T0 to gen_op_jmp_v
target-i386: Tidy some size computation
target-i386: Remove gen_op_mov_reg_A0
target-i386: Remove gen_op_mov_TN_reg
target-i386: Remove gen_op_addl_T0_T1
target-i386: Remove gen_op_mov_reg_T1
target-i386: Remove gen_op_mov_reg_T0
target-i386: Tidy cpu_regs initialization
target_i386: Clean up gen_pop_T0
target-i386: Combine gen_push_T* into gen_push_v
target-i386: Tidy addr16 code in gen_lea_modrm
target-i386: Change dflag to TCGMemOp
target-i386: Change gen_op_mov_reg_A0 size parameter to TCGMemOp
target-i386: Change aflag to TCGMemOp
target-i386: Change gen_op_j*z_ecx size parameter to TCGMemOp
target-i386: Change gen_op_add_reg_* size parameter to TCGMemOp
target-i386: Use TCGMemOp for 'ot' variables
target-i386: Remove gen_op_andl_A0_ffff
target-i386: Remove gen_op_movl_T0_T1
...
Message-id: 1389128439-10067-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c06f13c6da306180e9531114570d7800357f7446
Merge: 666eb03 11c308b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 11:24:48 2014 -0800
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM infrastructure fixes and device conversions
* QOM interface fixes and unit test
* Device no_user sanitization and documentation
* Device error reporting improvement
* Conversion of APIC, ICC, IOAPIC to QOM realization model
# gpg: Signature made Tue 24 Dec 2013 09:04:05 AM PST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 174F 0347 1BCC 221A 6175 6F96 FA2E D12D 3E7E
013F
* afaerber/tags/qom-devices-for-anthony: (24 commits)
qdev-monitor: Improve error message for -device nonexistant
ioapic: QOM'ify ioapic
ioapic: Cleanup for QOM'ification
icc_bus: QOM'ify ICC
apic: QOM'ify APIC
apic: Cleanup for QOM'ification
qdev: Drop misleading qbus_free() function
qom: Detect bad reentrance during object_class_foreach()
tests: Test QOM interface casting
qom: Do not register interface "types" in the type table and fix names
qom: Split out object and class caches
qdev: Document that pointer properties kill device_add
hw: cannot_instantiate_with_device_add_yet due to pointer props
qdev-monitor: Avoid device_add crashing on non-device driver name
qdev: Do not let the user try to device_add when it cannot work
isa: Clean up use of cannot_instantiate_with_device_add_yet
vt82c686: Clean up use of cannot_instantiate_with_device_add_yet
piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet
ich9: Document why cannot_instantiate_with_device_add_yet
pci-host: Consistently set cannot_instantiate_with_device_add_yet
...
commit 666eb032d34961a06713049c56361179903527e4
Merge: b61740d 5862ad0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 11:24:12 2014 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
* mjt/trivial-patches:
acpi unit-test: Remove temporary disk after test
mainstone: Fix duplicate array values for key 'space'
pxa27x: Add 'const' attribute to keyboard maps
pxa27x: Reduce size of keyboard matrix mapping
doc: Mention chardev:id in available devices for -serial
configure: Python tests must be done before help message
configure: Rewrite code for help message
fix -boot strict regressed in commit 6ef4716
vl: make boot_strict variable static (not used outside vl.c)
x86: only allow real mode to access 32bit without LMA
linux-user: Use macro TARGET_NSIG_WORDS where possible
exynos4210: Use macro ARRAY_SIZE where possible
ui/cocoa: Use macro ARRAY_SIZE where possible
misc: Use macro ARRAY_SIZE where possible
openrisc: Fix spelling in comment (transaltion -> translation)
hw/arm/highbank: Simplify code (memory region in device state)
Message-id: 1388182050-10270-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b61740dbef8d1c8fda8a0f46ecb617e6e865e9e2
Merge: f976b09 8900aad
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 11:23:49 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140108'
into staging
target-arm queue:
* further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported.
* cadence UART model fixes.
* some minor bug fixes and cleanups.
* all the softfloat fixes required by the new A64 instructions;
several of these will also be used by PPC.
# gpg: Signature made Wed 08 Jan 2014 11:25:12 AM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
* pmaydell/tags/pull-target-arm-20140108: (76 commits)
target-arm: A64: Add support for FCVT between half, single and double
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
target-arm: A64: Add floating-point<->integer conversion instructions
target-arm: A64: Add floating-point<->fixed-point instructions
target-arm: A64: Add extra VFP fixed point conversion helpers
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
target-arm: Rename A32 VFP conversion helpers
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
softfloat: Add support for ties-away rounding
softfloat: Refactor code handling various rounding modes
softfloat: Add float16 <=> float64 conversion functions
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
softfloat: Provide complete set of accessors for fp state
softfloat: Fix float64_to_uint32_round_to_zero
softfloat: Fix float64_to_uint32
softfloat: Fix float64_to_uint64_round_to_zero
softfloat: Add float32_to_uint64()
softfloat: Fix factor 2 error for scalbn on denormal inputs
softfloat: Only raise Invalid when conversions to int are out of range
softfloat: Fix float64_to_uint64
...
Message-id: 1389209439-25448-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8900aad218f8f2348bcd688eacf06d6c1f66bc69
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:15 2014 +0000
target-arm: A64: Add support for FCVT between half, single and double
Add support for FCVT between half, single and double precision.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9b0848d944aab124f03cedc8f54c3940450f3b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
This patch adds support for those instructions in the "Floating-point
data-processing (1 source)" group which are simple 32-bit-to-32-bit
or 64-bit-to-64-bit operations (ie everything except FCVT between
single/double/half precision).
We put the new round-to-int helpers in helper.c because they will
also be used by the new ARMv8 A32/T32 rounding instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches,
updated to new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: reworked decode, split FCVT out into their own patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c436d40614ccfa756bbf3d7448356889ede825fb
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->integer conversion instructions
Add support for the AArch64 floating-point <-> integer conversion
instructions to disas_fpintconv. In the process we can rearrange
and simplify the detection of unallocated encodings a little.
We also correct a typo in the instruction encoding diagram for this
instruction group: bit 21 is 1, not 0.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 52a1f6a3abb88ab875d5a70cec1048bb05e47263
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->fixed-point instructions
This patch adds emulation for the instruction group labeled
"Floating-point <-> fixed-point conversions" in the ARM ARM.
Namely this includes the instructions SCVTF, UCVTF, FCVTZS, FCVTZU
(scalar, fixed-point).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased, updated to new infrastructure.
Applied bug fixes from Michael Matz and Janne Grunau.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: significant cleanup]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c6a074a08ed3797624d4fb667564b9f3487eeaa
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add extra VFP fixed point conversion helpers
Define the full set of floating point to fixed point conversion
helpers required to support AArch64.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit abe66f702cac88fd6b1ccdca5d6f0c57f814ab0f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
The VFP fixed point conversion helpers first call float_scalbn and
then convert the result to an integer. This scalbn operation may
set floating point exception flags for:
* overflow & inexact (if it overflows to infinity)
* input denormal squashed to zero
* output denormal squashed to zero
Of these, we only care about the input-denormal flag, since
the output of the whole scale-and-convert operation will be
an integer (so squashed-output-denormal and overflow don't
apply). Suppress the others by saving the pre-scalb exception
flags and only copying across a potential input-denormal flag.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 16d5b3caca11360fd1d706403221c7bef40aa6f6
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Rename A32 VFP conversion helpers
The VFP conversion helpers for A32 round to zero as this is the only
rounding mode supported. Rename these helpers to make it clear that
they round to zero and are not suitable for use in the AArch64 code.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8ed697e88b7ead01edca6bf762921b962c265c82
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
Make the VFP_CONV_FIX helpers a little more flexible in
preparation for the A64 uses. This requires two changes:
* use the correct softfloat conversion function based on itype
rather than always the int32 one; this is possible now that
softfloat provides int16 versions and necessary for the
future conversion-to-int64 A64 variants. This also allows
us to drop the awkward 'sign' macro argument.
* split the 'fsz' argument which currently controls both
width of the input float type and width of the output
integer type into two; this will allow us to specify the
A64 64-bit-int-to-single conversion function, where the
two widths are different.
We can also drop the (itype##_t) cast now that softfloat
guarantees that all the itype##_to_float* functions take
an integer argument of exactly the correct type.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f9288a76f1819c2dbf8d2873aebab6aec0f461f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add support for ties-away rounding
IEEE754-2008 specifies a new rounding mode:
"roundTiesToAway: the floating-point number nearest to the infinitely
precise result shall be delivered; if the two nearest floating-point
numbers bracketing an unrepresentable infinitely precise result are
equally near, the one with larger magnitude shall be delivered."
Implement this new mode (it is needed for ARM). The general principle
is that the required code is exactly like the ties-to-even code,
except that we do not need to do the "in case of exact tie clear LSB
to round-to-even", because the rounding operation naturally causes
the exact tie to round up in magnitude.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc355b764de890e1b5872d0b402dccfd9a9b5286
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Refactor code handling various rounding modes
Refactor the code in various functions which calculates rounding
increments given the current rounding mode, so that instead of a
set of nested if statements we have a simple switch statement.
This will give us a clean place to add the case for the new
tiesAway rounding mode.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 14c9a07eb9cae3d3bc1d39cc8815dd88337ce07a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add float16 <=> float64 conversion functions
Add the conversion functions float16_to_float64() and
float64_to_float16(), which will be needed for the ARM
A64 instruction set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c4a1c5e7e2fae28ef3fde2aadf7ec6fed0a5a967
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and
NormalizeFloat16Subnormal along the lines of the existing versions
for the other float types.
Note that we change the handling of zExp from the inline code
to match the API of the other RoundAndPackFloat functions; however
we leave the positioning of the binary point between bits 22 and 23
rather than shifting it up to the high end of the word.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 879d096b37b1233fec334bc2c2f569ac3b8fec9a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Provide complete set of accessors for fp state
Tidy up the get/set accessors for the fp state to add missing ones
and make them all inline in softfloat.h rather than some inline and
some not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fd728f2f949273563f799640b863b4b94dc4c6da
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32_round_to_zero
The float64_to_uint32_round_to_zero routine is incorrect.
For example, the following test pattern:
425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
will erroneously set the inexact flag.
This patch re-implements the routine to use the
float64_to_uint64_round_to_zero
routine. If saturation occurs we ignore any flags set by the
conversion function and raise only Invalid.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-6-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e7f654fa152de246f2254707bacac31ba50c660
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32
The float64_to_uint32 has several flaws:
- for numbers between 2**32 and 2**64, the inexact exception flag
may get incorrectly set. In this case, only the invalid flag
should be set.
test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
- for numbers between 2**63 and 2**64, incorrect results may
be produced:
test pattern: 43EAAF73F1F0B8BD / 0x1.aaf73f1f0b8bdp+63
This patch re-implements float64_to_uint32 to re-use the
float64_to_uint64 routine (instead of float64_to_int64). For the
saturation case, we ignore any flags which the conversion routine
has set and raise only the invalid flag.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-5-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a87a3107dad97abff5b06558b0cce6832229086
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix float64_to_uint64_round_to_zero
The float64_to_uint64_round_to_zero routine is incorrect.
For example, the following test pattern:
46697351FF4AEC29 / 0x1.97351ff4aec29p+103
currently produces 8000000000000000 instead of FFFFFFFFFFFFFFFF.
This patch re-implements the routine to temporarily force the
rounding mode and use the float64_to_uint64 routine.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-4-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2f18bbf9844ad110e0e69ad22708f37cab1557f6
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Add float32_to_uint64()
This patch adds the float32_to_uint64() routine, which converts a
32-bit floating point number to an unsigned 64 bit number.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[PMM: removed harmless but silly int64_t casts]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c85c37f254bdfaea4e105b5014a287b5cf9514b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix factor 2 error for scalbn on denormal inputs
If the input to float*_scalbn() is denormal then it represents
a number 0.[mantissabits] * 2^(1-exponentbias) (and the actual
exponent field is all zeroes). This means that when we convert
it to our unpacked encoding the unpacked exponent must be one
greater than for a normal number, which represents
1.[mantissabits] * 2^(e-exponentbias) for an exponent field e.
This meant we were giving answers too small by a factor of 2 for
all denormal inputs.
Note that the float-to-int routines also have this behaviour
of not adjusting the exponent for denormals; however there it is
harmless because denormals will all convert to integer zero anyway.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 34e1c27bc3094ffe484d9855e07ad104bddf579f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Only raise Invalid when conversions to int are out of range
We implement a number of float-to-integer conversions using conversion
to an integer type with a wider range and then a check against the
narrower range we are actually converting to. If we find the result to
be out of range we correctly raise the Invalid exception, but we must
also suppress other exceptions which might have been raised by the
conversion function we called.
This won't throw away exceptions we should have preserved, because for
the 'core' exception flags the IEEE spec mandates that the only valid
combinations of exception that can be raised by a single operation are
Inexact + Overflow and Inexact + Underflow. For the non-IEEE softfloat
flag for input denormals, we can guarantee that that flag won't have
been set for out of range float-to-int conversions because a squashed
denormal by definition goes to plus or minus zero, which is always in
range after conversion to integer zero.
This bug has been fixed for some of the float-to-int conversion routines
by previous patches; fix it for the remaining functions as well, so
that they all restore the pre-conversion status flags prior to raising
Invalid.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fb3ea83aa53cead46465c74ddd1872babe9f4a3e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Fix float64_to_uint64
The comment preceding the float64_to_uint64 routine suggests that
the implementation is broken. And this is, indeed, the case.
This patch properly implements the conversion of a 64-bit floating
point number to an unsigned, 64 bit integer.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c4850f9e1b9cef2ac35cd6e6f3d8d2147787740c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Make the int-to-float functions take exact-width types
Currently the int-to-float functions take types which are specified
as "at least X bits wide", rather than "exactly X bits wide". This is
confusing and unhelpful since it means that the callers have to include
an explicit cast to [u]intXX_t to ensure the correct behaviour. Fix
them all to take the exactly-X-bits-wide types instead.
Note that this doesn't change behaviour at all since at the moment
we happen to define the 'int32' and 'uint32' types as exactly 32 bits
wide, and the 'int64' and 'uint64' types as exactly 64 bits wide.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8afbdabac2a1bdc137691c46965ef8c490cb5e44
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Add 16 bit integer to float conversions
Add the float to 16 bit integer conversion routines. These can be
trivially implemented in terms of the int32_to_float* routines, but
providing them makes our API more symmetrical and can simplify callers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f581bf5474d2319ca37484eb63208017ac96ce0a
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:17:48 2014 +0000
softfloat: Add float to 16bit integer conversions.
ARMv8 requires support for converting 32 and 64bit floating point
values to signed and unsigned 16bit integers.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: updated not to incorrectly set Inexact for Invalid inputs]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 38970efafdfa8a992c177563c4f0d77062b88fd9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 6 11:47:21 2014 +0000
softfloat: Fix exception flag handling for float32_to_float16()
Our float32 to float16 conversion routine was generating the correct
numerical answers, but not always setting the right set of exception
flags. Fix this, mostly by rearranging the code to more closely
resemble RoundAndPackFloat*, and in particular:
* non-IEEE halfprec always raises Invalid for input NaNs
* we need to check for the overflow case before underflow
* we weren't getting the tininess-detected-after-rounding
case correct (somewhat academic since only ARM uses halfprec
and it is always tininess-detected-before-rounding)
* non-IEEE halfprec overflow raises only Invalid, not
Invalid + Inexact
* we weren't setting Inexact when we should
Also add some clarifying comments about what the code is doing.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9df90ad078ec782d1339bd6879b6ea117f9759f7
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:33 2013 -0800
hw: arm_gic: Introduce gic_set_priority function
To make the code slightly cleaner to look at and make the save/restore
code easier to understand, introduce this function to set the priority of
interrupts.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-3-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 04050c5c6aa6f9c086a63a30b182b996fb2d3d02
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:32 2013 -0800
arm_gic: Rename GIC_X_TRIGGER to GIC_X_EDGE_TRIGGER
TRIGGER can really mean mean anything (e.g. was it triggered, is it
level-triggered, is it edge-triggered, etc.). Rename to EDGE_TRIGGER to
make the code comprehensible without looking up the data structure.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-2-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7b1aa025bdd8a62b203eb0a936e20af424fa2870
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 23 16:52:16 2013 +0200
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function
â??aarch64_cpu_register_typesâ??:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 20131223145216.GA22663@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7fcd57e80d134deb925aa47934040a39fd5fa1e0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Jan 3 17:58:43 2014 -0800
arm/xilinx_zynq: Always instantiate the GEMs
Don't conditionalise GEM instantiation on networking attachments. The
device should always be present even if not attached to a network.
This allows for probing of the device by expectant guests (such as
OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)
is not self identifying so the guest has no dynamic way of detecting
device absence.
Also allows for testing of the GEM in loopback mode with -net none.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
55649779a68ee3ff54b24c339b6fdbdccd1f0ed7.1388800598.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit afb2530fe328079b3e4355fda9751a1dd9ef6ffb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 23:58:20 2014 -0800
target-arm: remove raw_read|write duplication
There is an inline duplication of the raw_read and raw_write function
bodies. Fix by just calling raw_read/raw_write instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e69281b7e1462b346cb313cf0b89eedc0568125f.1388649290.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a4f0cec6c9da10c5998fdd53845baf2ce6105830
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Fri Dec 20 10:33:11 2013 +0400
target-arm: use c13_context field for CONTEXTIDR
Use c13_context field instead of c13_fcse for CONTEXTIDR register
definition.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387521191-15350-1-git-send-email-s.fedorov@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 38acd64b1cc8b9589e155d16ba4a0ccf9dc95ae4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Implement Tx flow control
If the UART back-end blocks, buffer in the Tx FIFO to try again later.
This stops the IO-thread busy waiting on char back-ends (which causes
all sorts of performance problems).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
4bea048b3ab38425701d82ccc1ab92545c26b79c.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1e5d8cacb7fe509aa793ad844105fbc4fe02e015
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Delete redundant rx rst logic
uart_rx_reset() called immediately above already does this. Remove.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
05e30826496cf2579084ed801ac0b2c0d0a3071f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 86baecc3e43510c3bef03a0d7e947221823864d3
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Use the TX fifo for transmission
Populate the TxFIFO with the Tx data before sending. Prepares
support for proper Tx flow control implementation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
bdf7f8af2ef02839bea18665701bc2612f7baa6f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d0ac820fe4152ea3a57fc3fa9f732cc9524017a4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Fix can_receive logic
The can_receive logic was only taking into account the RxFIFO
occupancy. RxFIFO population is only used for the echo and normal modes
however. Improve the logic to correctly return the true number of
receivable characters based on the current mode:
Normal mode: RxFIFO vacancy.
Remote loopback: TxFIFO vacancy.
Echo mode: The min of the TxFIFO and RxFIFO vacancies.
Local Loopback: Return non-zero (to implement droppage)
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
36a58440c9ca5080151e95765c2c81342de8a8df.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2152e08ad12180f307bc5b838134ab745767d2e5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Remove TX timer & add TX FIFO state
This tx timer implementation is flawed. Despite the controller
attempting to time the guest visable assertion of the TX-empty status
bit (and corresponding interrupt) the controller is still transmitting
characters instantaneously. There is also no sense of multiple character
delay.
The only side effect of this timer is assertion of tx-empty status. So
just remove the timer completely and hold tx-empty as permanently
asserted (its reset status). This matches the actual behaviour of
instantaneous transmission.
While we are VMSD version bumping, add the tx_fifo as device state to
prepare for upcomming TxFIFO flow control. Implement the interrupt
generation logic for the TxFIFO occupancy.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7a208a7eb8d79d6429fe28b1396c3104371807b2.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 11a239a51ccbf27a22e2aa5f423ff1d6f5df65a7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Define Missing SR/ISR fields
Some (interrupt) status register bits relating to the TxFIFO path were
not defined. Define them. This prepares support for proper Tx data path
flow control.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2068b963f0af8cc834c353944e9fa816d950b163.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 676f4c095d53841626b1ee2cbc7a53b4f6239e4e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Simplify status generation
The status register bits are always pure functions of other device
state. Move the generation of these bits to the update_status()
function to simplify. Makes developing much easier as theres now no need
to recheck status bits on all the changes to rx/tx fifo state.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
321994929f789096975104f99c55732774be4cae.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1e77c91e2422ffa366fa5a0a39a6e7cc24a102ca
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: s/r_fifo/rx_fifo
Rename this field to match the many other uses of "rx". Xilinx
docmentation (UG585) also refers to this as "RxFIFO".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7386d7cee0ea175f7e53ed5ff045265528d34e32.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 823dd48761a668c8e787cb9cf07234b656a05926
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Fix reset.
Don't reset the uart as an init step. Register the reset function as a
proper reset fn instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
d82cd2e65e5a6f8b6deeecb6cced61f0bf3f8c89.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 589bfb6888385ae1767fe2f94528f2dacf59509a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Add missing uart_update_state
This should be rechecked on bus write accesses as such accesses may
change the underlying state that generates the interrupt. Particular
relevant for when the guest touches the interrupt status or mask.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1c250cd61b7b8de492fbc8b79b8370958a56d83b.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 059ca2bf0d882349aa002e10e3769d25cb923eb4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Mark struct fields as public/private
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
a1e31bd62e9709ffb9b3efc6c120f83f30b7a660.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4d3da0f3aa5a5d0cbdb17ad49f1baf3cf1bd95a1
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: Give the FPSCR rounding modes names
When setting rounding modes we currently just hardcode the numeric values
for rounding modes in a big switch statement.
With AArch64 support coming, we will need to refer to these rounding modes
at different places throughout the code though, so let's better give them
names so we don't get confused by accident.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, use names from ARM ARM.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5640ff62c9668651beae0a438540040fd9ee05b5
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point cond select
This adds decoding support for C3.6.24 FP conditional select.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 513f1d762f12a4cfdb6cfd59db5f2fb434db60ec
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point conditional compare
This adds decoding support for C3.6.23 FP Conditional Compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit da7dafe7ee9372322f926834ca7c0532822ad415
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add support for floating point compare
Add decoding support for C3.6.22 Floating-point compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6163f868c9284a204ea108238f1812ad50c6bf17
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add fmov (scalar, immediate) instruction
This patch adds emulation for the fmov instruction working on scalars
with an immediate payload.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebase and use new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a30667fb77601b47501172218c7eabd0086c375
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (3 source)" insns
This patch adds emulation for the "Floating-point data-processing (3
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches.
Implement using muladd as suggested by Richard Henderson.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: pull field decode up a level, use register accessors]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ec73d2e096df1848cbd4255ed2b69954498085aa
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (2 source)" insns
This patch adds emulation for the "Floating-point data-processing (2
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merge single and double precision patches.
Rebase
and update to new infrastructure. Incorporate FMIN/FMAX support patch by
Michael Matz.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM:
* added convenience accessors for FP s and d regs
* pulled the field decode and opcode validity check up a level]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f71a2ae50e728f775446302d84e509bf0af43899
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum
Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e2f90565e7b3e2824fffcfcbcecf86205a1f14e2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Fix vector register access on bigendian hosts
The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account
for whether the host is bigendian or not. Provide utility
functions to abstract away the offsetof() calculations for
the FP registers.
For do_fp_st() we can sidestep most of the issues for 64 bit
and smaller reg-to-mem transfers by always doing a 64 bit
load from the register and writing just the piece we need
to memory.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f6d8a31440c523de15f88a186b9e6daacab17054
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Add support for dumping AArch64 VFP register state
When dumping the current CPU state, we can also get a request
to dump the FPU state along with the CPU's integer state.
Add support to dump the VFP state when that flag is set, so that
we can properly debug code that modifies floating point registers.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased. Output all registers, two per-line.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 13a7f79dfea84ddb9ff1132bf87583bdda93182d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
default-configs: Add config for aarch64-linux-user
Add a config for aarch64-linux-user, thereby enabling it as
a valid target.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 08aef910d9398ba488455dbb553a8253dc24a333
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
.travis.yml: Add aarch64-* targets
Now the AArch64 targets are in mainline we can include them in our
Travis test matrix.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e0ee138bf241ca493afe1419d578584b8be05c29
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
linux-user: AArch64: Use correct values for FPSR/FPCR in sigcontext
Use the helpers provided for getting the correct FPSR and FPCR
values for the signal context.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1b69f006bff89e5e4710dd04be85277aab8856bf
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
linux-user: AArch64: define TARGET_CLONE_BACKWARDS
The AArch64 linux-user support was written before but merged after
commit 4ce6243dc621 which cleaned up the handling of the clone()
syscall argument order, so we failed to notice that AArch64 also needs
TARGET_CLONE_BACKWARDS to be defined. Add this define so that clone
and fork syscalls work correctly.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fa2ef212dff8556ea92c4aef54b57efec69ca6fe
Author: Michael Matz <matz@xxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: A64: support for ld/st/cl exclusive
This implement exclusive loads/stores for aarch64 along the lines of
arm32 and ppc implementations. The exclusive load remembers the address
and loaded value. The exclusive store throws an an exception which uses
those values to check for equality in a proper exclusive region.
This is not actually the architecture mandated semantics (for either
AArch32 or AArch64) but it is close enough for typical guest code
sequences to work correctly, and saves us from having to monitor all
guest stores. It's fairly easy to come up with test cases where we
don't behave like hardware - we don't for example model cache line
behaviour. However in the common patterns this works, and the existing
32 bit ARM exclusive access implementation has the same limitations.
AArch64 also implements new acquire/release loads/stores (which may be
either exclusive or non-exclusive). These imposes extra ordering
constraints on memory operations (ie they act as if they have an implicit
barrier built into them). As TCG is single-threaded all our barriers
are no-ops, so these just behave like normal loads and stores.
Signed-off-by: Michael Matz <matz@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03d05e2d0765512fb960192b6e9f9a41c47282bd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: Widen exclusive-access support struct fields to 64 bits
In preparation for adding support for A64 load/store exclusive
instructions,
widen the fields in the CPU state struct that deal with address and data
values
for exclusives from 32 to 64 bits. Although in practice AArch64 and
AArch32
exclusive accesses will be generally separate there are some odd
theoretical
corner cases (eg you should be able to do the exclusive load in AArch32,
take
an exception to AArch64 and successfully do the store exclusive there),
and it's
also easier to reason about.
The changes in semantics for the variables are:
exclusive_addr -> extended to 64 bits; -1ULL for "monitor lost",
otherwise always < 2^32 for AArch32
exclusive_val -> extended to 64 bits. 64 bit exclusives in AArch32 now
use the high half of exclusive_val instead of a separate exclusive_high
exclusive_high -> is no longer used in AArch32; extended to 64 bits as
it will be needed for AArch64's pair-of-64-bit-values exclusives.
exclusive_test -> extended to 64 bits, as it is an address. Since this
is
a linux-user-only field, in arm-linux-user it will always have the top
32 bits zero.
exclusive_info -> stays 32 bits, as it is neither data nor address, but
simply holds register indexes etc. AArch64 will be able to fit all its
information into 32 bits as well.
Note that the refactoring of gen_store_exclusive() coincidentally fixes
a minor bug where ldrexd would incorrectly update the first CPU register
even if the load for the second register faulted.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32b64e860d6e0887b3d2ad36a940c362646146f4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: aarch64: add support for ld lit
Adds support for Load Register (literal), both normal
and SIMD/FP forms.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 750813cfaa971bd8679d9f77b8bd21d316871f51
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for conditional compare insns
this patch adds support for C3.5.4 - C3.5.5
Conditional compare (both immediate and register)
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 643dbb07d26d100487ea87153d5222674bf482d8
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for add/sub with carry
This patch adds support for C3.5.3 Add/subtract (with carry):
instructions ADC, ADCS, SBC, SBCS.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7826163492b306d99680f9fd5e46720404d902f0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 09:38:07 2013 +1000
target-i386: Tidy ljmp
Remove an unnecessary move opcode.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 74bdfbda5537452c59db64fab42179f01d0436b9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 09:33:53 2013 +1000
target-i386: Rename gen_op_jmp_T0 to gen_op_jmp_v
And make the destination argument explicit.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 830a19a425e7b513cd08eb1f8aa58dfc7e9d0d48
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 09:13:27 2013 +1000
target-i386: Tidy some size computation
Clean up relics of multiple size domains: - MO_16 + 1 => - 1 + 1 => 0.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 33b7891bd5ea08e22aac755a145cb5c9afd2f86c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:54:33 2013 +1000
target-i386: Remove gen_op_mov_reg_A0
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c56baccf67c0251ce4480ecc6f72e3511add8b5e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:52:13 2013 +1000
target-i386: Remove gen_op_mov_TN_reg
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fd5185ecccb1ee0893dcd37324e8db96f876f866
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:46:59 2013 +1000
target-i386: Remove gen_op_addl_T0_T1
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 68773f84dcedf5971bf756d0b13fa7c99049ed21
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:43:50 2013 +1000
target-i386: Remove gen_op_mov_reg_T1
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 480a762d1795487e893918c5eb47124f275b4312
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:41:38 2013 +1000
target-i386: Remove gen_op_mov_reg_T0
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fac0aff9f3f2bb23e597ff0dad92d8eee6916c8f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 16:38:38 2013 +1000
target-i386: Tidy cpu_regs initialization
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8e31d234b224634729d02b58a8faf364a574e5d7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 13:57:45 2013 +1000
target_i386: Clean up gen_pop_T0
Reduce ifdefs, share more code between paths, reduce the number of TCG
ops generated. Avoid re-computing the size of the operation across
gen_pop_T0 and gen_pop_update.
Add forgotten zero-extension in the TARGET_X86_64, !CODE64, ss32 case.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 432baffe15c18af576232f22ada2f4dec88ad74a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 13:19:04 2013 +1000
target-i386: Combine gen_push_T* into gen_push_v
Reduce ifdefs, share more code between paths, reduce the number of TCG
ops generated.
Add forgotten zero-extension in the TARGET_X86_64, !CODE64, ss32 case.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7effd62514fa42c3c6c9be15a97c98a5f76748b7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 11:34:38 2013 +1000
target-i386: Tidy addr16 code in gen_lea_modrm
Unlike the addr32, there was no bug. But we can use the same
technique to reduce the number of TCG ops.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ab4e4aec78657138312948359055e20f6266bd17
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 09:37:57 2013 +1000
target-i386: Change dflag to TCGMemOp
Changing the domain to TCGMemOp makes it easier to interoperate
with other portions of the rest of the translator.
We now only have one domain for size operands inside the translator,
which makes things less confusing all the way around. There are
still a number of helpers that continue to use the log2-1 domain.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6f17675a9c14125af544948791a26e3d8033e2b0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 09:34:20 2013 +1000
target-i386: Change gen_op_mov_reg_A0 size parameter to TCGMemOp
Change the domain of the parameter and update all callers.
Which lets us defer completely to gen_op_mov_reg_v.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d71ddb1c28f58e1065386725634ed36ae1d665f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 08:27:33 2013 +1000
target-i386: Change aflag to TCGMemOp
Changing the domain to TCGMemOp makes it easier to interoperate
with other portions of the rest of the translator.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c92aa1addeae7e3fe6876dd3dff7978f1d3449d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 07:50:53 2013 +1000
target-i386: Change gen_op_j*z_ecx size parameter to TCGMemOp
Change the domain of the parameter and update all callers.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3f4bbe3318da00f5923ad5c9b60075f8a1cc073
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 07:44:57 2013 +1000
target-i386: Change gen_op_add_reg_* size parameter to TCGMemOp
These functions used the aflags/dflags domain, which is log2-1
of the byte size. Confusingly, they used enumeration values
from the log2 domain.
Change the domain of the parameter and update all callers.
Since we're now in a common domain, defer the deposit/extend/mov
decision to gen_op_mov_reg_v.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d67dc9e6194dec1f9b361b94ada6c567d6099f39
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 07:25:05 2013 +1000
target-i386: Use TCGMemOp for 'ot' variables
The 'ot' variables (operand type?) hold the log2(byte size) of
the operand being manipulated. This is the same as the MO_SIZE
subset of the TCGMemOp. Indeed, we often pass 'ot' to the
tcg_gen_qemu_ld/st functions.
Changing the type from 'int' makes it easier to see what domain
the variable should be.
This does require adding some default cases to some switch statements,
to avoid the 'unhandled enumeration value' warning that would result
from the change of type.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a7e5c7de2a634cbf7b528659c5e8a25818c5b92e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:38:58 2013 +1000
target-i386: Remove gen_op_andl_A0_ffff
Replace it with tcg_gen_ext16u_tl, and in two cases merge with a
previous move from cpu_regs.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2b98a7d75308a968472a537b215408faf0b9c628
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:29:14 2013 +1000
target-i386: Remove gen_op_movl_T0_T1
Replace it with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f0706f0c939ea751e8bb164f58594e254749b7fd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:27:09 2013 +1000
target-i386: Remove gen_op_andl_T0_im
Replace it with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 40b90233d260446a6d4099f41f0aed1b77962248
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:23:48 2013 +1000
target-i386: Remove gen_op_andl_T0_ffff
Replace it with tcg_gen_ext16u_tl. In four places we can combine that
with a previous move into cpu_T[0], and in one place we can infer that
the zero-extension has already happened via the previous load.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc0bce884b9a3cf38b5aa8a711813e7ca1c26cac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:13:44 2013 +1000
target-i386: Remove gen_movtl_T*_im
Propagate the definitions into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3250cff8e521ec361d3bda69acffa77b70f9525d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:09:00 2013 +1000
target-i386: Remove gen_op_mov*_A0_im
Propagate the definitions into all users. In two cases, this allows
us to share code between the 32-bit and 64-bit immediate moves.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ae657b11656284d5f3967c3fe9640c2a238fcd0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:58:01 2013 +1000
target-i386: Remove gen_op_movl_T0_im*
Propagate the definitions into all users. The only time that
gen_op_movl_T1_imu was used, the input was type 'unsigned',
so the replacement works identically.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1b90d56e8c46ca92f39c330a5ce38ef7f6d6ebb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:51:10 2013 +1000
target-i386: Remove gen_op_movl_T0_im*
Propagate the definition of gen_op_movl_T0_im to all users.
The function gen_op_movl_T0_imu was unused.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 97212c8844f50b3552e991e0d3305d7d69c2a99f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:37:35 2013 +1000
target-i386: Remove gen_op_movl_T0_0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a7fbcbe538518108a967306c29dbb0fe76e0b512
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:31:34 2013 +1000
target-i386: Tidy extend + move
For the known MO_32/MO_64 cases, we don't need to extend a 32-bit temp
into a 64-bit temp before storing into the hardware register.
We do need the extension for the MO_8/MO_16 cases, in order for the
deposit_tl operation to work, so leave those alone.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5601ad0235679a1b58e8975a34f63c5f039af36
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:14:33 2013 +1000
target-i386: Tidy extend + store
We can now use tcg_gen_qemu_st_i32 directly to avoid the extension.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 80b0201384f17fd6401eb11eab79ea0e5896b496
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:54:48 2013 -1000
target-i386: Tidy load + truncate
We can now use tcg_gen_qemu_ld_i32 directly to avoid the truncation.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 24b9c00fc3106a98adc0e89915584eadb092b745
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:35:30 2013 -1000
target-i386: Tidy gen_op_mov_TN_reg+tcg_gen_trunc_tl_i32
For the 16 and 32-bit cases, we don't need to truncate via
a temporary register.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3655a19fdd9891c1e3a568d77483a11b2ad70951
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:22:04 2013 -1000
target-i386: Use MO_BE for movbe
Fold the bswap into the memory operation.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4eeb3939b5b4731747cb38a9e6b8fb20062b5ef1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:55:59 2013 -1000
target-i386: Remove unused arguments to gen_lea_modrm
The reg_ptr and offset_ptr outputs are universally unused.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4b1fe0671f5f9324b570c5ec165c67b36b05e7d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:32:39 2013 -1000
target-i386: Tidy movsl
Always perform a sign-extending load. In the extremely unlikely
case that we've used an 0x66 prefix, the extension to 64-bits is
unnecessary but not wrong; the store will still examine only 16 bits.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8fbc479674d00a8f9dd63f9a9d4978c4c4b96d9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:28:40 2013 -1000
target-i386: Tidy mov[sz][bw]
We can use the MO_SIGN bit to tidy the reg-reg switch statement
as well as pass it on to gen_op_ld_v, eliminating one call.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ee3138da2f76b415cbce6466aa4083a84fc26241
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:16:45 2013 -1000
target-i386: Fix typo in gen_push_T1
By inspection, obviously we should be storing T[1] not T[0].
This could only happen for x86_64 in 64-bit mode with 0x66
prefix to call insn -- i.e. never.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b5afc104947369cd3d49de88dee8629193639b46
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:14:26 2013 -1000
target-i386: Remove gen_op_st_T1_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fd8ca9f6f5250771207f7dbe88bb804ac0b90a39
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:12:01 2013 -1000
target-i386: Remove gen_op_st_T0_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d4faa3e08a13aa70bf0d9709610ab27713167df9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:59:43 2013 -0700
target-i386: Introduce gen_op_st_rm_T0_A0
Too many places have the same test vs OR_TMP0 to indicate
a write back to memory. Hoist that to a subroutine.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc732b76fa6f30bbfc46f721d52a67d0505a1445
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:43:41 2013 -0700
target-i386: Remove gen_op_lds_T0_A0
Replace its users by gen_op_ld_v with the MO_SIGN bit set.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0f712e109becb8c0e911209967a014ce3df21a71
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:39:41 2013 -0700
target-i386: Remove gen_op_ld_T1_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc1a80dfb369974bb275387f9559eafdcb6e08eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:35:24 2013 -0700
target-i386: Remove gen_op_ldu_T0_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 909be183823febfe579766e89f9a499ff4da3e47
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:30:24 2013 -0700
target-i386: Remove gen_op_ld_T0_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4ba9938c893c040af589a7fb1265ac19a2dc43d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:54:47 2013 -0700
target-i386: Replace OT_* constants with MO_* constants
The MO_8/16/32/64 constants have the same encoding and meaning
as the OT_BYTE/WORD/LONG/QUAD. Since we rely on them being the
same, for the qemu_ld/st helpers, standardize on the common names.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 096fc768184d5e9c47ccc4dd95d9f983fa83b9e1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:15 2014 +0000
target-arm: A64: Add support for FCVT between half, single and double
Add support for FCVT between half, single and double precision.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e97db91cbf7df456a35996d7243cd0f55d23ca1a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
This patch adds support for those instructions in the "Floating-point
data-processing (1 source)" group which are simple 32-bit-to-32-bit
or 64-bit-to-64-bit operations (ie everything except FCVT between
single/double/half precision).
We put the new round-to-int helpers in helper.c because they will
also be used by the new ARMv8 A32/T32 rounding instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches,
updated to new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: reworked decode, split FCVT out into their own patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a7413385d731a97cbd45c7c4b1c2cbd73d94409
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->integer conversion instructions
Add support for the AArch64 floating-point <-> integer conversion
instructions to disas_fpintconv. In the process we can rearrange
and simplify the detection of unallocated encodings a little.
We also correct a typo in the instruction encoding diagram for this
instruction group: bit 21 is 1, not 0.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3617f86ba87a0f54b74dbaed0d92da13beb14e45
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->fixed-point instructions
This patch adds emulation for the instruction group labeled
"Floating-point <-> fixed-point conversions" in the ARM ARM.
Namely this includes the instructions SCVTF, UCVTF, FCVTZS, FCVTZU
(scalar, fixed-point).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased, updated to new infrastructure.
Applied bug fixes from Michael Matz and Janne Grunau.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: significant cleanup]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8fe2a36f33f44e9d1333c851762ac463ad528233
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add extra VFP fixed point conversion helpers
Define the full set of floating point to fixed point conversion
helpers required to support AArch64.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39905e53db75b6df0cfdb65644056a9f1cd10069
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
The VFP fixed point conversion helpers first call float_scalbn and
then convert the result to an integer. This scalbn operation may
set floating point exception flags for:
* overflow & inexact (if it overflows to infinity)
* input denormal squashed to zero
* output denormal squashed to zero
Of these, we only care about the input-denormal flag, since
the output of the whole scale-and-convert operation will be
an integer (so squashed-output-denormal and overflow don't
apply). Suppress the others by saving the pre-scalb exception
flags and only copying across a potential input-denormal flag.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6ab748af130912b92decfb1fa411ebdfd7cf8d87
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Rename A32 VFP conversion helpers
The VFP conversion helpers for A32 round to zero as this is the only
rounding mode supported. Rename these helpers to make it clear that
they round to zero and are not suitable for use in the AArch64 code.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 59af2dc86866dc14a42eec596f3d100dd3a24d1e
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
Make the VFP_CONV_FIX helpers a little more flexible in
preparation for the A64 uses. This requires two changes:
* use the correct softfloat conversion function based on itype
rather than always the int32 one; this is possible now that
softfloat provides int16 versions and necessary for the
future conversion-to-int64 A64 variants. This also allows
us to drop the awkward 'sign' macro argument.
* split the 'fsz' argument which currently controls both
width of the input float type and width of the output
integer type into two; this will allow us to specify the
A64 64-bit-int-to-single conversion function, where the
two widths are different.
We can also drop the (itype##_t) cast now that softfloat
guarantees that all the itype##_to_float* functions take
an integer argument of exactly the correct type.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dcc69632089fece07a0bb4fd859b010659569fda
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add support for ties-away rounding
IEEE754-2008 specifies a new rounding mode:
"roundTiesToAway: the floating-point number nearest to the infinitely
precise result shall be delivered; if the two nearest floating-point
numbers bracketing an unrepresentable infinitely precise result are
equally near, the one with larger magnitude shall be delivered."
Implement this new mode (it is needed for ARM). The general principle
is that the required code is exactly like the ties-to-even code,
except that we do not need to do the "in case of exact tie clear LSB
to round-to-even", because the rounding operation naturally causes
the exact tie to round up in magnitude.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 01a0b83cdb1c29a0066cfee3445a34280b3ac03a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Refactor code handling various rounding modes
Refactor the code in various functions which calculates rounding
increments given the current rounding mode, so that instead of a
set of nested if statements we have a simple switch statement.
This will give us a clean place to add the case for the new
tiesAway rounding mode.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7b378119bd67609f25bd78b714d0fab922600f40
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add float16 <=> float64 conversion functions
Add the conversion functions float16_to_float64() and
float64_to_float16(), which will be needed for the ARM
A64 instruction set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 84c6b75d8557a6e638dc72343428b0a78b66923f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and
NormalizeFloat16Subnormal along the lines of the existing versions
for the other float types.
Note that we change the handling of zExp from the inline code
to match the API of the other RoundAndPackFloat functions; however
we leave the positioning of the binary point between bits 22 and 23
rather than shifting it up to the high end of the word.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e9ef30c079354db6a8eb5bd6574b948288a55b94
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Provide complete set of accessors for fp state
Tidy up the get/set accessors for the fp state to add missing ones
and make them all inline in softfloat.h rather than some inline and
some not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2958f14d75b9c2ef9a68f41a3101884af307e4f8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32_round_to_zero
The float64_to_uint32_round_to_zero routine is incorrect.
For example, the following test pattern:
425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
will erroneously set the inexact flag.
This patch re-implements the routine to use the
float64_to_uint64_round_to_zero
routine. If saturation occurs we ignore any flags set by the
conversion function and raise only Invalid.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-6-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8d551c988e96ac4cfe462e6b34d513bba2da572f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32
The float64_to_uint32 has several flaws:
- for numbers between 2**32 and 2**64, the inexact exception flag
may get incorrectly set. In this case, only the invalid flag
should be set.
test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
- for numbers between 2**63 and 2**64, incorrect results may
be produced:
test pattern: 43EAAF73F1F0B8BD / 0x1.aaf73f1f0b8bdp+63
This patch re-implements float64_to_uint32 to re-use the
float64_to_uint64 routine (instead of float64_to_int64). For the
saturation case, we ignore any flags which the conversion routine
has set and raise only the invalid flag.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-5-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a757f1c2deb6c8eac4a75f8e817fa2d7c8cd2527
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix float64_to_uint64_round_to_zero
The float64_to_uint64_round_to_zero routine is incorrect.
For example, the following test pattern:
46697351FF4AEC29 / 0x1.97351ff4aec29p+103
currently produces 8000000000000000 instead of FFFFFFFFFFFFFFFF.
This patch re-implements the routine to temporarily force the
rounding mode and use the float64_to_uint64 routine.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-4-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 47a34e009de2f4a99862e71e1d15d178dac5f259
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Add float32_to_uint64()
This patch adds the float32_to_uint64() routine, which converts a
32-bit floating point number to an unsigned 64 bit number.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[PMM: removed harmless but silly int64_t casts]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ace25a5676af233a9b5abf48599dbcc45f92dcf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix factor 2 error for scalbn on denormal inputs
If the input to float*_scalbn() is denormal then it represents
a number 0.[mantissabits] * 2^(1-exponentbias) (and the actual
exponent field is all zeroes). This means that when we convert
it to our unpacked encoding the unpacked exponent must be one
greater than for a normal number, which represents
1.[mantissabits] * 2^(e-exponentbias) for an exponent field e.
This meant we were giving answers too small by a factor of 2 for
all denormal inputs.
Note that the float-to-int routines also have this behaviour
of not adjusting the exponent for denormals; however there it is
harmless because denormals will all convert to integer zero anyway.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2e933d20d5fd6c38bda227359b79bcc81654f99
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Only raise Invalid when conversions to int are out of range
We implement a number of float-to-integer conversions using conversion
to an integer type with a wider range and then a check against the
narrower range we are actually converting to. If we find the result to
be out of range we correctly raise the Invalid exception, but we must
also suppress other exceptions which might have been raised by the
conversion function we called.
This won't throw away exceptions we should have preserved, because for
the 'core' exception flags the IEEE spec mandates that the only valid
combinations of exception that can be raised by a single operation are
Inexact + Overflow and Inexact + Underflow. For the non-IEEE softfloat
flag for input denormals, we can guarantee that that flag won't have
been set for out of range float-to-int conversions because a squashed
denormal by definition goes to plus or minus zero, which is always in
range after conversion to integer zero.
This bug has been fixed for some of the float-to-int conversion routines
by previous patches; fix it for the remaining functions as well, so
that they all restore the pre-conversion status flags prior to raising
Invalid.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f883b3896ed5e180f234613aadca019fdbe7c49c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Fix float64_to_uint64
The comment preceding the float64_to_uint64 routine suggests that
the implementation is broken. And this is, indeed, the case.
This patch properly implements the conversion of a 64-bit floating
point number to an unsigned, 64 bit integer.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 564658dc8c5fabdc73702967590a5652bc45107f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Make the int-to-float functions take exact-width types
Currently the int-to-float functions take types which are specified
as "at least X bits wide", rather than "exactly X bits wide". This is
confusing and unhelpful since it means that the callers have to include
an explicit cast to [u]intXX_t to ensure the correct behaviour. Fix
them all to take the exactly-X-bits-wide types instead.
Note that this doesn't change behaviour at all since at the moment
we happen to define the 'int32' and 'uint32' types as exactly 32 bits
wide, and the 'int64' and 'uint64' types as exactly 64 bits wide.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 44e09132cae159ce1e2f3d0aebd62c8298224a6d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Add 16 bit integer to float conversions
Add the float to 16 bit integer conversion routines. These can be
trivially implemented in terms of the int32_to_float* routines, but
providing them makes our API more symmetrical and can simplify callers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e0a2db7128626a795c3657ffcaff40514e998e2f
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:17:48 2014 +0000
softfloat: Add float to 16bit integer conversions.
ARMv8 requires support for converting 32 and 64bit floating point
values to signed and unsigned 16bit integers.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: updated not to incorrectly set Inexact for Invalid inputs]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1bf6beec8a012cae4bb6fbc89c465127e9650c92
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 6 11:47:21 2014 +0000
softfloat: Fix exception flag handling for float32_to_float16()
Our float32 to float16 conversion routine was generating the correct
numerical answers, but not always setting the right set of exception
flags. Fix this, mostly by rearranging the code to more closely
resemble RoundAndPackFloat*, and in particular:
* non-IEEE halfprec always raises Invalid for input NaNs
* we need to check for the overflow case before underflow
* we weren't getting the tininess-detected-after-rounding
case correct (somewhat academic since only ARM uses halfprec
and it is always tininess-detected-before-rounding)
* non-IEEE halfprec overflow raises only Invalid, not
Invalid + Inexact
* we weren't setting Inexact when we should
Also add some clarifying comments about what the code is doing.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e3d8cc0536699b66f58b0e3a13a70ee007f61647
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:33 2013 -0800
hw: arm_gic: Introduce gic_set_priority function
To make the code slightly cleaner to look at and make the save/restore
code easier to understand, introduce this function to set the priority of
interrupts.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-3-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 07c935087a5541fb167fecf3bef810de2605f93f
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:32 2013 -0800
arm_gic: Rename GIC_X_TRIGGER to GIC_X_EDGE_TRIGGER
TRIGGER can really mean mean anything (e.g. was it triggered, is it
level-triggered, is it edge-triggered, etc.). Rename to EDGE_TRIGGER to
make the code comprehensible without looking up the data structure.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-2-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 455e1e14bbfaf72275efeddaa7bc5d6294253eff
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 23 16:52:16 2013 +0200
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function
â??aarch64_cpu_register_typesâ??:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 20131223145216.GA22663@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ec0e68ef1da316b3ead1943d8f607cc68b13e0d1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Jan 3 17:58:43 2014 -0800
arm/xilinx_zynq: Always instantiate the GEMs
Don't conditionalise GEM instantiation on networking attachments. The
device should always be present even if not attached to a network.
This allows for probing of the device by expectant guests (such as
OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)
is not self identifying so the guest has no dynamic way of detecting
device absence.
Also allows for testing of the GEM in loopback mode with -net none.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
55649779a68ee3ff54b24c339b6fdbdccd1f0ed7.1388800598.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8455bc76c76c5246694290a28c6ebd6797011c18
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 23:58:20 2014 -0800
target-arm: remove raw_read|write duplication
There is an inline duplication of the raw_read and raw_write function
bodies. Fix by just calling raw_read/raw_write instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e69281b7e1462b346cb313cf0b89eedc0568125f.1388649290.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d045815a5712afbeb8d2c76d8b624c91cfda777c
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Fri Dec 20 10:33:11 2013 +0400
target-arm: use c13_context field for CONTEXTIDR
Use c13_context field instead of c13_fcse for CONTEXTIDR register
definition.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387521191-15350-1-git-send-email-s.fedorov@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 294cdac2a02d3172b69c84dec727d6ac6006bb59
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Implement Tx flow control
If the UART back-end blocks, buffer in the Tx FIFO to try again later.
This stops the IO-thread busy waiting on char back-ends (which causes
all sorts of performance problems).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
4bea048b3ab38425701d82ccc1ab92545c26b79c.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a33f37a1784691556ed6fd3f58badfce22b761ad
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Delete redundant rx rst logic
uart_rx_reset() called immediately above already does this. Remove.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
05e30826496cf2579084ed801ac0b2c0d0a3071f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9e263f73912ba35510d7d7be4c40ba871d4b57e2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Use the TX fifo for transmission
Populate the TxFIFO with the Tx data before sending. Prepares
support for proper Tx flow control implementation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
bdf7f8af2ef02839bea18665701bc2612f7baa6f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 61654c77413d1bccb69b384d891d0c688a31430b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Fix can_receive logic
The can_receive logic was only taking into account the RxFIFO
occupancy. RxFIFO population is only used for the echo and normal modes
however. Improve the logic to correctly return the true number of
receivable characters based on the current mode:
Normal mode: RxFIFO vacancy.
Remote loopback: TxFIFO vacancy.
Echo mode: The min of the TxFIFO and RxFIFO vacancies.
Local Loopback: Return non-zero (to implement droppage)
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
36a58440c9ca5080151e95765c2c81342de8a8df.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit faa79359cdb28916b102024e49916af212b344bf
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Remove TX timer & add TX FIFO state
This tx timer implementation is flawed. Despite the controller
attempting to time the guest visable assertion of the TX-empty status
bit (and corresponding interrupt) the controller is still transmitting
characters instantaneously. There is also no sense of multiple character
delay.
The only side effect of this timer is assertion of tx-empty status. So
just remove the timer completely and hold tx-empty as permanently
asserted (its reset status). This matches the actual behaviour of
instantaneous transmission.
While we are VMSD version bumping, add the tx_fifo as device state to
prepare for upcomming TxFIFO flow control. Implement the interrupt
generation logic for the TxFIFO occupancy.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7a208a7eb8d79d6429fe28b1396c3104371807b2.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2c628d98989fa224dc3c07033ba4d89562a9bb5f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Define Missing SR/ISR fields
Some (interrupt) status register bits relating to the TxFIFO path were
not defined. Define them. This prepares support for proper Tx data path
flow control.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2068b963f0af8cc834c353944e9fa816d950b163.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a24234cad03d70612e30494f21062fcee5eb9f0e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Simplify status generation
The status register bits are always pure functions of other device
state. Move the generation of these bits to the update_status()
function to simplify. Makes developing much easier as theres now no need
to recheck status bits on all the changes to rx/tx fifo state.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
321994929f789096975104f99c55732774be4cae.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8998a3c0ceb174d1c6089361efe870bb4f40a27c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: s/r_fifo/rx_fifo
Rename this field to match the many other uses of "rx". Xilinx
docmentation (UG585) also refers to this as "RxFIFO".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7386d7cee0ea175f7e53ed5ff045265528d34e32.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b56fab8847e5746085c46a5bf6b5903b3b9fe957
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Fix reset.
Don't reset the uart as an init step. Register the reset function as a
proper reset fn instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
d82cd2e65e5a6f8b6deeecb6cced61f0bf3f8c89.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 362f656878345e9e50b6f7c676a1961d9ecaa355
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Add missing uart_update_state
This should be rechecked on bus write accesses as such accesses may
change the underlying state that generates the interrupt. Particular
relevant for when the guest touches the interrupt status or mask.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1c250cd61b7b8de492fbc8b79b8370958a56d83b.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2c7fd04c9348abada0be331b04f9e5cbeeb2ac18
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Mark struct fields as public/private
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
a1e31bd62e9709ffb9b3efc6c120f83f30b7a660.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f9dfa55857f4f172d4c23011d18f260c875e4bfb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: Give the FPSCR rounding modes names
When setting rounding modes we currently just hardcode the numeric values
for rounding modes in a big switch statement.
With AArch64 support coming, we will need to refer to these rounding modes
at different places throughout the code though, so let's better give them
names so we don't get confused by accident.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, use names from ARM ARM.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7b2440e4384e59a3d5228cbd53b76089075e9e71
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point cond select
This adds decoding support for C3.6.24 FP conditional select.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32ca04a60fa1ab1b08bcdb9474af3ecf036f8f0f
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point conditional compare
This adds decoding support for C3.6.23 FP Conditional Compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 244976576d47543901c8d5ccb7f1f191f74b46f5
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add support for floating point compare
Add decoding support for C3.6.22 Floating-point compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 624490c33ccd803b730d3600d943472bfcc5fa59
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add fmov (scalar, immediate) instruction
This patch adds emulation for the fmov instruction working on scalars
with an immediate payload.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebase and use new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd54be5fdbded3346a94fcf71f4a1d9aed340d40
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (3 source)" insns
This patch adds emulation for the "Floating-point data-processing (3
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches.
Implement using muladd as suggested by Richard Henderson.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: pull field decode up a level, use register accessors]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 459cc34290b2823403f9820345c8a83f66495e1d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (2 source)" insns
This patch adds emulation for the "Floating-point data-processing (2
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merge single and double precision patches.
Rebase
and update to new infrastructure. Incorporate FMIN/FMAX support patch by
Michael Matz.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM:
* added convenience accessors for FP s and d regs
* pulled the field decode and opcode validity check up a level]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 286cb8b9cb04048b940bd9f385404781a42c6cff
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum
Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 76afb0d5967ebee59efbf3bfc6a2a042f3cb06f6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Fix vector register access on bigendian hosts
The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account
for whether the host is bigendian or not. Provide utility
functions to abstract away the offsetof() calculations for
the FP registers.
For do_fp_st() we can sidestep most of the issues for 64 bit
and smaller reg-to-mem transfers by always doing a 64 bit
load from the register and writing just the piece we need
to memory.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 83d210fb670862e9df5ca19d260fd7628cd67843
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Add support for dumping AArch64 VFP register state
When dumping the current CPU state, we can also get a request
to dump the FPU state along with the CPU's integer state.
Add support to dump the VFP state when that flag is set, so that
we can properly debug code that modifies floating point registers.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased. Output all registers, two per-line.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0f64fdaf7bd11a9165cc4b7461fb5a316819d257
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
default-configs: Add config for aarch64-linux-user
Add a config for aarch64-linux-user, thereby enabling it as
a valid target.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2d123ad256fb47bac33c38f90dafb4280879aee5
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
.travis.yml: Add aarch64-* targets
Now the AArch64 targets are in mainline we can include them in our
Travis test matrix.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e0350d0c17d31b276812e659d8bdf9fc48a59951
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
linux-user: AArch64: Use correct values for FPSR/FPCR in sigcontext
Use the helpers provided for getting the correct FPSR and FPCR
values for the signal context.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 749c7970d00cdb2be71ce66d65b9eb2ade668832
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
linux-user: AArch64: define TARGET_CLONE_BACKWARDS
The AArch64 linux-user support was written before but merged after
commit 4ce6243dc621 which cleaned up the handling of the clone()
syscall argument order, so we failed to notice that AArch64 also needs
TARGET_CLONE_BACKWARDS to be defined. Add this define so that clone
and fork syscalls work correctly.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2df7566445c8b0934030627dff2c2417ec6d8e27
Author: Michael Matz <matz@xxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: A64: support for ld/st/cl exclusive
This implement exclusive loads/stores for aarch64 along the lines of
arm32 and ppc implementations. The exclusive load remembers the address
and loaded value. The exclusive store throws an an exception which uses
those values to check for equality in a proper exclusive region.
This is not actually the architecture mandated semantics (for either
AArch32 or AArch64) but it is close enough for typical guest code
sequences to work correctly, and saves us from having to monitor all
guest stores. It's fairly easy to come up with test cases where we
don't behave like hardware - we don't for example model cache line
behaviour. However in the common patterns this works, and the existing
32 bit ARM exclusive access implementation has the same limitations.
AArch64 also implements new acquire/release loads/stores (which may be
either exclusive or non-exclusive). These imposes extra ordering
constraints on memory operations (ie they act as if they have an implicit
barrier built into them). As TCG is single-threaded all our barriers
are no-ops, so these just behave like normal loads and stores.
Signed-off-by: Michael Matz <matz@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 90ba562c61b15f418f284751faa81aca25de2d95
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: Widen exclusive-access support struct fields to 64 bits
In preparation for adding support for A64 load/store exclusive
instructions,
widen the fields in the CPU state struct that deal with address and data
values
for exclusives from 32 to 64 bits. Although in practice AArch64 and
AArch32
exclusive accesses will be generally separate there are some odd
theoretical
corner cases (eg you should be able to do the exclusive load in AArch32,
take
an exception to AArch64 and successfully do the store exclusive there),
and it's
also easier to reason about.
The changes in semantics for the variables are:
exclusive_addr -> extended to 64 bits; -1ULL for "monitor lost",
otherwise always < 2^32 for AArch32
exclusive_val -> extended to 64 bits. 64 bit exclusives in AArch32 now
use the high half of exclusive_val instead of a separate exclusive_high
exclusive_high -> is no longer used in AArch32; extended to 64 bits as
it will be needed for AArch64's pair-of-64-bit-values exclusives.
exclusive_test -> extended to 64 bits, as it is an address. Since this
is
a linux-user-only field, in arm-linux-user it will always have the top
32 bits zero.
exclusive_info -> stays 32 bits, as it is neither data nor address, but
simply holds register indexes etc. AArch64 will be able to fit all its
information into 32 bits as well.
Note that the refactoring of gen_store_exclusive() coincidentally fixes
a minor bug where ldrexd would incorrectly update the first CPU register
even if the load for the second register faulted.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 66759c063c3472fe70df0c8489ecc6fd7dc1a843
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: aarch64: add support for ld lit
Adds support for Load Register (literal), both normal
and SIMD/FP forms.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fc514b094e8f5aa211a36925b62348ab52243762
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for conditional compare insns
this patch adds support for C3.5.4 - C3.5.5
Conditional compare (both immediate and register)
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03468633b16e96176ffbe7fd1943f7014e63ccde
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for add/sub with carry
This patch adds support for C3.5.3 Add/subtract (with carry):
instructions ADC, ADCS, SBC, SBCS.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e4fe830b50b56561dae5b5c79c6eb63cc2e94a3d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: Widen thread-local register state fields to 64 bits
The common pattern for system registers in a 64-bit capable ARM
CPU is that when in AArch32 the cp15 register is a view of the
bottom 32 bits of the 64-bit AArch64 system register; writes in
AArch32 leave the top half unchanged. The most natural way to
model this is to have the state field in the CPU struct be a
64 bit value, and simply have the AArch32 TCG code operate on
a pointer to its lower half.
For aarch64-linux-user the only registers we need to share like
this are the thread-local-storage ones. Widen their fields to
64 bits and provide the 64 bit reginfo struct to make them
visible in AArch64 state. Note that minor cleanup of the AArch64
system register encoding space means We can share the TPIDR_EL1
reginfo but need split encodings for TPIDR_EL0 and TPIDRRO_EL0.
Since we're touching almost every line in QEMU that uses the
c13_tls* fields in this patch anyway, we take the opportunity
to rename them in line with the standard ARM architectural names
for these registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 19917791fd1433b79d20b26440ec321d71dcfc01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: Widen thread-local register state fields to 64 bits
The common pattern for system registers in a 64-bit capable ARM
CPU is that when in AArch32 the cp15 register is a view of the
bottom 32 bits of the 64-bit AArch64 system register; writes in
AArch32 leave the top half unchanged. The most natural way to
model this is to have the state field in the CPU struct be a
64 bit value, and simply have the AArch32 TCG code operate on
a pointer to its lower half.
For aarch64-linux-user the only registers we need to share like
this are the thread-local-storage ones. Widen their fields to
64 bits and provide the 64 bit reginfo struct to make them
visible in AArch64 state. Note that minor cleanup of the AArch64
system register encoding space means We can share the TPIDR_EL1
reginfo but need split encodings for TPIDR_EL0 and TPIDRRO_EL0.
Since we're touching almost every line in QEMU that uses the
c13_tls* fields in this patch anyway, we take the opportunity
to rename them in line with the standard ARM architectural names
for these registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b0d2b7d0f084f6b33acf7c722790da683916fee3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: A64: Implement minimal set of EL0-visible sysregs
Implement an initial minimal set of EL0-visible system registers:
* NZCV
* FPCR
* FPSR
* CTR_EL0
* DCZID_EL0
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit fea505221eaf87889000378d4d33ad0dfd5f4d9d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: A64: Implement MRS/MSR/SYS/SYSL
The AArch64 equivalent of the traditional AArch32
cp15 coprocessor registers is the set of instructions
MRS/MSR/SYS/SYSL, which cover between them both true
system registers and the "operations with side effects"
such as cache maintenance which in AArch32 are mixed
in with other cp15 registers. Implement these instructions
to look in the cpregs hashtable for the register or
operation.
Since we don't yet populate the cpregs hashtable with
any registers with the "AA64" bit set, everything will
still UNDEF at this point.
MSR/MRS is the first user of is_jmp = DISAS_UPDATE, so
fix an infelicity in its handling where the main loop
was requiring the caller to do the update of PC rather
than just doing it itself.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 60322b399dc62da7cc1ccd42fbd19b017f8a5e38
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:44 2014 +0000
target-arm: Remove ARMCPU/CPUARMState from cpregs APIs used by decoder
The cpregs APIs used by the decoder (get_arm_cp_reginfo() and
cp_access_ok()) currently take either a CPUARMState* or an ARMCPU*.
This is problematic for the A64 decoder, which doesn't pass the
environment pointer around everywhere the way the 32 bit decoder
does. Adjust the parameters these functions take so that we can
copy only the relevant info from the CPUARMState into the
DisasContext and then use that.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3523e4bd9b0b2ff05a88e09bd67be2ec8d5e9e08
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:49:20 2013 -0700
target-i386: Use new tcg_gen_qemu_st_* helpers
In preference to the older helpers. Stores only in this patch.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c5f41169b43953b60c415d6ab7287c92ab235ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:30:34 2013 -0700
target-i386: Use new tcg_gen_qemu_ld_* helpers
In preference to the older helpers. Loads only in this patch.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5c42a7cd983e2fee3a63c39c5c5e98a8face463c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Oct 30 22:20:42 2013 -0700
target-i386: Stop encoding DisasContext.mem_index
Now that we don't combine mem_index with operand size info,
we don't need to encode it. Which tidies many places that
access it.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 323d18769ead123501bd4c51a9af820e846cf1d3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Oct 30 22:04:05 2013 -0700
target-i386: Push DisasContext into load/store helpers
Rather than add s->mem_index into a combined size+mem_index
argument, pass the context down. This will allow cleaning
up s->mem_index later.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03afa5f808c5af74fa137a20b10f73b0b30aa563
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 17:29:39 2013 +1000
exec: Delay CPU_LOG_TB_CPU until we actually execute a TB
The previous placement could result in duplicate logging while
still processing interrupts.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c950114286ea358a93ce632db0421945e1008395
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Sun Dec 29 22:39:58 2013 -0500
migration: qmp_migrate(): keep working after syntax error
If a user or QMP client enter a bad syntax for the migrate
command in QMP/HMP, then the migrate command will never succeed
from that point on.
For example, if you enter:
(qemu) migrate tcp;0:4444
migrate: Parameter 'uri' expects a valid migration protocol
Then the migrate command will always fail from now on:
(qemu) migrate tcp:0:4444
migrate: There's a migration process in progress
The problem is that qmp_migrate() sets the migration status to
MIG_STATE_SETUP and doesn't reset it on syntax error. This bug
was introduced by commit 29ae8a4133082e16970c9d4be09f4b6a15034617.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 594278718323ca7bffaab0fb7fc6c82fa2c1cd5f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:49:52 2014 -0800
qerror: Remove assert_no_error()
This is no longer needed, and is obsoleted by error_abort. Remove.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 87ea75d5e135c0527c6a9dbac4317913409f28c7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:49:17 2014 -0800
qemu-option: Remove qemu_opts_create_nofail
This is a boiler-plate _nofail variant of qemu_opts_create. Remove and
use error_abort in call sites.
null/0 arguments needs to be added for the id and fail_if_exists fields
in affected callsites due to argument inconsistency between the normal and
no_fail variants.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 00b810532446b1037aa5d299f181ac4d1d65aa9c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:48:43 2014 -0800
target-i386: Remove assert_no_error usage
Replace an assert_no_error() usage with the error_abort system.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5433a0a89e68443c9ce1cd0c7b1af23320133983
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:48:08 2014 -0800
hw: Remove assert_no_error usages
Replace assert_no_error() usages with the error_abort system.
&error_abort is passed into API calls to signal to the Error sub-system
that any errors are fatal. Removes need for caller assertions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 90c3f6e02662d2d8edf059168a037a119ed208cb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:47:33 2014 -0800
qdev: Delete dead code
This is unreachable code, as it's already asserted that no errors have
occurred. Delete.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5d24ee70bcbcf578614193526bcd5ed30a8eb16c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:46:59 2014 -0800
error: Add error_abort
Add a special Error * that can be passed to error handling APIs to
signal that any errors are fatal and should abort QEMU. There are two
advantages to this:
- allows for brevity when wishing to assert success of Error **
accepting APIs. No need for this pattern:
Error * local_err = NULL;
api_call(foo, bar, &local_err);
assert_no_error(local_err);
This also removes the need for _nofail variants of APIs with
asserting call sites now reduced to 1LOC.
- SIGABRT happens from within the offending API. When a fatal error
occurs in an API call (when the caller is asserting sucess) failure
often means the API itself is broken. With the abort happening in the
API call now, the stack frames into the call are available at debug
time. In the assert_no_error scheme the abort happens after the fact.
The exact semantic is that when an error is raised, if the argument
Error ** matches &error_abort, then the abort occurs immediately. The
error messaged is reported.
For error_propagate, if the destination error is &error_abort, then
the abort happens at propagation time.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cff8b2c6fcdc9492d1141da11f55615843fa0a5e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:10 2013 +0100
monitor: add object-add (QMP) and object_add (HMP) command
Add two commands that are the monitor counterparts of -object. The
commands
have the same Visitor-based implementation, but use different kinds of
visitors so that the HMP command has a DWIM string-based syntax, while
the QMP variant accepts a stricter JSON-based properties dictionary.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ab2d0531b2e41bc5fd8f8e59405f135986599476
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:09 2013 +0100
monitor: add object-del (QMP) and object_del (HMP) command
These two commands invoke the "unparent" method of Object.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b0ed5e9feaf0e2881330a48c692f62e1ac6d9052
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:08 2013 +0100
qom: catch errors in object_property_add_child
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 28ec2598ff7d74bd9556a1786f45fc5df2aacfe1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:07 2013 +0100
qom: fix leak for objects created with -object
The object must be unref-ed when its variable goes out of scope.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 513b8c74c4c899cd940a79131e76c5568aa11381
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:06 2013 +0100
rng: initialize file descriptor to -1
The file descriptor is never initialized to -1, which makes rng-random
close stdin if an object is created and immediately destroyed. If we
change it to -1, we also need to protect qemu_set_fd_handler from
receiving a bogus file descriptor.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit abf233294bc8a4d2c7d5f428f1408d7bdd0c02e0
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Wed Dec 11 13:24:14 2013 -0500
qemu-monitor: HMP cpu-add wrapper
Add HMP cpu-add wrapper to allow cpu hot plugging via monitor.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit eca01d3a93be4041ac5858ef7676e60352e9c2ed
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 3 13:00:15 2013 +0100
vl: add missing transition debug->finish_migrate
This fixes an abort if you invoke the "migrate" command while the
guest is being debugged.
Cc: qemu-stable@xxxxxxxxxx
Cc: lcapitulino@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f5a0a5a5abe7b72ad14b8884681a25fcf3e91c16
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:44 2014 +0000
target-arm: Update generic cpreg code for AArch64
Update the generic cpreg support code to also handle AArch64:
AArch64-visible registers coexist in the same hash table with
AArch32-visible ones, with a bit in the hash key distinguishing
them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 6e6efd612f58726189893fd4d948b7fc10acd872
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 22 22:32:30 2013 +0000
target-arm: Pull "add one cpreg to hashtable" into its own function
define_one_arm_cp_reg_with_opaque() has a set of nested loops which
insert a cpreg entry into the hashtable for each of the possible
opc/crn/crm values allowed by wildcard specifications. We're about
to add an extra loop to this nesting, so pull the core of the loop
(which adds a single entry to the hashtable) out into its own
function for clarity.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5862ad0f55fa54f3ed05774b538a7e862a10941f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Dec 26 12:53:39 2013 +0800
acpi unit-test: Remove temporary disk after test
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7dbc1158bc63fdbad849d21409eeeb53f5230445
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 20:42:05 2013 +0100
mainstone: Fix duplicate array values for key 'space'
cgcc reported a duplicate initialisation. Mainstone includes a matrix
keyboard where two different positions map to 'space'.
QEMU uses the reversed mapping and does not map 'space' to two different
matrix positions.
Some other keys are either missing or might be mapped wrongly (cf. Linux
kernel code). Don't fix these until someone can test them with real
hardware, but add TODO comments.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 52975c313ee4b5ce2004c1ed3279272a55429ede
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 15:22:57 2013 +0100
pxa27x: Add 'const' attribute to keyboard maps
The mapping is a hardware feature, so it is relatively constant.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f57d6693e1ad994374927d7ab7b151bb28f0cb37
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 15:32:29 2013 +0100
pxa27x: Reduce size of keyboard matrix mapping
The row and column values use only a very limited range (-1 ... 7),
so a byte value is sufficient.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 88e020e55e8fcfee0ca2428fb3654469abbd21ae
Author: Ingo van Lil <inguin@xxxxxx>
Date: Fri Dec 20 14:44:53 2013 +0100
doc: Mention chardev:id in available devices for -serial
It is possible to pre-define a character device with the -chardev option
and reference its id as serial device. The man page does not mention this
feature.
Use case: Use stdio as serial, but do not terminate VM on Ctrl-C
-chardev stdio,id=mystdio,signal=off -serial chardev:mystdio
Signed-off-by: Ingo van Lil <inguin@xxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f6f0b7d90fe0c481d33165334b4a595fa514c202
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Dec 18 22:30:26 2013 +0100
configure: Python tests must be done before help message
The help message uses $python and displays its value, so that macro
should be tested and set early.
With this modification, configure --help displays the correct value
(usually python -B) and no longer creates several *.pyc files.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 08fb77ed391dcbb35ba98fd98d81635a9f6aeb12
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Dec 18 22:09:39 2013 +0100
configure: Rewrite code for help message
In the new form most lines of the code now look like the final output:
there is no leading echo command and the lines are shorter.
The resulting output is nearly identical: the only difference is a blank
character which was deliberately removed:
@@ -8,7 +8,7 @@
--interp-prefix=PREFIX where to find shared libraries, etc.
use %M for cpu name [/usr/gnemul/qemu-%M]
--target-list=LIST set target list (default: build everything)
- Available targets: alpha-softmmu arm-softmmu
+ Available targets: alpha-softmmu arm-softmmu
cris-softmmu i386-softmmu lm32-softmmu
m68k-softmmu
microblaze-softmmu microblazeel-softmmu
mips-softmmu
mips64-softmmu mips64el-softmmu mipsel-softmmu
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2ba82852894c762299b7d05e9a2be184116b80f0
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Wed Dec 18 16:42:17 2013 -0200
mempath prefault: fix off-by-one error
Fix off-by-one error (noticed by Andrea Arcangeli).
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit 11c308b17a34932033cceca4f88b5e67009e3ebd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Dec 19 15:30:13 2013 +0100
qdev-monitor: Improve error message for -device nonexistant
Once upon a time, the error message was:
qemu: -device nonexistant: Device "nonexistant" not found. Try
-device '?' for a list.
But progress marches on, and conversion to QError (commit 0204276)
changed it into:
Invalid parameter 'driver'
Try with argument '?' for a list.
Progress didn't stop there, of course. After a couple of iterations,
we arrived at the current message (commit 6acbe4c):
qemu: -device nonexistant: Parameter 'driver' expects device type
Mission accomplished: this is complete mush.
We've since abandoned our quest for "rich" error objects, fortunately
before it turned all error messages into mush. Time to undo the
damage to this one. Make it:
qemu: -device nonexistant: nonexistant is not a valid device model
name
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db0f888848bc5cc578d005d04f4cf7a1105bb758
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:05 2013 +0800
ioapic: QOM'ify ioapic
Convert 'init' function to QOM's 'realize' for ioapic and kvm-ioapic.
Change variable 'ioapic_no' from static to global. Then we can drop
the 'instance_no' function argument.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f97718584baa6ef919d00067b9787ba7fc5f1a5b
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:04 2013 +0800
ioapic: Cleanup for QOM'ification
Some cleanups:
* ioapic_common.c: Rename 'register_types' to
'ioapic_common_register_types'
* Replace inline 'DEVICE(s)' with local 'DeviceState *dev' variable
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 494c271784a5e360523e874be9f67259932ea68c
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Wed Dec 18 18:21:46 2013 +0100
icc_bus: QOM'ify ICC
For consistency, QOM'ify APIC's parent bus.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ff6986ce618c69f988e4419efd67ea5cbf7792a5
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:03 2013 +0800
apic: QOM'ify APIC
Convert 'init' function to QOM's 'realize' for apic, kvm/apic and
xen/xen_apic.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d3b0c9e90a9853984c60478dae45bedf8aadf42a
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:02 2013 +0800
apic: Cleanup for QOM'ification
Do some cleanup, including:
1. Remove DO_UPCAST() for APICCommonState
2. Change DeviceState pointers from 'd' to 'dev', better to understand
3. Rename 'register_types' to specifically 'apic_common_register_types'
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6780a22cc71227068925e7b70faa71d6641a9b1b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Dec 18 17:15:51 2013 +0100
qdev: Drop misleading qbus_free() function
Same reasoning as commit 02a5c4c97422b40034f31265e0f139f7846172a8
("qdev: Drop misleading qdev_free() function"). The qbus_free()
function removes the child from the namespace and decrements the
reference count. It does not, however, guarantee to free the child
since the refcount may still be held.
Just call object_unparent() directly.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f54c19cacb44d2fad14aca6be08e4aa9b8423217
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Dec 3 16:42:00 2013 +0100
qom: Detect bad reentrance during object_class_foreach()
We should not modify the type hash table while it is being iterated on.
Assert that it does not happen.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 14389dbd0281e901176319f5868166c706485c5e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 20 22:14:40 2013 +0100
tests: Test QOM interface casting
Add basic regression testing for QOM Interface usage.
Test checks casting to interface type/class for following cases:
- interface implementation in leaf class
- interface implementation in intermediate (parent) class
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b061dc41f62048acd4a34c6570c0ea396cd9d0b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 3 16:41:59 2013 +0100
qom: Do not register interface "types" in the type table and fix names
There should be no need to look up nor enumerate the interface "types",
whose "classes" are really just vtables. Just create the types and
add them to the interface list of the parent type.
Interfaces not registering their type anymore means that accessing
superclass::interface by type name will fail when initializing
subclass::interface. Thus, we need to pre-initialize the subclass's
parent_type field before calling type_initialize. Apart from this, the
interface "types" should never be used and thus it is harmless to leave
them out of the hashtable.
Further, the interface types had a bug with interfaces that are
inherited from a superclass: The implementation type name was wrong
(for example it was subclass::superclass::interface rather than
just subclass::interface). This patch fixes this as well.
Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ab4c94c844cb3953adedbd27adc378b3cf31d9e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Nov 27 20:27:33 2013 -0800
qom: Split out object and class caches
The object-cast and class-cast caches cannot be shared because class
caching is conditional on the target type not being an interface and
object caching is unconditional. Leads to a bug when a class cast
to an interface follows an object cast to the same interface type:
FooObject = FOO(obj);
FooClass = FOO_GET_CLASS(obj);
Where TYPE_FOO is an interface. The first (object) cast will be
successful and cache the casting result (i.e. TYPE_FOO will be cached).
The second (class) cast will then check the shared cast cache
and register a hit. The issue is, when a class cast hits in the cache
it just returns a pointer cast of the input class (i.e. the concrete
class).
When casting to an interface, the cast itself must return the
interface class, not the concrete class. The implementation of class
cast caching already ensures that the returned cast result is only
a pointer cast before caching. The object cast logic however does
not have this check.
Resolve by just splitting the object and class caches.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c272758f93b9c88c884461a2baa37b8f4008bf02
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Nov 29 10:43:45 2013 +0100
qdev: Document that pointer properties kill device_add
Ask users of DEFINE_PROP_PTR() to set
cannot_instantiate_with_device_add_yet, or explain why it's not
needed.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b111dc1216be2a89770fdc1ab3dfa8025957442
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Nov 29 10:43:44 2013 +0100
hw: cannot_instantiate_with_device_add_yet due to pointer props
Pointer properties can be set only by code, not by device_add. A
device with a pointer property can work with device_add only when the
property may remain null.
This is the case for property "interrupt_vector" of device
"etraxfs,pic". Add a comment there.
Set cannot_instantiate_with_device_add_yet for the other devices with
pointer properties, with a comment explaining why.
Juha Riihimäki and Peter Maydell deserve my thanks for making "pointer
property must not remain null" blatantly obvious in the OMAP devices.
Only device "smbus-eeprom" is actually changed. The others are all
sysbus devices, which get cannot_instantiate_with_device_add_yet set
in their abstract base's class init function. Setting it again in
their class init function is technically redundant, but serves as
insurance for when sysbus devices become available with device_add,
and as documentation.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> (for ETRAX)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 061e84f7a469ad1f94f3b5f6a5361b346ab990e8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:02:24 2013 +0100
qdev-monitor: Avoid device_add crashing on non-device driver name
Watch this:
$ upstream-qemu -nodefaults -S -display none -monitor stdio
QEMU 1.7.50 monitor - type 'help' for more information
(qemu) device_add rng-egd
/work/armbru/qemu/qdev-monitor.c:491:qdev_device_add: Object
0x2089b00 is not an instance of type device
Aborted (core dumped)
Crashes because "rng-egd" exists, but isn't a subtype of TYPE_DEVICE.
Broken in commit 18b6dad.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d024d209045b912eb6127861fab2af6c64880efd
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 14 01:29:56 2012 +0100
target-i386: Cleanup 'foo=val' feature handling
Features family, model, stepping, level, hv_spinlocks are treated
similarly
when passed from command line, so it's not necessary to handle each of
them
individually. Collapse them to one catch-all branch which will treat
any not explicitly handled feature in format 'foo=val'.
Any unknown feature will be rejected by property setter so there is no
need to check for unknown feature in cpu_x86_parse_featurestr(), therefore
it's replaced by above mentioned catch-all handler.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 258f5abe9a8786c410f98367e9e042ee16c249f2
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 14 01:16:00 2012 +0100
target-i386: Cleanup 'foo' feature handling
Features check, enforce, hv_relaxed and hv_vapic are treated as boolean
set to 'on' when passed from command line, so it's not necessary to
handle each of them separately. Collapse them to one catch-all branch
which will treat any feature in format 'foo' as boolean set to 'on'.
Any unknown feature will be rejected by CPU property setter so there is no
need to check for unknown feature in cpu_x86_parse_featurestr(), therefore
it's replaced by above mentioned catch-all handler.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 912ffc479c0008bd983f5733daa52438b359be6f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Jun 4 15:13:14 2013 +0200
target-i386: Convert 'check' and 'enforce' to static properties
* Additionally convert check_cpuid & enforce_cpuid to bool and make them
members of X86CPU
* Make 'enforce' feature independent from 'check'
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c8f0f88e2a4cf27bde27a31a98badd61fe212652
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Jun 4 15:05:25 2013 +0200
target-i386: Convert 'hv_spinlocks' to static property
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0f46685d1b03efaaf5189f0e9af8754cb8f8979c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Aug 8 13:54:27 2012 +0200
target-i386: Convert 'hv_vapic' to static property
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 89314504197b305173e3f2d23ce541898ef2691c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Aug 8 13:52:51 2012 +0200
target-i386: Convert 'hv_relaxed' to static property
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 693fa551f96cc4b7a6647f6f55636ee0b6d3a04b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Dec 24 03:18:12 2013 +0100
cpu-exec: Optimize X86CPU usage in cpu_exec()
Replace growing numbers of inline x86_env_get_cpu() with x86_cpu variable.
Reviewed-by: Chen Fan <chen.fan@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce5458e82e250c66fe31c716d0e44fac5b1bc349
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Dec 23 23:27:31 2013 +0000
target-arm: A64: implement FMOV
Implement FMOV, ie non-converting moves between general purpose
registers and floating point registers. This is a subtype of
the floating point <-> integer instruction class.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit faa0ba465b772200e9775c1f5af886cfc83d0da6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Dec 23 23:27:30 2013 +0000
target-arm: A64: Add decoder skeleton for FP instructions
Add a top level decoder skeleton for FP instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9618e80938d38eeee765dd23fc0b7475ae536e77
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Dec 23 23:27:30 2013 +0000
target-arm: A64: implement SVC, BRK
Add decoding for the exception generating instructions, and implement
SVC (syscalls) and BRK (software breakpoint).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 52c8b9afcd019df799f5eb779395b46a610348b8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Dec 23 23:27:30 2013 +0000
target-arm: A64: add support for 3 src data proc insns
This patch adds emulation for the "Data-processing (3 source)"
family of instructions, namely MADD, MSUB, SMADDL, SMSUBL, SMULH,
UMADDL, UMSUBL, UMULH.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ed6ec679a8706af4eedd7b3aa132f13bb2329abe
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for move wide instructions
This patch adds emulation for the mov wide instructions
(MOVN, MOVZ, MOVK).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b0ff21b4f96fa8223ec252ec3e99a8a9af86cf0c
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for add, addi, sub, subi
Implement the non-carry forms of addition and subtraction
(immediate, extended register and shifted register).
This includes the code to calculate NZCV if the instruction
calls for setting the flags.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a5e94a9d767b2111608fe2013492392c7117cef5
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for ld/st with index
This adds support for the pre/post-index ld/st forms with immediate
offsets as well as the un-scaled immediate form (which are all
variations on the same 9-bit immediate instruction form).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 229b7a05e3abd3def309a04b5d1c14f3a3cb9236
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for ld/st with reg offset
This adds support for the load/store forms using a register offset.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5612f10a1a92afd390d4950b9f8af00ec30ad3e
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:28 2013 +0000
target-arm: A64: add support for ld/st unsigned imm
This adds support for the forms of ld/st with a 12 bit
unsigned immediate offset.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a08d4758faf4d6497a5f6fa6be6f048a5359420
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 22 22:32:27 2013 +0000
target-arm: A64: add support for ld/st pair
This patch support the basic load and store pair instructions and
includes the generic helper functions:
* do_gpr_st()
* do_fp_st()
* do_gpr_ld()
* do_fp_ld()
* read_cpu_reg_sp()
* gen_check_sp_alignment()
The last function gen_check_sp_alignment() is a NULL op currently but
put in place to make it easy to add SP alignment checking later.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5bf58abf1cb7220d9f7d8e18f113a353cd6f260d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 23 13:33:11 2013 +0200
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function
â??aarch64_cpu_register_typesâ??:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 83d0704734955bf1aa7697af7be2a50e11a80a42
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 19:48:51 2013 +0100
virtio: add back call to virtio_bus_device_unplugged
This got lost in a rebase.
Reported-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ddaaefb4dd427d6d2e41c1cfbe0cd8d8e8d6aad9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Sat Dec 21 03:02:50 2013 +0100
piix: fix 32bit pci hole
Make the 32bit pci hole start at end of ram, so all possible address
space is covered.
We used to try and make addresses aligned so they are easier to cover
with MTRRs, but since they are cosmetic on KVM, this is probably not
worth worrying about.
Of course the firmware can use less than that. Leaving space unused is
no problem, mapping pci bars outside the hole causes problems though.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 02e51483341a371b508c1a529782d83064c93596
Author: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 23 17:04:02 2013 +0800
target-i386: Move apic_state field from CPUX86State to X86CPU
This motion is preparing for refactoring vCPU APIC subsequently.
Signed-off-by: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eb2535f411c2201cd6f79e8d2b4e3f4c5b765729
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Dec 7 10:44:52 2013 +1300
cputlb: Tidy memset() of arrays
Don't duplicate the array length computation in the memset()
when plain sizeof() can produce the correct results.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4fadb3bb570c5a665bd6f7e300d63c306e67b668
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Dec 7 10:44:51 2013 +1300
cputlb: Use memset() when flushing entries
The size of tlb_table is 4k on a 64-bit host. For overwriting
memory at this size, cacheline tricks can help.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e5187b561ff7b241d609a2848131879072169565
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Dec 9 19:53:15 2013 +0800
fix -boot strict regressed in commit 6ef4716
Commit 6ef4716 cleaned up parsing of -boot option argument, but
accidentally dropped parameter strict. It should have been updated
exactly like parameter menu. Do that.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6f2bfda35cf1c7b8a5913570b808396ab9299873
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Dec 9 12:18:46 2013 +0400
vl: make boot_strict variable static (not used outside vl.c)
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
commit 33dfdb56f2f3c8686d218395b871ec12fd5bf30b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 6 13:52:24 2013 +0100
x86: only allow real mode to access 32bit without LMA
When we're running in non-64bit mode with qemu-system-x86_64 we can
still end up with virtual addresses that are above the 32bit boundary
if a segment offset is set up.
GNU Hurd does exactly that. It sets the segment offset to 0x80000000 and
puts its EIP value to 0x8xxxxxxx to access low memory.
This doesn't hit us when we enable paging, as there we just mask away the
unused bits. But with real mode, we assume that vaddr == paddr which is
wrong in this case. Real hardware wraps the virtual address around at the
32bit boundary. So let's do the same.
This fixes booting GNU Hurd in qemu-system-x86_64 for me.
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0d9e61c2619eeead4de6afa8fedec2ad9311b642
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:08 2013 +0100
linux-user: Use macro TARGET_NSIG_WORDS where possible
This improves readability and simplifies the code.
Cc: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c46b07f0d7a826ea0bb5811dd49450c2497fb926
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:06 2013 +0100
exynos4210: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Dmitry Solodkiy <d.solodkiy@xxxxxxxxxxx>
Cc: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Cc: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Cc: Maksim Kozlov <m.kozlov@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5d70192bcb80a5355323a4736e0fb44d8e2b6743
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:05 2013 +0100
ui/cocoa: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Andreas Färber <andreas.faerber@xxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dff7424dc09635c33b42193fbb40c90fc9a971f4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:04 2013 +0100
misc: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2e0fc3a488ef12c4e0e3ad4e1a07efec3a19169e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 09:24:48 2013 +0100
openrisc: Fix spelling in comment (transaltion -> translation)
I also removed two hyphens in the same comment.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 112f2ac98d8bd4edafc4a4c84d0abcd9ba98a736
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Dec 6 19:43:30 2013 +0100
hw/arm/highbank: Simplify code (memory region in device state)
The memory region can be included by value instead of by reference in the
device state.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dcc209314afdaeec42f1e2a7bbf37eec3ace23de
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:27 2013 +0100
qdev: switch reset to post-order
Post-order is the only sensible direction for the reset signals.
For example, suppose pre-order is used and the parent has some data
structures that cache children state (for example a list of active
requests). When the reset method is invoked on the parent, these caches
could be in any state.
If post-order is used, on the other hand, these will be in a known state
when the reset method is invoked on the parent.
This change means that it is no longer possible to block the visit of
the devices, so the callback is changed to return void. This is not
a problem, because PCI was returning 1 exactly in order to achieve the
same ordering that this patch implements.
PCI can then rely on the qdev core having sent a "reset signal" (whatever
that means) to the device, and only do the PCI-specific initialization
with pci_do_device_reset.
MST: fixed up virtio-ccw
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0293214b8c5bf56a095d0a39c5821c9da66dd566
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:26 2013 +0100
qdev: allow both pre- and post-order vists in qdev walking functions
Resetting should be done in post-order, not pre-order. However,
qdev_walk_children and qbus_walk_children do not allow this. Fix
it by adding two extra arguments to the functions.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9bdbbfc3a04c28dc43af5afffb32066623cb0022
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:25 2013 +0100
pci: clean up resetting of IRQs
pci_device_reset will deassert the INTX pins, and this will make the
irq_count array all-zeroes. Check that this is the case, and remove
the existing loop which might even unsync irq_count and irq_state.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 81e3e75b6461c53724fe7c7918bc54468fcdaf9d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:24 2013 +0100
pci: do not export pci_bus_reset
qbus_reset_all can be used instead. There is no semantic change
because pcibus_reset returns 1 and takes care of the device
tree traversal.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit aef52ee87f324fb03e0dcd88a84bdd50c8339a5f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:13 2013 +0100
ACPI/DSDT-CPU: cleanup bogus comment
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c1a1af87d8d5dce93328bbe8c3db70ff29275069
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:12 2013 +0100
ACPI: Q35 DSDT: fix CPU hotplug GPE0.2 handler
Fix bogus CPU hotplug GPE handler.
Make Q35 CPU hotplug GPE handler match PIIX4 one, since
CPU hotplug event is triggered by GPE0.2 register.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2c047956f3b27048883350c071bcd33ef8331d13
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:10 2013 +0100
acpi: ich9: allow guest to clear SCI rised by GPE
it fixes IRQ storm since guest isn't able to lower SCI IRQ
after it has been handled when it clears GPE event.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 063135032808700a5a6b0b4a781f31252da2e762
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:07 2013 +0100
acpi: factor out common pm_update_sci() into acpi core
... and rename it into acpi_update_sci() since it changes
SCI on only on PM registers status.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e4f308bbf9f360ee2af5b94b87aef170d8f20dc4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:06 2013 +0100
acpi: piix4: remove not needed GPE0 mask
Hardcoded GPE0 mask isn't really needed. Since GPE0_STS initialized
with all bits cleared and only QEMU itself can set bits there (i.e.
guest can only clear bits in it). So guest can't triger SCI
by setting _STS & _EN bits and there is not reason to mask out not
supported _STS bits since they shouldn't be set by QEMU in the first
place.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3bcc77ae9935c8c3d10f63492af81f1d7d99d492
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:22 2013 +0100
i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash
Check whether the firmware is not hidden by other memory regions.
Qemu is started in paused mode: it shouldn't try to interpret generated
garbage.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 27d59ccd89a5b112e5a5804250440ea30dbfb891
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:21 2013 +0100
i440fx-test: generate temporary firmware blob
The blob is 64K in size and contains 0x00..0xFF repeatedly.
The client code added to main() wouldn't make much sense in the long term.
It helps with debugging and it silences gcc about create_blob_file() being
unused, and we'll replace it in the next patch anyway.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c37805b6724e5d4c3ad41653630b72b43619474e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:20 2013 +0100
i440fx-test: give each GTest case its own qtest
The current two GTest cases, /i440fx/defaults and /i440fx/pam can share a
qemu process, but the next two cases will need dedicated instances. It is
messy (and order-dependent) to dynamically configure GTest cases one by
one to start, stop, or keep the current qtest (*); let's just have each
GTest work with its own qtest. The performance difference should be
negligible.
(*) As g_test_run() can be invoked at most once per process startup, and
it runs GTest cases in sequence, we'd need clumsy data structures to
control each GTest case to start/stop/keep the qemu instance. Or, we'd
have to code the same information into the test methods themselves, which
would make them even more order-dependent.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b817e3fb5401bfab49e3c212e6daa1ff1f5a4c9a
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:19 2013 +0100
i440fx-test: qtest_start() should be paired with qtest_end()
Similarly to commit 1d9358e6
("libqtest: New qtest_end() to go with qtest_start()").
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 637a5acb46b36a25b506ba6545e9a53350585b03
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Nov 28 00:52:52 2013 +0100
hw/i386/pc_sysfw: support two flash drives
This patch allows the user to usefully specify
-drive file=img_1,if=pflash,format=raw,readonly \
-drive file=img_2,if=pflash,format=raw
on the command line. The flash images will be mapped under 4G in their
reverse unit order -- that is, with their base addresses progressing
downwards, in increasing unit order.
(The unit number increases with command line order if not explicitly
specified.)
This accommodates the following use case: suppose that OVMF is split in
two parts, a writeable host file for non-volatile variable storage, and a
read-only part for bootstrap and decompressible executable code.
The binary code part would be read-only, centrally managed on the host
system, and passed in as unit 0. The variable store would be writeable,
VM-specific, and passed in as unit 1.
00000000ffe00000-00000000ffe1ffff (prio 0, R-): system.flash1
00000000ffe20000-00000000ffffffff (prio 0, R-): system.flash0
(If the guest tries to write to the flash range that is backed by the
read-only drive, pflash_update() is never called; various flash
programming/erase errors are returned to the guest instead. See the
callers of pflash_update(), and the initialization of "pfl->ro", in
"hw/block/pflash_cfi01.c".)
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ecdbfceb0f20a3ef784bf522ed7264660aa3d150
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 16 13:54:19 2013 +0200
pc_piix: document gigabyte_align
Document the logic behind the below/above 4G split.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bb43d3839c29b17a2f5c122114cd4ca978065a18
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 10:11:28 2013 +0100
piix: gigabyte alignment for ram
Map 3G (i440fx) of memory below 4G, so the RAM pieces
are nicely aligned to gigabyte borders.
Keep old memory layout for (a) old machine types and (b) in case all
memory fits below 4G and thus we don't have to split RAM into pieces
in the first place. The later makes sure this change doesn't take
away memory from 32bit guests.
So, with i440fx and up to 3.5 GB of memory, all of it will be mapped
below 4G. With more than 3.5 GB of memory 3 GB will be mapped below
4G and the remaining amount will be mapped above 4G.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7ea5e78f3d8d64e99c4017ea211b7518f2629756
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:03 2013 +0100
qdev: Do not let the user try to device_add when it cannot work
Such devices have always been unavailable and omitted from the list of
available devices shown by device_add help. Until commit 18b6dad
silently broke the former, setting up nasty traps for unwary users,
like this one:
$ qemu-system-x86_64 -nodefaults -monitor stdio -display none
QEMU 1.6.50 monitor - type 'help' for more information
(qemu) device_add apic
Segmentation fault (core dumped)
I call that a regression. Fix it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3b176402fa92149320dcd5479916ccb39cfa0a8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:02 2013 +0100
isa: Clean up use of cannot_instantiate_with_device_add_yet
Drop it when there's no obvious reason why device_add could not work.
Else keep and document why.
* isa-fdc: drop
* i8042: drop, even though its I/O base is hardcoded (because you
could conceivably still add one to a board that has none), and even
though PC board code wires up the A20 line (because that wiring is
optional)
* port92: keep because it needs additional wiring by port92_init()
* mc146818rtc: keep because it needs to be wired up by rtc_init()
* m48t59_isa: keep because needs to be wired up by m48t59_init_isa()
* isa-pit, kvm-pit: keep (in their abstract base pic-common) because
the PIT needs additional wiring by board code, depending on HPET
presence
* pcspk: keep because of pointer property pit, and because realize
sets global pcspk_state
* vmmouse: keep because of pointer property ps2_mouse
* vmport: keep because realize sets global port_state
* isa-i8259, kvm-i8259: keep (in their abstract base pic-common),
because the PICs' IRQ input lines are set up by board code, and the
wiring of the slave to the master is hard-coded in device model code
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04916ee9fb8ff4be4d9f612b85aef009ec57b0b4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:01 2013 +0100
vt82c686: Clean up use of cannot_instantiate_with_device_add_yet
A VT82C686B southbridge has multiple functions. We model each
function as a separate qdev. One of them need some special wiring set
up in mips_fulong2e_init() to work: the ISA bridge at 05.0.
The IDE controller at 05.1 (via-ide) has always had
cannot_instantiate_with_device_add_yet set, but there is no obvious
reason why device_add could not work for them. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 81aab2ff1118a4de8fd92ae89380ccfbc2870574
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:00 2013 +0100
piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet
A PIIX3/PIIX4 southbridge has multiple functions. We model each
function as a separate qdev. Two of them need some special wiring set
up in pc_init1() or mips_malta_init() to work: the ISA bridge at 01.0,
and the SMBus controller at 01.3.
The IDE controller at 01.1 (piix3-ide, piix3-ide-xen, piix4-ide) has
always had cannot_instantiate_with_device_add_yet set, but there is no
obvious reason why device_add could not work for them. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bfa6dfd070f0cb5be37ae3bd6b90bdd67849c311
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:59 2013 +0100
ich9: Document why cannot_instantiate_with_device_add_yet
An ICH9 southbridge contains several PCI devices, some of them with
multiple functions. We model each function as a separate qdev. Two
of them need some special wiring set up in pc_q35_init() to work: the
LPC controller at 00:1f.0, and the SMBus controller at 00:1f.3.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08c58f92f66dcf0a9097c3a6a65bcc4ffd71268f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:58 2013 +0100
pci-host: Consistently set cannot_instantiate_with_device_add_yet
Many PCI host bridges consist of a sysbus device and a PCI device.
You need both for the thing to work. Arguably, these bridges should
be modelled as a single, composite devices instead of pairs of
seemingly independent devices you can only use together, but we're not
there, yet.
Since the sysbus part can't be instantiated with device_add, yet,
permitting it with the PCI part is useless. We shouldn't offer
useless options to the user, so let's set
cannot_instantiate_with_device_add_yet for them.
It's already set for Bonito, Grackle, i440FX and Raven. Document why.
Set it for the others: dec-21154, e500-host-bridge, gt64120_pci, mch,
pbm-pci, ppc4xx-host-bridge, sh_pci_host, u3-agp, uni-north-agp,
uni-north-internal-pci, uni-north-pci, and versatile_pci_host.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f37a4374bae20ca678b808b5ee32319e943b1b4b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:57 2013 +0100
apic: Document why cannot_instantiate_with_device_add_yet
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ffa957148698eec9cfdaf6e0c1b43cda8828cd61
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:56 2013 +0100
cpu: Document why cannot_instantiate_with_device_add_yet
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 837d37167dc446af8a91189108b363c04609e296
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:55 2013 +0100
sysbus: Set cannot_instantiate_with_device_add_yet
device_add plugs devices into suitable bus. For "real" buses, that
actually connects the device. For sysbus, the connections need to be
made separately, and device_add can't do that. The device would be
left unconnected, and could not possibly work.
Quite a few, but not all sysbus devices already set
cannot_instantiate_with_device_add_yet in their class init function.
Set it in their abstract base's class init function
sysbus_device_class_init(), and remove the now redundant assignments
from device class init functions.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit efec3dd631d94160288392721a5f9c39e50fb2bc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:54 2013 +0100
qdev: Replace no_user by cannot_instantiate_with_device_add_yet
In an ideal world, machines can be built by wiring devices together
with configuration, not code. Unfortunately, that's not the world we
live in right now. We still have quite a few devices that need to be
wired up by code. If you try to device_add such a device, it'll fail
in sometimes mysterious ways. If you're lucky, you get an
unmysterious immediate crash.
To protect users from such badness, DeviceClass member no_user used to
make device models unavailable with -device / device_add, but that
regressed in commit 18b6dad. The device model is still omitted from
help, but is available anyway.
Attempts to fix the regression have been rejected with the argument
that the purpose of no_user isn't clear, and it's prone to misuse.
This commit clarifies no_user's purpose. Anthony suggested to rename
it cannot_instantiate_with_device_add_yet_due_to_internal_bugs, which
I shorten somewhat to keep checkpatch happy. While there, make it
bool.
Every use of cannot_instantiate_with_device_add_yet gets a FIXME
comment asking for rationale. The next few commits will clean them
all up, either by providing a rationale, or by getting rid of the use.
With that done, the regression fix is hopefully acceptable.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f976b09ea249cccc3fd41c98aaf6512908db0bae
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 20 11:01:50 2013 +0100
PPC: Fix compilation with TCG debug
The recent VSX patches broken compilation of QEMU when configurated
with --enable-debug, as it was treating "target long" TCG variables
as "i64" which is not true for 32bit targets.
This patch fixes all the places that the compiler has found to use
the correct variable type and if necessary manually cast.
Reported-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8a1bd2973ed5f99a3c37c9afdff823c4a22152b1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 15:54:27 2013 +0100
scsi-disk: add UNMAP limits to block limits VPD page
Linux prefers WRITE SAME to UNMAP if the limits are zero, and WRITE
SAME does not discard anything unless the device can guarantee that
the resulting block is zero.
Setting the maximum unmap block and descriptor counts to non-zero
makes Linux choose UNMAP and fixes thin provisioning on glusterfs.
While the maximum unmap block count can have some effect on performance,
the (suggested) maximum number of descriptors is not particularly
important so I didn't add a customization option. SCSI drivers are
used to online firmware updates so I'm not yet adding versioning support
for SCSI, but we're probably getting close to the point when it's worth
thinking about it.
Reported-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e8092f7ae1c71419829879e18ce2dd7249a4d00f
Merge: 3376f41 10c8599
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Dec 21 16:46:07 2013 +0100
Merge tag 'signed-s390-for-upstream' of git://github.com/agraf/qemu
Patch queue for s390 - 2013-12-18
This covers mostly minor bug fixes and implements the SIGP START
hypercall which allows to start a remote CPU without changing its
state.
Cornelia Huck (1):
s390x/kvm: Fix diagnose handling.
Thomas Huth (7):
s390x/kvm: Removed duplicated SIGP defines
s390x/kvm: Removed s390_store_status stub
s390x/kvm: Fix coding style in handle_sigp()
s390x/kvm: Implemented SIGP START
s390x/kvm: Simplified the calculation of the SIGP order code
s390x/kvm: Fixed condition code for unknown SIGP orders
s390x/ioinst: CHSC has to set a condition code
* tag 'signed-s390-for-upstream' of git://github.com/agraf/qemu:
s390x/ioinst: CHSC has to set a condition code
s390x/kvm: Fixed condition code for unknown SIGP orders
s390x/kvm: Simplified the calculation of the SIGP order code
s390x/kvm: Implemented SIGP START
s390x/kvm: Fix coding style in handle_sigp()
s390x/kvm: Removed s390_store_status stub
s390x/kvm: Removed duplicated SIGP defines
s390x/kvm: Fix diagnose handling.
commit 3376f4151e4ce0534b35c49c56037cb347293c85
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Dec 11 07:56:47 2013 +0100
target-sh4: Use new qemu_ld/st opcodes
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 5f68f5ae444725de4f35d99f1026155fadaf514b
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Dec 11 08:35:27 2013 +0100
target-mips: Use new qemu_ld/st opcodes
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8589467f9419b86644a1a5ccab670c948e148efd
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Dec 10 10:35:28 2013 +0100
tcg/i386: fix a comment
The comments apply to 8-bit stores, not 8-byte stores.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2a13f991123fa16841e6d94b02a9cc2c76d91725
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 18 11:48:11 2013 -0500
seccomp: exit if seccomp_init() fails
This fixes a bug where we weren't exiting if seccomp_init() failed.
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Acked-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 18da7f94cdce130f2a71387de4980ffa817181a1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:33 2013 +0800
commit: Remove unused check
We support top == active for commit now, remove the check and add an
assertion here.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4de43470f2f35762b4b3e6a59b4aed55e239024a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:32 2013 +0800
qemu-iotests: Update test cases for commit active
Factor out commit test common logic into super class, and update test
of committing the active image.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 20a63d2cec838c2dde4d246c4d7abe747d9b7a11
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:31 2013 +0800
commit: Support commit active layer
If active is top, it will be mirrored to base, (with block/mirror.c
code), then the image is switched when user completes the block job.
QMP documentation is updated.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 03544a6e9ecc1be115e8a29bd929f83b467d4816
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:30 2013 +0800
block: Add commit_active_start()
commit_active_start is implemented in block/mirror.c, It will create a
job with "commit" type and designated base in block-commit command. This
will be used for committing active layer of device.
Sync mode is removed from MirrorBlockJob because there's no proper type
for commit. The used information is is_none_mode.
The common part of mirror_start and commit_active_start is moved to
mirror_start_job().
Fix the comment wording for commit_start.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5bc361b8134eff68e2c40916d1cf58b3523d223b
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:29 2013 +0800
mirror: Move base to MirrorBlockJob
This allows setting the base before entering mirror_run, commit will
make use of it.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f95c625ce4cb7863795fcc36502ac58a44fdb2f1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:28 2013 +0800
mirror: Don't close target
Let reference count manage target and don't call bdrv_close here.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit de99c417f6208a64b68e3b35d2aecbca1f60eae0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Dec 19 16:26:44 2013 +0100
qemu-iotests: drop duplicate virtio-blk initialization failure
Commit 75884afd5c6c42e523b08565e289dbe319e17ad9 ("virtio-blk: Convert to
QOM realize") dropped a duplicate error_report() call. Now we no longer
get the following error message twice:
QEMU_PROG: -drive if=virtio: Device initialization failed.
Update qemu-iotests 051.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 917703c179d4483d050fe112a2a81acec3d6ffd7
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Dec 20 09:48:48 2013 +0800
vmdk: Allow vmdk_create to work with protocol
This improves vmdk_create to use bdrv_* functions to replace qemu_open
and other fd functions. The error handling are improved as well. One
difference is that bdrv_pwrite will round up buffer to sectors, so for
description file, an extra bdrv_truncate is used in the end to drop
inding zeros.
Notes:
- A bonus bug fix is correct endian is used in initializing GD entries.
- ROUND_UP and DIV_ROUND_UP are used where possible.
I tested that new code produces exactly the same file as previously.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Tested-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b47053bd0359c68094d7a25a65687c0844771e34
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 9 13:24:36 2013 +0800
vmdk: Check VMFS extent line field number
VMFS extent line in description file should be with 4 fields:
RW <size> VMFS "file-name.vmdk"
Check the number explicitly and report error if offset is appended as
FLAT, which should be invalid format.
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8282db1b2e7394574cb55fcc608c5cb0df159d8f
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Dec 17 13:56:06 2013 -0500
docs: updated qemu-img man page and qemu-doc to reflect VHDX support.
The man page for qemu-img, and the qemu-doc, did not mention VHDX
as a supported format. This adds in reference to VHDX in those
documents.
[Stefan Weil <sw@xxxxxxxxxxx> suggested s/Block Size/Block size/ for
consistency. I have made this change.
--Stefan]
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7e30e6a6746b417c7e0dbc9af009560fbb63f336
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Dec 17 05:33:37 2013 -0500
block: vhdx - improve error message, and .bdrv_check implementation
If there is a dirty log file to be replayed in a VHDX image, it is
replayed in .vhdx_open(). However, if the file is opened read-only,
then a somewhat cryptic error message results.
This adds a more helpful error message for the user. If an image file
contains a log to be replayed, and is opened read-only, the user is
instructed to run 'qemu-img check -r all' on the image file.
Running qemu-img check -r all will cause the image file to be opened
r/w, which will replay the log file. If a log file replay is detected,
this is flagged, and bdrv_check will increase the corruptions_fixed
count for the image.
[Fixed typo in error message that was pointed out by Eric Blake
<eblake@xxxxxxxxxx>.
--Stefan]
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 219c252193862898430e5dea5efb7447877aaa85
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Dec 17 08:57:10 2013 +0100
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
Function iscsi_read10_task got additional parameters starting with version
libiscsi 1.5.0.
libiscsi 1.4.0 is still widely used (Debian wheezy, jessie and other Linux
distributions currently provide packages for QEMU which use it), so we
still need support for this older API.
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c27de2a3e9c8664116287d639bacd600e61a6b45
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Dec 11 09:49:14 2013 +0100
qapi-schema: fix QEMU 1.8 references
We are moving boldly on to QEMU 2.0 in the next release. Some patches
written at a time where we assumed 1.8 would be the next version number
managed to sneak in.
s/1.8/2.0/ in qapi-schema.json
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 87b7f2f8c8da4d2da2728f0f1ad207973f1ea834
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:27:01 2013 +0100
dataplane: replace hostmem with memory_region_find
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c1b566fd165af6cb12d6ef69eb554a347641e20
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:27:00 2013 +0100
dataplane: change vring API to use VirtQueueElement
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 781c117f3758bdb21e982d2aebba81febceccfe5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:26:59 2013 +0100
vring: factor common code for error exits
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4d684832e54afe971fd8f94cb830ec1e135648e7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:26:58 2013 +0100
vring: create a common function to parse descriptors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e50d7607f1800c9f9c576229c6119e4c82f456d6
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Sat Dec 14 01:29:28 2013 +0800
sheepdog: fix dynamic grow for running qcow2 format
When running qcow2 over sheepdog, we might meet following problem
qemu-system-x86_64: shrinking is not supported
And cause IO errors to Guest. This is because we abuse bs->total_sectors,
which
is manipulated by generic block layer and race with sheepdog code.
We should directly check if offset > vdi_size to dynamically enlarge the
volume
instead of 'offset > bs->total_sectors', which will cause problem when
following
case happens:
vdi_size > offset > bs->total_sectors
# then trigger sd_truncate() to shrink the volume wrongly.
Cc: qemu-devel@xxxxxxxxxx
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reported-by: Hadrien KOHL <hadrien.kohl@xxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f8251db121c3f051b22a7536b97d160c30bcccd4
Merge: 3dc7e2a 5fe269b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 19 17:03:17 2013 -0800
Merge remote-tracking branch 'agraf/tags/signed-ppc-for-upstream' into
staging
Patch queue for ppc - 2013-12-20
Alexander Graf (3):
PPC: Use default pci bus name for grackle and heathrow
roms: Flush icache when writing roms to guest memory
PPC: Add VSX to hflags
Alexey Kardashevskiy (5):
powerpc: add PVR mask support
target-ppc: move POWER7+ to a separate family
spapr-rtas: replace return code constants with macros
spapr-rtas: add ibm, (get|set)-system-parameter
spapr: make sure RMA is in first mode of first memory node
Greg Kurz (1):
target-ppc: add stubs for KVM breakpoints
Paolo Bonzini (1):
spapr: tie spapr-nvram to -pflash
Paul Mackerras (1):
spapr: limit numa memory regions by ram size
Peter Crosthwaite (2):
device_tree: s/qemu_devtree/qemu_fdt globally
device_tree: qemu_fdt_setprop: Rename val_array arg
Tom Musta (19):
Declare and Enable VSX
Add MSR VSX and Associated Exception
Add VSX Instruction Decoders
Add VSR to Global Registers
Add lxvd2x
Add stxvd2x
Add xxpermdi
Add lxsdx
Add lxvdsx
Add lxvw4x
Add stxsdx
Add stxvw4x
Add VSX Scalar Move Instructions
Add VSX Vector Move Instructions
Add Power7 VSX Logical Instructions
Add xxmrgh/xxmrgl
Add xxsel
Add xxspltw
Add xxsldwi
* agraf/tags/signed-ppc-for-upstream: (32 commits)
spapr: limit numa memory regions by ram size
spapr: make sure RMA is in first mode of first memory node
device_tree: qemu_fdt_setprop: Rename val_array arg
device_tree: s/qemu_devtree/qemu_fdt globally
PPC: Add VSX to hflags
Add xxsldwi
Add xxspltw
Add xxsel
Add xxmrgh/xxmrgl
Add Power7 VSX Logical Instructions
Add VSX Vector Move Instructions
Add VSX Scalar Move Instructions
roms: Flush icache when writing roms to guest memory
spapr: tie spapr-nvram to -pflash
PPC: Use default pci bus name for grackle and heathrow
spapr-rtas: add ibm, (get|set)-system-parameter
spapr-rtas: replace return code constants with macros
target-ppc: move POWER7+ to a separate family
Add stxvw4x
Add stxsdx
...
commit 5fe269b16c6dc8f19da3e8c13d4c66958b00d2f0
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Mon Nov 25 14:14:51 2013 +1100
spapr: limit numa memory regions by ram size
This makes sure that all NUMA memory blocks reside within RAM or
have zero length.
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c4177479069d6d643e0e0f90595795406db7efbf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Nov 25 14:14:50 2013 +1100
spapr: make sure RMA is in first mode of first memory node
The SPAPR specification says that the RMA starts at the LPAR's logical
address 0 and is the first logical memory block reported in
the LPARâ??s device tree.
So SLOF only maps the first block and that block needs to span
the full RMA.
This makes sure that the RMA area is where SLOF expects it.
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit be5907f2cc6d075b1d687e51a0e0d8ac074a7ac8
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Nov 11 18:15:21 2013 +1000
device_tree: qemu_fdt_setprop: Rename val_array arg
Looking at the implementation, this doesn't really have a lot to do
with arrays. Its just a pointer to a buffer and is passed through
to the wrapped fn (qemu_fdt_setprop) unchanged. So rename to make it
consistent with libfdt, which in the wrapped function just calls it
"val".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5a4348d1114b7f3dccc578e39e33ef07a1cfabc7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Nov 11 18:14:41 2013 +1000
device_tree: s/qemu_devtree/qemu_fdt globally
The qemu_devtree API is a wrapper around the fdt_ set of APIs.
Rename accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[agraf: also convert hw/arm/virt.c]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c2b63f03977a84d0584d82be6981e4eb5f4faacd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 18 09:21:02 2013 +0100
PPC: Add VSX to hflags
We generate different code depending on whether MSR_VSX is set or
clear, so it needs to be part of our hflags too which indicate whether
we're still in the same translation block cache bucket.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit acc429682c71968b8aef37822879dda3b54dda96
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:23 2013 -0500
Add xxsldwi
This patch adds the VSX Shift Left Double by Word Immediate
(xxsldwi) instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 76c15fe0bdaa5b0c4b458c2b291e27a24494a77f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:22 2013 -0500
Add xxspltw
This patch adds the VSX Splat Word (xxsplatw) instruction.
This is the first instruction to use the UIM immediate field
and consequently a decoder is also added.
V2: reworked implementation per Richard Henderson's comments.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 551e3ef72e59d3975073e2ea3aaf2f7508323063
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:21 2013 -0500
Add xxsel
This patch adds the VSX Select (xxsel) instruction.
The xxsel instruction has four VSR operands. Thus the xC
instruction decoder is added.
The xxsel instruction is massively overloaded in the opcode
table since only bits 26 and 27 are opcode bits. This
overloading is done in matrix fashion with two macros
(GEN_XXSEL_ROW and GEN_XX_SEL).
V2: (1) eliminated unecessary XXSEL macro (2) tighter implementation
using tcg_gen_andc_i64.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ce577d2e48e756f17d4c4a6c6bdc96924a157ca0
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:20 2013 -0500
Add xxmrgh/xxmrgl
This patch adds the VSX Merge High Word and VSX Merge Low Word
instructions.
V2: Now implemented using deposit (per Richard Henderson's comment)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 79ca8a6a76517edb4f54793c638259b9e6dfce66
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:19 2013 -0500
Add Power7 VSX Logical Instructions
This patch adds the VSX logical instructions that are defined
by the Version 2.06 Power ISA (aka Power7):
- xxland
- xxlandc
- xxlor
- xxlxor
- xxlnor
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit be574920b1285c0505ad116795d3a646422a1b8e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:18 2013 -0500
Add VSX Vector Move Instructions
This patch adds the vector move instructions:
- xvabsdp - Vector Absolute Value Double-Precision
- xvnabsdp - Vector Negative Absolute Value Double-Precision
- xvnegdp - Vector Negate Double-Precision
- xvcpsgndp - Vector Copy Sign Double-Precision
- xvabssp - Vector Absolute Value Single-Precision
- xvnabssp - Vector Negative Absolute Value Single-Precision
- xvnegsp - Vector Negate Single-Precision
- xvcpsgnsp - Vector Copy Sign Single-Precision
V3: Per Paolo Bonzini's suggestion, used a temporary for the
sign mask and andc.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df020ce07045413ab3205916a3cde64bb150694c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:17 2013 -0500
Add VSX Scalar Move Instructions
This patch adds the VSX scalar move instructions:
- xsabsdp (Scalar Absolute Value Double-Precision)
- xsnabspd (Scalar Negative Absolute Value Double-Precision)
- xsnegdp (Scalar Negate Double-Precision)
- xscpsgndp (Scalar Copy Sign Double-Precision)
A common generator macro (VSX_SCALAR_MOVE) is added since these
instructions vary only slightly from each other.
Macros to support VSX XX2 and XX3 form opcodes are also added.
These macros handle the overloading of "opcode 2" space (instruction
bits 26:30) caused by AX and BX bits (29 and 30, respectively).
V3: Per feedback from Paolo Bonzini, moved the sign mask into a
temporary and used andc.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 582b55a96ac4f66cea64d82e47651bd5ef38a8ec
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 11 14:17:44 2013 +0100
roms: Flush icache when writing roms to guest memory
We use the rom infrastructure to write firmware and/or initial kernel
blobs into guest address space. So we're basically emulating the cache
off phase on very early system bootup.
That phase is usually responsible for clearing the instruction cache for
anything it writes into cachable memory, to ensure that after reboot we
don't happen to execute stale bits from the instruction cache.
So we need to invalidate the icache every time we write a rom into guest
address space. We do not need to do this for every DMA since the guest
expects it has to flush the icache manually in that case.
This fixes random reboot issues on e5500 (booke ppc) for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3978b863a5d8ac1c02848bf57d0a7f7067826a8a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 10:27:40 2013 +0100
spapr: tie spapr-nvram to -pflash
spapr-nvram's drive property is currently connected to a non-existent
"-machine nvram=<drivename>" option. Instead, tie it to -pflash like
other non-volatile RAM devices. This provides the following possibilities
for adding a backend for the sPAPR non-volatile RAM:
* -pflash filename
* -drive if=pflash,file=filename,format=raw,...
* -drive if=none,file=filename,format=raw,id=foo,... -global
spapr-nvram.drive=foo
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8a0e11045d5f50d300e0ab1ba05f4c8217fb5dcb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 4 12:42:32 2013 +0100
PPC: Use default pci bus name for grackle and heathrow
There's no good reason to call our bus "pci" rather than let the default
bus name take over ("pci.0").
The big downside to calling it different from anyone else is that tools
that pass -device get confused. They are looking for a bus "pci.0" rather
than "pci".
To make life easier for everyone, let's just drop the name override.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3ada6b113726ae554154f6e5367bf4b4ed110bbe
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Nov 19 15:28:55 2013 +1100
spapr-rtas: add ibm, (get|set)-system-parameter
This adds very basic handlers for ibm,get-system-parameter and
ibm,set-system-parameter RTAS calls.
The only parameter handled at the moment is
"platform-processor-diagnostics-run-mode" which is always disabled and
does not support changing. This is expected to make
"ppc64_cpu --run-mode=1" happy.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[agraf: s/papameter/parameter/g]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a64d325df1ce9b554e15d612b80775159cc4d7a6
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Nov 19 15:28:54 2013 +1100
spapr-rtas: replace return code constants with macros
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b650d6a2fcb77e2e42872ebd102ba387d547ab77
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Nov 19 12:39:15 2013 +1100
target-ppc: move POWER7+ to a separate family
So far POWER7+ was a part of POWER7 family. However it has a different
PVR base value so in order to support PVR masks, it needs a separate
family class.
This adds a new family class, PVR base and mask values and moves
Power7+ v2.1 CPU to a new family. The class init function is copied
from the POWER7 family.
This defines a firmware name for the new family as "PowerPC,POWER7+"
instead of previously used "PowerPC,POWER7" from the POWER7 family.
The reason for that is that the Sapphire firmware (a h0st firmware)
uses "PowerPC,POWER7+" already and since no specification defines
exactly the CPU nodes naming in the device tree, we better stay
in sync with the host firmware.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 86e61ce3d0e4806519c79f2555f20b7b3283bdab
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:16 2013 -0500
Add stxvw4x
This patch adds the Store VSX Vector Word*4 Indexed (stxvw4x)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9231ba9ee9c7d68364a28657109d2f7c32e12971
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:15 2013 -0500
Add stxsdx
This patch adds the Store VSX Scalar Doubleword Indexed (stxsdx)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 897e61d13777a5995d3cd12fcaf44eb4bbb5439c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:14 2013 -0500
Add lxvw4x
This patch adds the Load VSX Vector Word*4 Indexed (lxvw4x)
instruction.
V2: changed to use deposit_i64 per Richard Henderson's review.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ca03b46765d4633f5746764696058b0cb33ac487
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:13 2013 -0500
Add lxvdsx
This patch adds the Load VSX Vector Doubleword & Splat Indexed
(lxvdsx) instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fa1832d7e2fccfe3ea55d2885c023daa285342d4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:12 2013 -0500
Add lxsdx
This patch adds the Load VSX Scalar Doubleowrd Indexed (lxsdx)
instruction.
The lower 8 bytes of the target register are undefined; this
implementation leaves those bytes unaltered.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cd73f2c992765141b3497551ebdf841b26c238ca
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:09:35 2013 +1100
Add xxpermdi
This patch adds the xxpermdi instruction. The instruction
uses bits 22, 23, 29 and 30 for non-opcode fields (DM, AX
and BX). This results in overloading of the opcode table
with aliases, which can be seen in the GEN_XX3FORM_DM
macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fbed2478e9ba22f091e3842123252a902dc5b98d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:09:00 2013 +1100
Add stxvd2x
This patch adds the stxvd2x instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 304af367427301697df32112c50448b7d55c7054
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:08:32 2013 +1100
Add lxvd2x
This patch adds the lxvd2x instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 472b24ce2b4f22363ec9a556e479be6ad5180727
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:07:41 2013 +1100
Add VSR to Global Registers
This patch adds VSX VSRs to the the list of global register indices.
More specifically, it adds the lower halves of the first 32 VSRs to
the list of global register indices. The upper halves of the first
32 VSRs are already defined via cpu_fpr[]. And the second 32 VSRs
are already defined via the cpu_avrh[] and cpu_avrl[] arrays.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f9fc6d810f6777a253337ba050639d266e9a3538
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:06:46 2013 +1100
Add VSX Instruction Decoders
This patch adds decoders for the VSX fields XT, XS, XA, XB and
DM. The first four are split fields and a general helper for
these types of fields is also added.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f29871cb7518692cf5c1fa8c19b117c789ff7f0
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:06:17 2013 +1100
Add MSR VSX and Associated Exception
This patch adds support for the VSX bit of the PowerPC Machine
State Register (MSR) as well as the corresponding VSX Unavailable
exception.
The VSX bit is added to the defined bits masks of the Power7 and
Power8 CPU models.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 74f239975501cf0ad886a5d40ce40aecbb9dc0b2
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:05:46 2013 +1100
Declare and Enable VSX
This patch adds the flag POWERPC_FLAG_VSX to the list of defined
flags and also adds this flag to the list of supported features of
the Power7 and Power8 CPUs. Additionally, the VSX instructions
are added to the list of TCG-enabled instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3bc9ccc054574820190f0e6bbfd299bc2d42323d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Sep 27 18:05:03 2013 +1000
powerpc: add PVR mask support
IBM POWERPC processors encode PVR as a CPU family in higher 16 bits and
a CPU version in lower 16 bits. Since there is no significant change
in behavior between versions, there is no point to add every single CPU
version in QEMU's CPU list. Also, new CPU versions of already supported
CPU won't break the existing code.
This adds PVR value/mask support for KVM, i.e. for -cpu host option.
As CPU family class name for POWER7 is "POWER7-family", there is no need
to touch aliases.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c65f9a07a78afa3c98712f6192962ffd6babe339
Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 11 14:15:34 2013 +0100
target-ppc: add stubs for KVM breakpoints
The latest update to v3.13-rc3 (bf63839f) breaks the
ppc build with KVM:
kvm-all.o: In function `kvm_update_guest_debug':
kvm-all.c:1910: undefined reference to `kvm_arch_update_guest_debug'
kvm-all.o: In function `kvm_insert_breakpoint':
kvm-all.c:1937: undefined reference to `kvm_arch_insert_sw_breakpoint'
kvm-all.c:1945: undefined reference to `kvm_arch_insert_hw_breakpoint'
kvm-all.o: In function `kvm_remove_breakpoint':
kvm-all.c:1977: undefined reference to `kvm_arch_remove_sw_breakpoint'
kvm-all.c:1985: undefined reference to `kvm_arch_remove_hw_breakpoint'
kvm-all.o: In function `kvm_remove_all_breakpoints':
kvm-all.c:2009: undefined reference to `kvm_arch_remove_sw_breakpoint'
kvm-all.c:2006: undefined reference to `kvm_arch_remove_sw_breakpoint'
kvm-all.c:2017: undefined reference to
`kvm_arch_remove_all_hw_breakpoints'
We need stubs until something gets implemented.
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3dc7e2a3fedafc2f951bd62300b342c84e3606f8
Merge: f46e720 84291fe
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 19 11:56:33 2013 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20131217'
into staging
target-arm queue:
* AES instruction support for 32 bit ARM
* pflash01: much better emulation of 2x16bit and similar configs
where multiple flash devices are banked together
* fixed CBAR handling on Zynq, Highbank
* initial AArch64 KVM control support
* first two chunks of patches for A64 instruction emulation
* new board: canon-a1100 (Canon DIGIC SoC)
* new board: cubieboard (Allwinner A10 SoC)
# gpg: Signature made Tue 17 Dec 2013 12:18:39 PM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Alexander Graf (14) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20131217: (62 commits)
MAINTAINERS: add myself to maintain allwinner-a10
hw/arm: add cubieboard support
hw/arm: add allwinner a10 SoC support
hw/intc: add allwinner A10 interrupt controller
hw/timer: add allwinner a10 timer
vmstate: Add support for an array of ptimer_state *
MAINTAINERS: Document 'Canon DIGIC' machine
hw/arm/digic: add NOR ROM support
hw/arm/digic: add UART support
hw/arm/digic: add timer support
hw/arm/digic: prepare DIGIC-based boards support
hw/arm: add very initial support for Canon DIGIC SoC
target-arm: A64: add support for logical (immediate) insns
target-arm: A64: add support for 1-src CLS insn
host-utils: add clrsb32/64 - count leading redundant sign bits
target-arm: A64: add support for bitfield insns
target-arm: A64: add support for 1-src REV insns
target-arm: A64: add support for 1-src RBIT insn
target-arm: A64: add support for 1-src data processing and CLZ
target-arm: A64: add support for 2-src shift reg insns
...
Message-id: 1387312160-12318-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10c8599a49f99180c2f79596325a5e856cdac59f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 19:50:01 2013 +0100
s390x/ioinst: CHSC has to set a condition code
I missed to set the CC in the CHSC instruction when I refactored
the CC setting in the IO instructions with the following commit:
5d9bf1c07c1369ab3506fc82cc65a10f4415d867
s390/ioinst: Moved the CC setting to the IO instruction handlers
This patch now restores the correct behaviour of CHSC by setting the
condition code 0 at the end of the instruction.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3796f0e1cda41eacf4fc915e7edaf54f2279466c
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:09 2013 +0100
s390x/kvm: Fixed condition code for unknown SIGP orders
If SIGP is called with an unknown order code, it has to return CC1
instead of CC3 and set the "invalid order" bit in the return status.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b8031adba791325907d8a9e19af8d483996974fd
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:08 2013 +0100
s390x/kvm: Simplified the calculation of the SIGP order code
We've already got a helper function for calculating the
base/displacement of RS formatted instructions, so we can
get rid of the manual calculation of the SIGP order code.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b20a461fcd55d2b05e729c587244eddc60b9527f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:07 2013 +0100
s390x/kvm: Implemented SIGP START
This patch adds the missing START order to the SIGP instruction handler.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0b9972a2483b27824f3ec71b7b8b4a5961614216
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:06 2013 +0100
s390x/kvm: Fix coding style in handle_sigp()
To make scripts/checkpatch.pl happy for the following patches,
the coding style in handle_sigp() has to be fixed first.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cd7a0f4cf905c421743357a55f107b86ee1ded9d
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:05 2013 +0100
s390x/kvm: Removed s390_store_status stub
The SIGP order STORE STATUS AT ADDRESS will be handled in
kernel space, so we do not need the stub in QEMU anymore.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4f91e0b5d8b116c16964926a103e01623dbd81b6
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:04 2013 +0100
s390x/kvm: Removed duplicated SIGP defines
The SIGP order defines are also available in cpu.h,
so there is no need to re-define them in kvm.c.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 638129ff475dd3b4c0e57e0be598efe41461e9b3
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Dec 17 18:27:33 2013 +0100
s390x/kvm: Fix diagnose handling.
The instruction intercept handler for diagnose used only the displacement
when trying to calculate the function code. This is only correct for base
0, however; we need to perform a complete base/displacement address
calculation and use bits 48-63 as the function code.
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6bdf863d942a267f984e4bd82be80cb2ac5b9915
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Dec 17 20:05:13 2013 +0100
kvm: x86: Separately write feature control MSR on reset
If the guest is running in nested mode on system reset, clearing the
feature MSR signals the kernel to leave this mode. Recent kernels
processes this properly, but leave the VCPU state undefined behind. It
is the job of userspace to bring it to a proper shape. Therefore, write
this specific MSR first so that no state transfer gets lost.
This allows to cleanly reset a guest with VMX in use.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 84291fe7a34f8c2d595bcdb77ff506d1d60fcd7c
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
MAINTAINERS: add myself to maintain allwinner-a10
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Message-id: 1387159292-10436-7-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a01c005327007562f3313f3efe235f77309db809
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
hw/arm: add cubieboard support
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387159292-10436-6-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9158fa5451b5929f1d882ef08c30b4f4aadd6945
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
hw/arm: add allwinner a10 SoC support
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387159292-10436-5-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c3931ee8b42def4089831b4d79e93c5b05667ff6
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
hw/intc: add allwinner A10 interrupt controller
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387159292-10436-4-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3589de8c971df29562fcaf2d9b04f0886aff4866
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
hw/timer: add allwinner a10 timer
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387159292-10436-3-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a1f05e79f2c207bded5efc23e8c6b1ca58161a8e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
vmstate: Add support for an array of ptimer_state *
Add support for defining a vmstate field which is an array
of pointers to structures, and use this to define a
VMSTATE_PTIMER_ARRAY() which allows an array of ptimer_state*
to be used by devices.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387159292-10436-2-git-send-email-lig.fnst@xxxxxxxxxxxxxx
commit 9082f12173d407290bcec9f4ae84242972b2480c
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
MAINTAINERS: Document 'Canon DIGIC' machine
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Message-id: 1387188908-754-7-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 04234a37b1a89f3f119ef59c143a7b2e0a1ab40e
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
hw/arm/digic: add NOR ROM support
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Message-id: 1387188908-754-6-git-send-email-antonynpavlov@xxxxxxxxx
[PMM: don't try to load ROM blob if qtest_enabled()]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 142593c9d700e02b316443bcaa99226720242625
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
hw/arm/digic: add UART support
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387188908-754-5-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 576e99cb951e9c1a289555a31cfd5b9040e80037
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
hw/arm/digic: add timer support
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387188908-754-4-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d91fd756fb2af16584d338c4ef715f40ea49924c
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
hw/arm/digic: prepare DIGIC-based boards support
Also this patch adds initial support for Canon
PowerShot A1100 IS compact camera.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Message-id: 1387188908-754-3-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6f09eb4a0ea14b68f2745e87641c79a51057959
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
hw/arm: add very initial support for Canon DIGIC SoC
DIGIC is Canon Inc.'s name for a family of SoC
for digital cameras and camcorders.
There is no publicly available specification for
DIGIC chips. All information about DIGIC chip
internals is based on reverse engineering efforts
made by CHDK (http://chdk.wikia.com) and
Magic Lantern (http://www.magiclantern.fm) projects
contributors.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387188908-754-2-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 71b46089303beb7d52a0b9397f5c286a7e66275f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
target-arm: A64: add support for logical (immediate) insns
This patch adds support for C3.4.4 Logical (immediate),
which include AND, ANDS, ORR, EOR.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder, function renaming,
removed a TCG temp variable]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM: cleaned up some unnecessary code in logic_imm_decode_wmask
and added clarifying commentary on what it's actually doing.
Dropped an ext32u that's not needed if we've just done an AND.]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e80c502023d332fb60866eb378e715ab3f158b72
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src CLS insn
this patch adds support for the CLS instruction.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit afd3fe4ce56e6fb0d0384ddb8e3c4fac01935c37
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
host-utils: add clrsb32/64 - count leading redundant sign bits
this patch introduces wrappers for the clrsb builtins,
which count the leading redundant sign bits.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 880777423525685ccaf1bf6967b27cc8a38e5f96
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for bitfield insns
This patch implements the C3.4.2 Bitfield instructions:
SBFM, BFM, UBFM.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 453232096c4e93ec871f7ff97abfc0bf54258c95
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src REV insns
This adds support for C5.6.149 REV, C5.6.151 REV32, C5.6.150 REV16.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 82e14b02a2bd822af6db2ef728a1698b9a24e50c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src RBIT insn
This adds support for the C5.6.147 RBIT instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder, use bswap64,
make RBIT part standalone from the rest of the patch,
splitting REV into a separate patch]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 680ead216e666e5cc192fe86adf30563999a5dd8
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src data processing and CLZ
This patch adds support for decoding 1-src data processing insns,
and the first user, C5.6.40 CLZ (count leading zeroes).
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6c1adc919b6a81e008b919c53902b4877ef4d737
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for 2-src shift reg insns
This adds 2-src variable shift register instructions:
C5.6.115 LSLV, C5.6.118 LSRV, C5.6.17 ASRV, C5.6.154 RORV
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder, use enums for shift types]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8220e911c240df5b4b2a1473f0ba9feddc154c45
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for 2-src data processing and DIV
This patch adds support for decoding 2-src data processing insns,
and the first users, UDIV and SDIV.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder adding the 2-src decoding level,
always zero-extend result in 32bit mode]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e801de93d0155c0c14d6b4dea1b3577ca36e214b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for EXTR
This patch adds emulation support for the EXTR instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted for new decoder, removed a few temporaries,
fixed the 32bit bug, added checks for more
unallocated cases]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 15bfe8b650a0fd40940cb8f4bfc8c57d6940173e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for ADR and ADRP
Add support for the instructions described in
"C3.4.6 PC-rel. addressing" (ADR and ADRP).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder structure]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 832ffa1ce073f010fd1c766361b2e35ce3f105d3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for logical (shifted register)
Add support for the instructions described in "C3.5.10 Logical
(shifted register)".
We store the flags in the same locations as the 32 bit decoder.
This is slightly awkward when calculating 64 bit results, but seems
a better tradeoff than having to rework the whole 32 bit decoder
and also make 32 bit result calculation in A64 awkward.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: some refactoring to avoid hidden allocation of temps,
rework flags, use enums for shift types,
renaming of functions]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM: Use TCG's andc/orc/eqv ops rather than manually inverting]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e952d8c77a59dd31b5a4332f19e19f43dc90bd68
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for conditional select
This patch adds support for the instruction group "C3.5.6
Conditional select": CSEL, CSINC, CSINV, CSNEG.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM: Improved code generated in the nomatch case as per RTH suggestions]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 60e5338831e35e7b407b1670f5fe936859ea5490
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for compare and branch imm
This patch adds emulation for the compare and branch insns,
CBZ and CBNZ.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder,
compare with immediate 0,
introduce read_cpu_reg to get the 0 extension on (!sf)]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit db0f79589c16fe7f697716f4cadc903a2575ef55
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for 'test and branch' imm
This patch adds emulation for the test and branch insns,
TBZ and TBNZ.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio:
adapted for new decoder
always compare with 0
remove a TCG temporary
]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39fb730aed8c5f7b0058845cb9feac0d4b177985
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for conditional branches
This patch adds emulation for the conditional branch (b.cond) instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder structure,
reused arm infrastructure for checking the flags]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b001c8c3d6855b0b52fc0fdd63b5a93fd326bf0c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for BR, BLR and RET insns
Implement BR, BLR and RET. This is all of the 'unconditional
branch (register)' instruction category except for ERET
and DPRS (which are system mode only).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: reimplemented on top of new decoder structure]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 11e169de9940b9dc057e534ecf864c542fafb425
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: add support for B and BL insns
Implement the B and BL instructions (PC relative branches and calls).
For convenience in managing TCG temporaries which might be generated
if a source register is the zero-register XZR, we provide a simple
mechanism for creating a new temp which is automatically freed at the
end of decode of the instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: renamed functions, adapted to new decoder layout]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 87462e0f41fccc353f9c902caed563ab7cbdd8ed
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: expand decoding skeleton for system instructions
Decode the various kinds of system instructions:
hints (HINT), which include NOP, YIELD, WFE, WFI, SEV, SEL
sync instructions, which include CLREX, DSB, DMB, ISB
msr_i, which move immediate to processor state field
sys, which include all SYS and SYSL instructions
msr, which move from a gp register to a system register
mrs, which move from a system register to a gp register
Provide implementations where they are trivial nops.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad7ee8a290d08a2fe9d408af2461d1f583d96f7d
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: provide skeleton for a64 insn decoding
Provide a skeleton for a64 instruction decoding in translate-a64.c,
by dividing instructions into the classes defined by the
ARM Architecture Reference Manual(DDI0487A_a) section C3.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3e35a1fe4562ee3f9f1af91ab02d62cf31b9488
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: add stubs for a64 specific helpers
We will need helpers that only make sense with AArch64. Add
helper-a64.{c,h} files as stubs that we can fill with these
helpers in the following patches.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a66942735569ec7f8b761c1205e6f4c50962fe4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: Support fp registers in gdb stub
Register the aarch64-fpu XML and implement the necessary
read/write handlers so we can support reading and writing
of FP registers in the gdb stub.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f903fa22f4d7f3a20c4d0f42e7585ed80a3ec051
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
target-arm: A64: provide functions for accessing FPCR and FPSR
The information which AArch32 holds in the FPSCR is split for
AArch64 into two logically distinct registers, FPSR and FPCR.
Since they are carefully arranged to use non-overlapping bits,
we leave the underlying state in the same place, and provide
accessor functions which just update the appropriate bits
via vfp_get_fpscr() and vfp_set_fpscr().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
target-arm: A64: add set_pc cpu method
When executing translation blocks we need to be able to recover
our program counter. Add a method to set it for AArch64 CPUs.
This covers user-mode, but for system mode emulation we will
need to check if the CPU is in an AArch32 execution state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
target-arm: Split A64 from A32/T32 gen_intermediate_code_internal()
The A32/T32 gen_intermediate_code_internal() is complicated because it
has to deal with:
* conditionally executed instructions
* Thumb IT blocks
* kernel helper page
* M profile exception-exit special casing
None of these apply to A64, so putting the "this is A64 so
call the A64 decoder" check in the middle of the A32/T32
loop is confusing and means the A64 decoder's handling of
things like conditional jump and singlestepping has to take
account of the conditional-execution jumps the main loop
might emit.
Refactor the code to give A64 its own gen_intermediate_code_internal
function instead.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 013424d436b83f7ba8366b1d40bf82c4f6716f5e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
default-configs: Add config for aarch64-softmmu
Add a config for aarch64-softmmu; this enables building of this target.
The resulting executable doesn't know about any 64 bit CPUs, but all
the 32 bit CPUs and board models work.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-8-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 4d9ebf751a5a98e5dc2e26baf2344e744f4fa7b9
Author: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
hw/arm/boot: Add boot support for AArch64 processor
This commit adds support for booting a single AArch64 CPU by setting
appropriate registers. The bootloader includes placeholders for Board-ID
that are used to implement uniform indexing across different bootloaders.
Signed-off-by: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-7-git-send-email-peter.maydell@xxxxxxxxxx
[PMM:
* updated to use ARMInsnFixup style bootloader fragments
* dropped virt.c additions
* use runtime checks for "is this an AArch64 core" rather than ifdefs
* drop some unnecessary setting of registers in reset hook
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 47b1da8134610c10a672b249808dbc763308668e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
hw/arm/boot: Allow easier swapping in of different loader code
For AArch64 we will obviously require a different set of
primary and secondary boot loader code fragments. However currently
we hardcode the offsets into the loader code where we must write
the entrypoint and other data into arm_load_kernel(). This makes it
hard to substitute a different loader fragment, so switch to a more
flexible scheme where instead of a raw array of instructions we use
an array of (instruction, fixup-type) pairs that indicate which
words need special action or data written into them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-6-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 70a5f682f34c04d13164eb0d55241b7378f02030
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
configure: Enable KVM for aarch64 host/target combination
Enable KVM if the host and target CPU are both aarch64. Note
that host aarch64 + target arm is not valid for KVM acceleration:
the 64 bit kernel does not support the ioctl interface for
32 bit CPUs. 32 bit VMs on 64 bit hosts need to be created
using the 64 bit ioctl interface; when QEMU supports this it
will be on the arch64-softmmu target with a -cpu parameter for
a 32 bit CPU, which is still an aarch64/aarch64 combination
as far as configure is concerned.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-5-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 26861c7ce06c055786323ff4c65af74d735d1c19
Author: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
target-arm: Add minimal KVM AArch64 support
Add the bare minimum set of functions needed for control of an
AArch64 KVM vcpu:
* CPU initialization
* minimal get/put register functions which only handle the
basic state of the CPU
Signed-off-by: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-4-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: significantly overhauled; most notably:
* code lives in kvm64.c rather than using #ifdefs
* support '-cpu host' rather than implicitly using whatever the
host's CPU is regardless of what the user requests
* fix bug attempting to get/set nonexistent X[31]
* fix bug writing 64 bit kernel pstate into uint32_t env field
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit d356312fdc8640af929e0dbab61c6e514d47feb8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
target-arm: Clean up handling of AArch64 PSTATE
The env->pstate field is a little odd since it doesn't strictly
speaking represent an architectural register. However it's convenient
for QEMU to use it to hold the various PSTATE architectural bits
in the same format the architecture specifies for SPSR registers
(since this is the same format the kernel uses for signal handlers
and the KVM register). Add some structure to how we deal with it:
* document what env->pstate is
* add some #defines for various bits in it
* add helpers for reading/writing it taking account of caching
of NZCV, and use them where appropriate
* reset it on startup
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-3-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit b197ebd410f0298ec078c3048f9cfb9f6bfc3b3c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
target-arm/kvm: Split 32 bit only code into its own file
Split ARM KVM support code which is 32 bit specific out into its
own file, which we only compile on 32 bit hosts. This will give
us a place to add the 64 bit support code without adding lots of
ifdefs to kvm.c.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-2-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 387f980676aedcc67baddbf5fd1c9169f331f30b
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
ARM: arm_cpu_reset: make it possible to use high vectors for reset_exc
If hivecs are being used on reset, the CPU should come out of reset at
the hivecs reset vector (0xFFFF0000)
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
3afc69c4f58f60aa2bbee7b91574a4eb414b1c23.1387160489.git.peter.crosthwaite@xxxxxxxxxx
[ PC Changes:
* Fixed Grammar error in commit message
* Elaborated commit message.
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 68e0a40a5342e798a76ff4c9bf33837e30099ef7
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
ARM: cpu: add "reset_hivecs" property
Add an ARM CPU property for the reset value of hivecs as it is a
board/SoC configurable setting.
The existence of the property is conditional on the ARM CPU not being M
class.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
b04216c6bda4bd163f44a55bba552d0e8267481f.1387160489.git.peter.crosthwaite@xxxxxxxxxx
[ PC Changes:
* Elaborated commit message
* refactored to use qdev_property_add_static
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e2cddeeb97a47cd58384cfd86ae79c9bbe829255
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
arm/highbank.c: Fix MPCore periphbase name
GIC_BASE_ADDR is not the base address of the GIC. Its clear from the
code that this is the base address of the MPCore. Rename to
MPCORE_PERIPHBASE accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
90798bd3507205c16238b8b19a1a58c5437cf7ca.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c25771281ea17c2a09c86ac6a74672f2ec297f8d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
arm/xilinx_zynq: Implement CBAR initialisation
Fix the CBAR initialisation by using the newly defined static property.
Zynq will now correctly init the CBAR to the SCU base address.
Needed to boot Linux on the xilinx_zynq machine model.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
8db7d57ebe5418fed397fcc86ea719f98446c178.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d8bbdcf8d6cb71735014dbd22baf274aea46066f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
arm/xilinx_zynq: Use object_new() rather than cpu_arm_init()
To allow the machine model to set device properties before CPU
realization.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e57658b4506b26ab6b6fadbe6d7827f669f51895.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c0f1ead985e024dd8d01bba650bc753083a2cc2a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
arm/highbank: Fix CBAR initialisation
Fix the CBAR initialisation by using the newly defined static property.
CBAR is now set before realization, so the intended value is now
actually used.
So I have kind of tested this. I booted an ARM kernel on Highbank with
the stock Highbank DTB. It doesn't boot (and I will be doing something
wrong), but before this patch I got this:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at
/workspaces/pcrost/public/linux2.git/arch/arm/mm/ioremap.c:301
__arm_ioremap_pfn_caller+0x180/0x198()
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
3.13.0-rc1-next-20131126-dirty #2
[<c0015164>] (unwind_backtrace) from [<c00118c0>] (show_stack+0x10/0x14)
[<c00118c0>] (show_stack) from [<c02bd5fc>] (dump_stack+0x78/0x90)
[<c02bd5fc>] (dump_stack) from [<c001f110>]
(warn_slowpath_common+0x68/0x84)
[<c001f110>] (warn_slowpath_common) from [<c001f1f4>]
(warn_slowpath_null+0x1c/0x24)
[<c001f1f4>] (warn_slowpath_null) from [<c0017c6c>]
(__arm_ioremap_pfn_caller+0x180/0x198)
[<c0017c6c>] (__arm_ioremap_pfn_caller) from [<c0017cd8>]
(__arm_ioremap_caller+0x54/0x5c)
[<c0017cd8>] (__arm_ioremap_caller) from [<c0017d10>]
(__arm_ioremap+0x18/0x1c)
[<c0017d10>] (__arm_ioremap) from [<c03913c0>]
(highbank_init_irq+0x34/0x8c)
[<c03913c0>] (highbank_init_irq) from [<c038c228>] (init_IRQ+0x28/0x2c)
[<c038c228>] (init_IRQ) from [<c03899ec>] (start_kernel+0x234/0x398)
[<c03899ec>] (start_kernel) from [<00008074>] (0x8074)
---[ end trace 3406ff24bd97382f ]---
Which disappears with this patch.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
fedec366aaa512d75093635f523d1dbcb3358361.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f282f29626b6ce65641fb5f8cb631aaade0e51c5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
arm/highbank: Use object_new() rather than cpu_arm_init()
To allow the machine model to set device properties before CPU
realization.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
8c671e500390c8be0cc363e887e32867d1d1b0d2.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 07a5b0d21e450842e3474546366593a5893e8c61
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
target-arm/cpu: Convert reset CBAR to a property
The reset value of the CP15 CBAR is a vendor (machine) configurable
property. If ARM_FEATURE_CBAR is set, add it as a property at
post_init time.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2f1eec3f912135deea6252360e03645003d12e0a.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d8ba780b6a17020aadea479ad96ed9fe3bb10661
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
target-arm: Define and use ARM_FEATURE_CBAR
Some processors (notably A9 within Highbank) define and use the
CP15 configuration base address (CBAR). This is vendor specific
so its best implemented as a CPU property (otherwise we would need
vendor specific child classes for every ARM implementation).
This patch prepares support for converting CBAR reset value to
a CPU property by moving the CP registration out of the CPU
init fn, as registration will need to happen at realize time
to pick up any property updates. The easiest way to do this
is via definition of a new ARM_FEATURE to flag the existence
of the register.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
9f697ef1e2ee60a3b9ef971a7f3bc3fa6752a9b7.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3671cd879a2666ca1d6e8820a319924be25d6746
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
target-arm/helper.c: Allow cp15.c15 dummy override
The cp15.c15 space is implementation defined. Currently there is a
dummy placeholder register RAZing it. Allow overriding of this RAZ
so implementations of specific registers can take precedence.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
ed1bacec56dae00cb398c798f8240e8e685f949c.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0163a2dc80b52553a478fa6e60f09cef4b338d42
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
Fix NOR flash device ID reading
Fix NOR flash manufacturer and device ID reading. This now
properly takes into account device widths and device max widths
as required. The reading of these IDs uses the same max_width
dependent addressing as CFI queries.
The old code remains for chips that don't specify a device width,
as the new code relies on a device width being set in order to
properly operate. The existing code seems very broken.
Only ident0 and ident1 are used in the new code, as other fields
relate to the lock state of blocks in flash.
The VExpress flash configuration has been updated to match
the new code, as the existing definition was 'wrong' in order
to return the expected results with the broken device ID code.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-8-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4433e660e3ff19747d9ca7fd3873407ecfb276bf
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
Fix CFI query responses for NOR flash
This change fixes the CFI query responses to handle NOR device
widths that are different from the bank width. Support is also
added for multi-width devices in a x8 configuration. This is
typically x8/x16 devices, but the CFI specification mentions
x8/x32 devices so those should be supported as well if they
exist.
The query response data is now replicated per-device in the bank,
and is adjusted for x16 or x32 parts configured in x8 mode.
The existing code is left in place for boards that have not
been updated to specify an explicit device_width. The VExpress
board has been updated in an earlier patch in this series so
this is the only board currently affected.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-7-git-send-email-roy.franz@xxxxxxxxxx
[PMM: fixed a few formatting nits]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fa21a7b13e97120c789eda1dbae87a9bcb1efe09
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
Add max device width parameter for NOR devices
For handling CFI and device ID reads, we need to not only know the
width that a NOR flash device is configured for, but also its maximum
width. The maximum width addressing mode is used for multi-width
parts no matter which width they are configured for. The most common
case is x16 parts that also support x8 mode. When configured for x8
operation these devices respond to CFI and device ID requests differently
than native x8 NOR parts.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-6-git-send-email-roy.franz@xxxxxxxxxx
[PMM: Added comment explaining the semantics of width vs device-width
vs max-device-width]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b8433303fbc5a4a694adb0f0aff5059442ae63e3
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
Set proper device-width for vexpress flash
Create vexpress specific pflash registration
function which properly configures the device-width
of 16 bits (2 bytes) for the NOR flash on the
vexpress platform. This change is required for
buffered flash writes to work properly.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-5-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2003889f67755d47ab355c7813c587adb204eeea
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
return status for each NOR flash device
Now that we know how wide each flash device that makes up the bank is,
return status for each device in the bank. Leave existing code
that treats 32 bit wide banks as composed of two 16 bit devices as
otherwise
we may break configurations that do not set the device_width propery.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-4-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1997b48527c38fe8cdbbb3df82ed79aa3ee88b83
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
Add device-width property to pflash_cfi01
The width of the devices that make up the flash interface
is required to mask certain commands, in particular the
write length for buffered writes. This length will be presented
to each device on the interface by the program writing the flash,
and the flash emulation code needs to be able to determine
the length of the write as recieved by each flash device.
The device-width defaults to the bank width which should
maintain existing behavior for platforms that don't need
this change.
This change is required to support buffered writes on the
vexpress platform that has a 32 bit flash interface with 2
16 bit devices on it.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-3-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4b6fedcac0f51157ef042cde80d5dc5d0c9ef8a4
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
rename pflash_t member width to bank_width
Rename the 'width' member of the pflash_t structure
in preparation for adding a bank_width member.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386279359-32286-2-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9d935509fdb48e47cc46e81d2b9d466b18b546ba
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Tue Dec 17 19:42:25 2013 +0000
target-arm: add support for v8 AES instructions
This adds support for the AESE/AESD/AESMC/AESIMC instructions that
are available on some v8 implementations of Aarch32.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Message-id: 1386266078-6976-1-git-send-email-ard.biesheuvel@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f46e720a82ccdf1a521cf459448f3f96ed895d43
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Nov 28 18:12:59 2013 +0100
qemu_opts_parse(): always check return value
qemu_opts_parse() can always return NULL, even if the QemuOptsList.desc in
question would be trivial to satisfy (eg. because it's empty). For
example:
qemu_opts_parse()
opts_parse()
qemu_opts_create()
id_wellformed()
In practice:
$ .../qemu-system-x86_64 -acpitable id=3
qemu-system-x86_64: -acpitable id=3: Parameter 'id' expects an
identifier
**
ERROR:vl.c:3491:main: assertion failed: (opts != NULL)
Aborted (core dumped)
$ .../qemu-system-x86_64 -smbios id=3
qemu-system-x86_64: -smbios id=3: Parameter 'id' expects an identifier
Segmentation fault (core dumped)
I checked all qemu_opts_parse() invocations (and all drive_def()
invocations too, because it blindly forwards the former's retval). Only
the two above examples look problematic.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1385658779-7529-1-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b91f93243bbe36dc436a64a662a9bbfb2362534a
Merge: 80d6f5e 75c70e3
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 16 09:44:13 2013 -0800
Merge remote-tracking branch 'spice/tags/pull-spice-1' into staging
Collection of little cleanups anf bugfixes.
nbd patches in preparation of spice-nbd.
# gpg: Signature made Mon 16 Dec 2013 01:27:45 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Marc-André Lureau (12) and Gerd Hoffmann (4)
# Via Gerd Hoffmann
* spice/tags/pull-spice-1:
spice: stop server for qxl hard reset
spice: move spice_server_vm_{start,stop} calls into
qemu_spice_display_*()
spice: move qemu_spice_display_*() from spice-graphics to spice-core
nbd: avoid uninitialized warnings
nbd: finish any pending coroutine
nbd: make nbd_client_session_close() idempotent
nbd: pass export name as init argument
nbd: don't change socket block during negotiate
Split nbd block client code
spice-char: implement chardev port event
char: add qemu_chr_fe_event()
include: add missing config-host.h include
qmp_change_blockdev() remove unused has_format
spice-char: remove unused field
vscclient: do not add a socket watch if there is not data to send
spice: flip streaming video mode to off by default
commit 80d6f5eae79b009bf3e02e59e9e225db42ddf887
Merge: e157b8f c547e56
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 16 09:43:27 2013 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches
# gpg: Signature made Fri 13 Dec 2013 09:47:03 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
# By Peter Lieven (2) and others
# Via Kevin Wolf
* kwolf/tags/for-anthony:
blkdebug: Use QLIST_FOREACH_SAFE to resume IO
qemu-img: make progress output more accurate during convert
block: expect get_block_status errors in bdrv_make_zero
block/vvfat: Fix compiler warnings for OpenBSD
qapi-schema.json: Change 1.8 reference to 2.0
sheepdog: check if '-o redundancy' is passed from user
Message-id: 1386956943-19474-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8b9dfe9098d91e06a3dd6376624307fe5fa13be8
Author: Peter Lieven <pl@xxxxxxx>
Date: Sat Dec 14 17:31:40 2013 +0100
block/iscsi: use a bh to schedule co reentrance
this fixes a potential segfault and performance regression.
If the coroutine is reentered directly in the iscsi_co_generic_cb
iscsi_process_{read,write} are interrupted and reentered any
time later. One the one hand this could happen after an iscsi_close
where the iscsi context is already gone (segfault). On the
other hand this limits the number of processed callbacks
in each aio_dispatch to one (potential performance regression).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 75c70e37bc4a6bdc394b4d1b163fe730abb82c72
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 9 16:03:49 2013 +0100
spice: stop server for qxl hard reset
Hard reset can happen at any time. We should be able to put qxl into a
known-good state no matter what. Stop spice server thread for reset so
it can't be confused by fetching stale commands lingering around in the
rings while we reset is ongoing.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b50f3e42b9438e033074222671c0502ecfeba82c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 9 16:00:15 2013 +0100
spice: move spice_server_vm_{start,stop} calls into qemu_spice_display_*()
So calling spice server to start/stop the worker goes
hand in hand with the status variable update.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7cc6a25fe94b430cb5a041bcb19d7d854b4e99a7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 9 15:54:46 2013 +0100
spice: move qemu_spice_display_*() from spice-graphics to spice-core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b1b27b64262fdace45e5ab134c4438338076cb98
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:46 2013 +0100
nbd: avoid uninitialized warnings
==15815== Thread 1:
==15815== Syscall param socketcall.sendto(msg) points to uninitialised
byte(s)
==15815== at 0x65AD5CB: send (send.c:31)
==15815== by 0x37F84B: nbd_wr_sync (nbd.c:145)
==15815== by 0x37F94B: write_sync (nbd.c:186)
==15815== by 0x380FA9: nbd_send_request (nbd.c:681)
==15815== by 0x1C4A2D: nbd_teardown_connection (nbd-client.c:337)
==15815== by 0x1C4AD8: nbd_client_session_close (nbd-client.c:354)
==15815== by 0x1ED2D8: close_socketpair (spicebd.c:132)
==15815== by 0x1EE265: spice_close (spicebd.c:457)
==15815== by 0x1ACBF6: bdrv_close (block.c:1519)
==15815== by 0x1AD804: bdrv_delete (block.c:1772)
==15815== by 0x1B4136: bdrv_unref (block.c:4476)
==15815== by 0x1ACCE0: bdrv_close (block.c:1541)
==15815== Address 0x7feffef98 is on thread 1's stack
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 69152c09d337a8e1368e65bcd5a598def6c3079f
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:45 2013 +0100
nbd: finish any pending coroutine
Make sure all pending coroutines are finished when closing the session.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5ad283ebb82c007f49535907874213cdb05c307a
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:44 2013 +0100
nbd: make nbd_client_session_close() idempotent
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e2bc625f9bbb3a5d3ef2cb0f14dd52b517b92ffd
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:43 2013 +0100
nbd: pass export name as init argument
There is no need to keep the export name around, and it seems a better
fit as an argument in the init() call.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e53a18e488c657bbc6f218ae60de8e813a912667
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:42 2013 +0100
nbd: don't change socket block during negotiate
The caller might handle non-blocking using coroutine. Leave the choice
to the caller to use a blocking or non-blocking negotiate.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2302c1cafb13df23938b098d9c6595de52ec2577
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:41 2013 +0100
Split nbd block client code
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit be733d6d484cd6a9e27a43a3f426688124fd0652
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:40 2013 +0100
spice-char: implement chardev port event
Wire up chardev fe_event to Spice port.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d61b0c9a2f7f39cc30cbd713e0798a23a51340e7
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:39 2013 +0100
char: add qemu_chr_fe_event()
Teach the chardev frontend to send event. This is used by the Spice port
chardev currently.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f7d48052644f3307748f47062728bb3e5f051ffe
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:38 2013 +0100
include: add missing config-host.h include
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 314f7ea74f0c36e3291c4c6d58816da83a232fc2
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:37 2013 +0100
qmp_change_blockdev() remove unused has_format
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d8a03a09524c141325f3469cc5c393f7eae3c9cf
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:36 2013 +0100
spice-char: remove unused field
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit fa88afa51c7db927b3dd6c2f7878c23e53441de6
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:35 2013 +0100
vscclient: do not add a socket watch if there is not data to send
Fixes the following error:
** (process:780): CRITICAL **: do_socket_send: assertion
`socket_to_send->len != 0' failed
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1d3e586f069e17f83b669842bc02d60d509daca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 11:17:04 2013 +0100
spice: flip streaming video mode to off by default
Video streaming detection heuristics in spice-server have problems
keeping modern desktop animations (as done by gnome shell) and real
video playback apart. This leads to jpeg compression artefacts on
your desktop, due to spice using mjpeg to send what it thinks is
a video stream.
Turn off video detection by default to avoid these artifacts.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit e157b8fdd412d48eacfbb8c67d3d58780154faa3
Merge: 5d0e228 306ec6c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 13 11:10:33 2013 -0800
Merge remote-tracking branch 'bonzini/virtio' into staging
# By Andreas Färber (18) and Paolo Bonzini (12)
# Via Paolo Bonzini
* bonzini/virtio: (30 commits)
virtio: Convert exit to unrealize
virtio: Complete converting VirtioDevice to QOM realize
virtio-scsi: Convert to QOM realize
virtio-rng: Convert to QOM realize
virtio-balloon: Convert to QOM realize
virtio-net: Convert to QOM realize
virtio-serial: Convert to QOM realize
virtio-blk: Convert to QOM realize
virtio-9p: Convert to QOM realize
virtio: Start converting VirtioDevice to QOM realize
virtio-scsi: QOM realize preparations
virtio-rng: QOM realize preparations
virtio-balloon: QOM realize preparations
virtio-net: QOM realize preparations
virtio-serial: QOM realize preparations
virtio-blk: QOM realize preparations
virtio-9p: QOM realize preparations
virtio-blk-dataplane: Improve error reporting
virtio-pci: add device_unplugged callback
virtio-rng: switch exit callback to VirtioDeviceClass
...
commit 5d0e2280cc344f1b939acff431ed2731a9ee7db5
Merge: bf6e3cc 5111610
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 13 11:10:19 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi.pci,pc,memory core fixes
Most notably this includes changes to exec to support
full 64 bit addresses.
This also flushes out patches that got queued during 1.7 freeze.
There are new tests, and a bunch of bug fixes all over the place.
There are also some changes mostly useful for downstreams.
I'm also listing myself as pc co-maintainer. I'm doing this reluctantly,
but this seems to be necessary to make sure patches are not lost or
delayed too
much, and posting the MAINTAINERS patch did not seem to make anyone else
volunteer.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Wed 11 Dec 2013 10:21:51 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (14) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony: (28 commits)
pc: use macro for HPET type
hpet: fix build with CONFIG_HPET off
acpi unit-test: adjust the test data structure for better handling
acpi unit-test: load and check facs table
exec: separate sections and nodes per address space
memory.c: bugfix - ref counting mismatch in memory_region_find
hpet: enable to entitle more irq pins for hpet
hpet: inverse polarity when pin above ISA_NUM_IRQS
pci: fix pci bridge fw path
ACPI DSDT: Make control method `IQCR` serialized
acpi: strip compiler info in built-in DSDT
acpi unit-test: verify signature and checksum
smbios: Set system manufacturer, product & version by default
exec: reduce L2_PAGE_SIZE
exec: make address spaces 64-bit wide
exec: memory radix tree page level compression
exec: pass hw address to phys_page_find
exec: extend skip field to 6 bit, page entry to 32 bit
exec: replace leaf with skip
split definitions for exec.c and translate-all.c radix trees
...
Message-id: cover.1386786228.git.mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf6e3cc4fadaa6884dd1e561215f5d93cfe4f5f3
Merge: 47acdd6 2fe3798
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 13 11:10:02 2013 -0800
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (4) and Peter Lieven (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
help: add id suboption to -iscsi
scsi-disk: fix WRITE SAME with large non-zero payload
block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk}
scsi-disk: fix VERIFY emulation
scsi-bus: fix transfer length and direction for VERIFY command
Message-id: 1386594157-17535-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c547e5640d5b0993cdfb252331065c1a1d813bd8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Dec 13 15:25:12 2013 +0800
blkdebug: Use QLIST_FOREACH_SAFE to resume IO
Qemu-iotest 030 was broken.
When the coroutine runs and finishes, it will remove itself from the req
list, so let's use safe version of foreach to avoid use after free.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 802c3d4ccc9853ee11c742bc206f284f04259426
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 5 15:54:53 2013 +0100
qemu-img: make progress output more accurate during convert
the progress output is very bumpy if the input images contains
a significant portion of unallocated sectors. This patch
checks how much sectors are allocated a priori if progress
output is selected.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3d94ce60ae7ad7c31dc143fdd9da95c61b4e529e
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 12 13:57:05 2013 +0100
block: expect get_block_status errors in bdrv_make_zero
during testing around with 4k LUNs a bad target implementation
triggert an -EIO in iscsi_get_block_status, but it got never caught
resulting in an infinite loop.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f671d173c7e1da555b693e8b14f3ed0852601809
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Dec 11 21:37:11 2013 +0100
block/vvfat: Fix compiler warnings for OpenBSD
The buildbot shows these compiler warnings:
block/vvfat.c: In function 'create_short_and_long_name':
block/vvfat.c:620: warning: array size (8) smaller than bound length (11)
block/vvfat.c:620: warning: array size (8) smaller than bound length (11)
block/vvfat.c:635: warning: array size (8) smaller than bound length (11)
block/vvfat.c:635: warning: array size (8) smaller than bound length (11)
They are caused by tricky code where 8 characters for the name are
followed
by 3 characters for the extension, and some operations touch both name and
extension.
Using an 11 character name which includes the extension fixes the compiler
warning, satisfies cppcheck, valgrind and maybe other static and dynamic
code checkers, and even simplifies some parts of the code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 01443e1388971999514511a26f9d36a7cdaa2cc2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 10 14:01:27 2013 +0100
qapi-schema.json: Change 1.8 reference to 2.0
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a3120deee5fc1d702ba5da98fd9c845ad1c8f301
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Mon Dec 9 00:11:20 2013 +0800
sheepdog: check if '-o redundancy' is passed from user
This fix a segfault (that is caused by b3af018f3) of following command:
$ qemu-img convert some_img sheepdog:some_img
Cc: qemu-devel@xxxxxxxxxx
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 a94b36ddd6af28593c8a5171b5100e6c3dfc063e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 12 10:29:19 2013 +0100
roms: Flush icache when writing roms to guest memory
We use the rom infrastructure to write firmware and/or initial kernel
blobs into guest address space. So we're basically emulating the cache
off phase on very early system bootup.
That phase is usually responsible for clearing the instruction cache for
anything it writes into cachable memory, to ensure that after reboot we
don't happen to execute stale bits from the instruction cache.
So we need to invalidate the icache every time we write a rom into guest
address space. We do not need to do this for every DMA since the guest
expects it has to flush the icache manually in that case.
This fixes random reboot issues on e5500 (booke ppc) for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 47acdd63a33a5966bf4fc94a6ac835d72a70c555
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Dec 10 15:40:21 2013 -0800
target-microblaze: Use the new qemu_ld/st opcodes
The ability of the new opcodes to byte-swap the memory operation
simplifies the code in and around dec_load and dec_store significantly.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 0522604b09b8cff54ba2450a7478da2a4d084817
Author: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
Date: Fri Dec 6 17:33:01 2013 +0900
target-i386: clear guest TSC on reset
VCPU TSC is not cleared by a warm reset (*), which leaves some types of
Linux
guests (non-pvops guests and those with the kernel parameter no-kvmclock
set)
vulnerable to the overflow in cyc2ns_offset fixed by upstream commit
9993bc635d01a6ee7f6b833b4ee65ce7c06350b1 ("sched/x86: Fix overflow in
cyc2ns_offset").
To put it in a nutshell, if such a Linux guest without the patch above
applied
has been up more than 208 days and attempts a warm reset chances are that
the newly booted kernel will panic or hang.
(*) Intel Xeon E5 processors show the same broken behavior due to
the errata "TSC is Not Affected by Warm Reset" (Intel® Xeon®
Processor E5 Family Specification Update - August 2013): "The
TSC (Time Stamp Counter MSR 10H) should be cleared on
reset. Due to this erratum the TSC is not affected by warm
reset."
Cc: Will Auld <will.auld@xxxxxxxxx>
Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
commit f86746c263753cf7a7e4bdb8829c70272dfcf36c
Author: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
Date: Fri Dec 6 17:38:24 2013 +0900
target-i386: do not special case TSC writeback
Newer kernels are capable of synchronizing TSC values of multiple VCPUs
on writeback, but we were excluding the power up case, which is not needed
anymore.
Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
commit 79e9ebebbf2a00c46fcedb6dc7dd5e12bbd30216
Author: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Date: Thu Dec 5 08:32:12 2013 +0800
target-i386: Intel MPX
Add some MPX related definiation, and hardcode sizes and offsets
of xsave features 3 and 4. It also add corresponding part to
kvm_get/put_xsave, and vmstate.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 511161027a0ecab6e12107128adeb8a884c5bcbe
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 11 02:48:49 2013 +0200
pc: use macro for HPET type
avoid hard-coding strings
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 142e0950cfaf023a81112dc3cdfa799d769886a4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 11 02:47:16 2013 +0200
hpet: fix build with CONFIG_HPET off
make hpet_find inline so we don't need
to build hpet.c to check if hpet is enabled.
Fixes link error with CONFIG_HPET off.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8ac2adf79a06372fe2c50ddac64cfffb93dbfeb8
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Nov 21 21:33:22 2013 +0200
acpi unit-test: adjust the test data structure for better handling
Ensure more then one instance of test_data may exist
at a given time. It will help to compare different
acpi table versions.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15650602195be9f2957818318457c5d5096ff4c2
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Nov 21 21:33:21 2013 +0200
acpi unit-test: load and check facs table
FACS table does not have a checksum, so we can
check at least the signature (existence).
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53cb28cbfea038f8ad50132dc8a684e638c7d48b
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Dec 1 14:02:23 2013 +0200
exec: separate sections and nodes per address space
Every address space has its own nodes and sections, but
it uses the same global arrays of nodes/section.
This limits the number of devices that can be attached
to the guest to 20-30 devices. It happens because:
- The sections array is limited to 2^12 entries.
- The main memory has at least 100 sections.
- Each device address space is actually an alias to
main memory, multiplying its number of nodes/sections.
Remove the limitation by using separate arrays of
nodes and sections for each address space.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6307d974f9a28bb6652352f52da97f820427d29d
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Dec 2 16:20:59 2013 +0200
memory.c: bugfix - ref counting mismatch in memory_region_find
'address_space_get_flatview' gets a reference to a FlatView.
If the flatview lookup fails, the code returns without
"unreferencing" the view.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7a10ef51c2397ac4323bc786af02c58b413b5cd2
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Dec 8 17:38:17 2013 +0800
hpet: enable to entitle more irq pins for hpet
Owning to some different hardware design, piix and q35 need
different compat. So making them diverge.
On q35, IRQ2/8 can be reserved for hpet timer 0/1. And pin 16~23
can be assigned to hpet as guest chooses. So we introduce intcap
property to do that.
Consider the compat and piix/q35, we finally have the following
value for intcap: For piix, hpet's intcap is hard coded as IRQ2.
For pc-q35-1.7 and earlier, we use IRQ2 for compat reason. Otherwise
IRQ2, IRQ8, and IRQ16~23 are allowed.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0d63b2dd31464cfccc80bbeedc24e3863fe4c895
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Dec 8 17:38:16 2013 +0800
hpet: inverse polarity when pin above ISA_NUM_IRQS
According to hpet spec, hpet irq is high active. But according to
ICH spec, there is inversion before the input of ioapic. So the OS
will expect low active on this IRQ line. (On bare metal, if OS driver
claims high active on this line, spurious irq is generated)
We fold the emulation of this inversion inside the hpet logic.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c41425d2e79f267b2236da31abedb866777d92f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 6 12:24:40 2013 +0100
pci: fix pci bridge fw path
qemu uses "pci" as name for pci bridges in the firmware device path.
seabios expects "pci-bridge". Result is that bootorder is broken for
devices behind pci bridges.
Some googling suggests that "pci-bridge" is the correct one. At least
PPC-based Apple machines are using this. See question "How do I boot
from a device attached to a PCI card" here:
http://www.netbsd.org/ports/macppc/faq.html
So lets change qemu to use "pci-bridge" too.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6747f6456fd1e5e986b6385ff5d706c79ebd8a32
Merge: b9aad5d 0ec9eab
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:14:36 2013 -0800
Merge remote-tracking branch 'rth/tcg-temp-order' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-temp-order:
tcg: Use bitmaps for free temporaries
Message-id: 1386698065-6661-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9aad5d68d0fa636d1a1edbbeffa0d7a80370711
Merge: 1ead3ed 02d38fc
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:14:20 2013 -0800
Merge remote-tracking branch 'stefanha/net-next' into staging
# By Vincenzo Maffione (2) and others
# Via Stefan Hajnoczi
* stefanha/net-next:
net: Update netdev peer on link change
virtio-net: don't update mac_table in error state
MAINTAINERS: Add netmap maintainers
net: Adding netmap network backend
Message-id: 1386594692-21278-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ead3ed55584a62a12d840a71d3aab71f12ec42e
Merge: b5527da 74f1c6d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:13:32 2013 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20131210'
into staging
target-arm queue:
* support REFCNT register on integrator/cp board
* implement the A9MP's global timer
* add the 'virt' platform
* support '-cpu host' on KVM/ARM
* Cadence GEM ethernet device bugfixes
* Implement 32-bit ARMv8 VSEL, VMAXNM, VMINNM
* fix TTBCR write masking
* update 32 bit decoder to use new qemu_ld/st TCG opcodes
# gpg: Signature made Tue 10 Dec 2013 06:22:01 AM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Crosthwaite (16) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20131210: (37 commits)
target-arm: fix TTBCR write masking
target-arm: Use new qemu_ld/st opcodes
target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.
target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.
softfloat: Add minNum() and maxNum() functions to softfloat.
softfloat: Remove unused argument from MINMAX macro.
target-arm: Implement ARMv8 VSEL instruction.
target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.
net/cadence_gem: Don't rx packets when no rx buffer available
net/cadence_gem: Improve can_receive debug printfery
net/cadence_gem: Fix register w1c logic
net/cadence_gem: Fix small packet FCS stripping
net/cadence_gem: Fix rx multi-fragment packets
net/cadence_gem: Add missing VMSTATE_END_OF_LIST
net/cadence_gem: Implement SAR (de)activation
net/cadence_gem: Implement SAR match bit in rx desc
net/cadence_gem: Implement RX descriptor match mode flags
net/cadence_gem: Prefetch rx descriptors ASAP
net/cadence_gem: simplify rx buf descriptor walking
net/cadence_gem: Don't assert against 0 buffer address
...
Message-id: 1386686613-2390-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b5527dad7dba7d85520aaec787fb6fb14be1c366
Merge: 75c4ce8 d58ce68
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:11:21 2013 -0800
Merge remote-tracking branch 'kraxel/tags/pull-audio-1' into staging
Change audio wakeup rate from 250 Hz to 100 Hz.
Emulation bugfixes for intel-hda and adlib.
# gpg: Signature made Mon 09 Dec 2013 06:04:16 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Gerd Hoffmann (2) and others
# Via Gerd Hoffmann
* kraxel/tags/pull-audio-1:
intel-hda: fix position buffer
adlib: fix patching of port I/O addresses
audio: adjust pulse to 100Hz wakeup rate
audio: Lower default wakeup rate to 100 times / second
Message-id: 1386597974-26506-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 75c4ce824ffd04a59f0af270f823fd5f1a59bd1a
Merge: 45506cc 5ad04fb
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:11:10 2013 -0800
Merge remote-tracking branch 'alon/libcacard_ccid.4' into staging
# By Stefan Weil
# Via Alon Levy
* alon/libcacard_ccid.4:
libcacard: Fix compilation for older versions of glib (bug #1258168)
Message-id: 1386596263-26151-1-git-send-email-alevy@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 45506cc2be6834196ac2773ec4267ca6780f17a1
Merge: 8f84271 b1829cd
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:09:34 2013 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil
# Via Michael Tokarev
* mjt/trivial-patches:
qxl: Add missing trace.h (fix broken build)
Message-id: 1386441094-9971-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ec9eabc7f6020418e1f3b3273d1dd701f7f87f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 19 12:16:45 2013 -0700
tcg: Use bitmaps for free temporaries
We previously allocated 32-bits per temp for the next_free_temp entry.
We now allocate 4 bits per temp across the 4 bitmaps.
Using a linked list meant that if a translator is tweeked, resulting in
temps being freed in a different order, that would have follow-on effects
throughout the TB. Always allocating the lowest free temp means that
follow-on effects are minimized, which can make it easier to diff output
when debugging the translators.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 74f1c6ddec8dc7566d9b75574bb006214cc7d3b4
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Tue Dec 10 10:41:49 2013 +0400
target-arm: fix TTBCR write masking
Current implementation is not accurate according to ARMv7-AR reference
manual. See "B4.1.153 TTBCR, Translation Table Base Control Register,
VMSA | TTBCR format when using the Long-descriptor translation table
format". When LPAE feature is supported, EAE, bit[31] selects
translation descriptor format and, therefore, TTBCR format.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386657709-23399-1-git-send-email-s.fedorov@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 09f7813522238555b77ec2b9f2d3bc20d6e3c796
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Dec 9 14:37:06 2013 -0800
target-arm: Use new qemu_ld/st opcodes
Retain the existing gen_aa32_* inlines, to aid compilation for A64.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1386628626-21627-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 505935fc766e84b58af6e4c3c4233ed0a29b1288
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:42 2013 +0000
target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.
This adds support for the ARMv8 Advanced SIMD VMAXNM and VMINNM
instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Message-id: 1386158099-9239-7-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 40cfacdd806b68706b10ceeeca6d0eea417d1a75
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:41 2013 +0000
target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.
This adds support for the ARMv8 floating point VMAXNM and VMINNM
instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-6-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e17ab310e98c55bd5cb8026c1086f9d19d181d3d
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:41 2013 +0000
softfloat: Add minNum() and maxNum() functions to softfloat.
Add floatnn_minnum() and floatnn_maxnum() functions which are equivalent
to the minNum() and maxNum() functions from IEEE 754-2008. They are
similar to min() and max() but differ in the handling of QNaN arguments.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Message-id: 1386158099-9239-5-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e70614eaa0b8c6a2c948efa3ad71e75cd1f8ff8a
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:41 2013 +0000
softfloat: Remove unused argument from MINMAX macro.
The nan_exp argument is not used, so remove it.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-4-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 04731fb5f3825409fd5ad64dbc0b1dfe7e7fb82f
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:40 2013 +0000
target-arm: Implement ARMv8 VSEL instruction.
This adds support for the VSEL floating point selection instruction
which was added in ARMv8.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-3-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6a57f3ebba2dbe4a398319cec4df62cbcf3c5b8d
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:40 2013 +0000
target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.
Floating point is an extension to the instruction set rather than
a coprocessor, so call it directly from the ARM and Thumb decode
functions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-2-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8202aa539135a44906c38f82a469234ec65e0ef7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:02:03 2013 -0800
net/cadence_gem: Don't rx packets when no rx buffer available
Return false from can_receive() when no valid buffer descriptor is
available. Ensures against mass packet droppage in some applications.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cde00ef774e84e2586bf10fd37b542f75bf36cfb.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3ae5725f86a82751cccf6bc075e5ebfb327ac283
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:01:28 2013 -0800
net/cadence_gem: Improve can_receive debug printfery
Currently this just floods indicating that can_receive has been called
by the net framework. Instead, save the result of the most recent
can_receive callback as state and only print a message if the result
changes (indicating some sort of actual state change in GEM). Make said
debug message more meaningful as well.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2eb74ca6a5756aea242d9f525961db95d6cfcf2c.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e2314fda62c42c89f91dcf104ed3702170a90308
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:00:54 2013 -0800
net/cadence_gem: Fix register w1c logic
This write-1-clear logic was incorrect. It was always clearing w1c
bits regardless of whether the written value was 1 or not. i.e. it
was implementing a write-anything-to-clear strategy.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
ed905b04d3343966ded425f06aa2224bc7a35b59.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 191946c51f28e6ac76e94c7379d5e0f69c016e83
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:00:17 2013 -0800
net/cadence_gem: Fix small packet FCS stripping
The minimum packet size is 64, however this is before FCS stripping
occurs. So when FCS stripping the minimum packet size is 60. Fix.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
8aac5bd737f9cf48b87f32943d7eb5939061e546.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 305706980267dae191d0fca2c769d7a31011be14
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:59:43 2013 -0800
net/cadence_gem: Fix rx multi-fragment packets
Bytes_to_copy was being updated before its final use where it
advances the rx buffer pointer. This was causing total mayhem,
where packet data for any subsequent fragments was being fetched
from the wrong place.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
c2a1c65c1fd06eb274442a0fa4a6839d940e145e.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 17cf2c76b684b679cb25fcb4a36d536ba9944d4d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:59:08 2013 -0800
net/cadence_gem: Add missing VMSTATE_END_OF_LIST
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
8f8c2bfb15f40fb5f0d5766aa4cd3d54c596de6a.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 64eb9301769c97c7fd340e4e7ef98edcd500ebff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:58:34 2013 -0800
net/cadence_gem: Implement SAR (de)activation
The Specific address registers can be enabled or disabled by software.
QEMU was assuming they were always enabled. Implement the
disable/enable feature. SARs are disabled by writing to the lower half
register. They are re-enabled by then writing the upper half.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
49efd1f7450af8f980b967d3054245bae137866c.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a03f742983f9b6ed03913b30005b6f053290d285
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:57:59 2013 -0800
net/cadence_gem: Implement SAR match bit in rx desc
Bit 27 of the RX buffer desc word 1 should be set when the packet was
accepted due to specific address register match. Implement.
This feature is absent from the Xilinx documentation (UG585) but the
behaviour is tested as accurate on real hardware.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
7e3f26fc4ab244e8123efc12723e7164730abdcb.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 63af1e0cff8879a3ddd1b08abb3172b49fb88c88
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:57:24 2013 -0800
net/cadence_gem: Implement RX descriptor match mode flags
The various Rx packet address matching mode flags were not being set in
the rx descriptor. Implement.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
6002a24a6a8ceaa11d3009ab5392840d1c084b28.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 06c2fe951d58cdf2cafb432a76415236c8f73328
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:56:50 2013 -0800
net/cadence_gem: Prefetch rx descriptors ASAP
The real hardware prefetches rx buffer descriptors ASAP and
potentially throws relevant interrupts following the fetch
even in the absence of a received packet.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
41629e35edfdb1f02f1e401f2c3d0e2e4c9e44b3.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7cfd65e41c51cd8a55730524af750638cd416f95
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:56:15 2013 -0800
net/cadence_gem: simplify rx buf descriptor walking
There was a replication of the rx descriptor address walking logic.
Reorder the flow control to remove. This refactoring also obsoletes
the local variables packet_desc_addr and last_desc_addr.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2a425b457ff0b57274bf206ad2236690cd7f5909.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 11785f5352d45c6ef3efe3349ade42387ccebd5d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:55:40 2013 -0800
net/cadence_gem: Don't assert against 0 buffer address
This has no real hardware analog and asserting correctness of DMA
addresses is not a perhiperal level problem. Delete.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
fc02417eb1874cb05e4f20531c6203c5a00110f1.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3b2c97f9916e15ef630e3f8449b1b10902bf9407
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 3 21:55:05 2013 -0800
net/cadence_gem: Update DMA rx descriptors as we process them
We were updating the ownership bit of all descriptors if packets
get split and written through several descriptors.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
d61b7847b51487118783c93765a485bc5c66d272.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 24e822ea4669145c94552cef67751fbd9a42b4c8
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:54:30 2013 -0800
net/cadence_gem: Implement mac level loopback mode
Cadence GEM has a MAC level loopback mode. Implement. Use the same basic
operation as the already implemented PHY loopback.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
3a0baf1b6b2fc1be638bdf1a37408ec38988e970.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 198aa06459ba6c0e689ed0f61b59ebe8aa9f9287
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:18 2013 +0000
hw/arm/virt: Support -cpu host
Support -cpu host in virt machine (treating it like an A15, ie
with a GIC v2 and the A15's private peripherals.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-12-git-send-email-peter.maydell@xxxxxxxxxx
commit a96c0514ab7d74ecb04677d3dc599facafa44e5b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:17 2013 +0000
target-arm: Provide '-cpu host' when running KVM
Implement '-cpu host' for ARM when we're using KVM, broadly
in line with other KVM-supporting architectures.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-11-git-send-email-peter.maydell@xxxxxxxxxx
commit 3541addc888413b84fb309e3f4abf210c0c5eb57
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:16 2013 +0000
target-arm: Don't hardcode KVM target CPU to be A15
Instead of assuming that a KVM target CPU must always be a
Cortex-A15 and hardcoding this in kvm_arch_init_vcpu(),
store the KVM_ARM_TARGET_* value in the ARMCPU class,
and use that.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-10-git-send-email-peter.maydell@xxxxxxxxxx
commit f5fdcd6e58ec35b4463569694fc15d28c505c4d0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:14 2013 +0000
hw/arm: Add 'virt' platform
Add 'virt' platform support corresponding to arch/arm/mach-virt
in the Linux kernel tree. This has no platform-specific code but
can use any device whose kernel driver is is able to work purely
from a device tree node. We use this to instantiate a minimal
set of devices: a GIC and some virtio-mmio transports.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-8-git-send-email-peter.maydell@xxxxxxxxxx
[PMM:
Significantly overhauled:
* renamed user-facing machine to just "virt"
* removed the A9 support (it can't work since the A9 has no
generic timers)
* added virtio-mmio transports instead of random set of 'soc' devices
(though we retain a pl011 UART)
* instead of updating io_base as we step through adding devices,
define a memory map with an array (similar to vexpress)
* similarly, define irqmap with an array
* folded in some minor fixes from John's aarch64-support patch
* rather than explicitly doing endian-swapping on FDT cells,
use fdt APIs that let us just pass in host-endian values
and let the fdt layer take care of the swapping
* miscellaneous minor code cleanups and style fixes
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5de164304ad6473c812f24a29fda33a2d1b2bf45
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:13 2013 +0000
target-arm: Allow secondary KVM CPUs to be booted via PSCI
New ARM boards are generally expected to boot their secondary CPUs
via the PSCI interface, rather than ad-hoc "loop around in holding
pen code" as hw/arm/boot.c implements. In particular this is
necessary for mach-virt kernels. For KVM we achieve this by creating
the VCPUs with a feature flag marking them as starting in PSCI
powered-down state; the guest kernel will then make a PSCI call
(implemented in the host kernel) to start the secondaries at
an address of its choosing once it has got the primary CPU up.
Implement this setting of the feature flag, controlled by a
qdev property for ARMCPU, which board code can set if it is a
PSCI system.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 54d3e3f52e5d540766af35f99fe0fa415c40cac2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:12 2013 +0000
target-arm: Add ARMCPU field for Linux device-tree 'compatible' string
Linux requires device tree CPU nodes to include a 'compatible'
string describing the CPU. Add a field in the ARMCPU struct for
this so that boards which construct a device tree can insert
the correct CPU nodes.
Note that there is currently no officially specified 'compatible'
string for the TI925T, Cortex-M3 or SA1110 CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-6-git-send-email-peter.maydell@xxxxxxxxxx
commit a22ec1e6825c7a00d25648027d08d4a332c29c84
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:11 2013 +0000
target-arm: Provide PSCI constants to generic QEMU code
Provide versions of the KVM PSCI constants to non-KVM code;
this will allow us to avoid an ifdef in boards which set up
a PSCI node in the device tree.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 0fb79851c3dffa06de648d955ee2f2b47bfb96ce
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Fri Nov 22 17:17:10 2013 +0000
hw/arm/boot: Allow boards to provide an fdt blob
If no fdt is provided on command line and the new field
get_dtb in struct arm_boot_info is set then call it to
get a device tree blob.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-4-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: minor tweaks and cleanup]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ef6de70ea811d66ebb6b9b6046e304f588e754bb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:09 2013 +0000
device_tree.c: Terminate the empty reservemap in create_device_tree()
Device trees created with create_device_tree() may not have any
entries in their reservemap, because the FDT API requires that the
reservemap is completed before any FDT nodes are added, and
create_device_tree() itself creates a node. However we were not
calling fdt_finish_reservemap(), which meant that there was no
terminator in the reservemap list and whatever happened to be at the
start of the FDT data section would end up being interpreted as
reservemap entries. Avoid this by calling fdt_finish_reservemap()
to add the terminator.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1385140638-10444-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 72b0cd35ad3e216a1db7f6a08a2ff65bb577c119
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:08 2013 +0000
target-arm: Provide mechanism for getting KVM constants even if not
CONFIG_KVM
There are a number of places where it would be convenient for ARM
code to have working definitions of KVM constants even in code
which is compiled with CONFIG_KVM not set. In this situation we
can't simply include the kernel KVM headers (which might conflict
with host header definitions or not even compile on the compiler
we're using) so we have to redefine equivalent constants.
Provide a mechanism for doing this and checking that the values
match, and use it for the constants we're currently exposing
via an ad-hoc mechanism.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 57e72f2a1977448959fe4a492bc48cd2988c1f3b
Author: François LEGAL <devel@xxxxxxxxxxxxxx>
Date: Sun Dec 1 23:37:11 2013 -0800
cpu/a9mpcore: Add Global Timer
Add the global timer to A9 MPCore.
Signed-off-by: François LEGAL <devel@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
ff92f35f438ac671b57d99d823723dd3e62d2c49.1385969450.git.peter.crosthwaite@xxxxxxxxxx
[PC Changes:
* new commit message
* split off original version as a separate patch
* Rebased against new mpcore implementation (with struct embedding)
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c21c3b53e122a807ae4f5443b7f74f3850f21e37
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
hw/timer: Introduce ARM A9 Global Timer.
The ARM A9 MPCore has a timer that is global to all cores in the cluster.
The timer is shared but each core has a private independent comparator
and interrupt.
Based on version contributed by Francois LEGAL.
Signed-off-by: François LEGAL <devel@xxxxxxxxxxxxxx>
Message-id:
4918e89476b8da916be2964ec41578b50d569a37.1385969450.git.peter.crosthwaite@xxxxxxxxxx
[PC changes:
* New commit message
* Re-implemented as single timer model
* Fixed backwards counting issue in polled mode
* completed VMSD fields
* macroified magic numbers (and headerified reg definitions)
* split of as device-model-only patch
* use bitops for 64 bit register access
* Fixed auto increment mode to check condition properly
* general cleanup (names/style etc).
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[PMM:
* minor typo fixes
* added missing return after error_setg()
* dropped setting dc->no_user = 1
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4c25f365ab3a4f7de0a49af5d39ddc9d459e245b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
cpu/a9mpcore: reorder operations/declarations
To make it consistent for easier code reading. The order in which
variables are defined and functions are called is set to match the
address map ordering.
The new consistent order of doing stuff is:
SCU -> GIC -> MPTimer -> WDT.
0 functional change.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
8f31398e6d9a93f57291399f269039da1a77a2b5.1385969450.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d3053e6be5d90b86cbeba5eb3bba6d210014014b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
cpu/a9mpcore: rename timerbusdev variable
Rename this variable for consistency with the above defined mptimerdev
variable.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
28939ef95589a62414634e86c47cef76b21b15f7.1385969450.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f53977f788c05e8795d22206c40eafb93a15d72b
Author: Jan Petrous <jan.petrous@xxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
integrator/cp: add support for REFCNT register
Linux kernel from version 3.4 requires CM_REFCNT register for sched timer
for Integrator/CP board (integrator_defconfig).
See
http://infocenter.arm.com/help/topic/com.arm.doc.dui0138e/ch04s06s11.html
Signed-off-by: Jan Petrous <jan.petrous@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6b9b4405743ffd428f35247516de9e6f4240f73f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 14 14:12:47 2013 +0200
ACPI DSDT: Make control method `IQCR` serialized
Forward-port the following commit from seabios:
commit 995bbeef78b338370f426bf8d0399038c3fa259c
Author: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Oct 3 11:30:52 2013 +0200
The ASL Optimizing Compiler version 20130823-32 [Sep 11 2013] issues
the
following warning.
$ make
[â?¦]
Compiling IASL out/src/fw/acpi-dsdt.hex
out/src/fw/acpi-dsdt.dsl.i 360: Method(IQCR, 1,
NotSerialized) {
Remark 2120 - ^ Control
Method should be made Serialized (due to creation of named objects within)
[â?¦]
ASL Input: out/src/fw/acpi-dsdt.dsl.i - 475 lines, 19181
bytes, 316 keywords
AML Output: out/src/fw/acpi-dsdt.aml - 4407 bytes, 159
named objects, 157 executable opcodes
Listing File: out/src/fw/acpi-dsdt.lst - 143715 bytes
Hex Dump: out/src/fw/acpi-dsdt.hex - 41661 bytes
Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 246
Optimizations
[â?¦]
After changing the parameter from `NotSerialized` to `Serialized`, the
remark is indeed gone and there is no size change.
The remark was added in ACPICA version 20130517 [1] and gives the
following explanation.
If a thread blocks within the method for any reason, and
another thread
enters the method, the method will fail because an attempt
will be
made to create the same (named) object twice.
In this case, issue a remark that the method should be marked
serialized. ACPICA BZ 909.
[1]
https://github.com/acpica/acpica/commit/ba84d0fc18ba910a47a3f71c68a43543c06e6831
Signed-off-by: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx>
Reported-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53db092ad1c81c30a617f44e83e8fb9e27c001ba
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 14 13:51:25 2013 +0200
acpi: strip compiler info in built-in DSDT
IASL stores it's revision in each table header it generates.
That's not nice since guests will see a change each time they move
between hypervisors. We generally fill our own info for tables, but we
(and seabios) forgot to do this for the built-in DSDT.
Modifications in DSDT table:
OEM ID: "BXPC" -> "BOCHS "
OEM Table ID: "BXDSDT" -> "BXPCDSDT"
Compiler ID: "INTL" -> "BXPC"
Compiler Version: 0x20130823 -> 0x00000001
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53333801e7bb41487147599e1b16b60ebea74695
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Nov 12 18:32:24 2013 +0200
acpi unit-test: verify signature and checksum
Read all ACPI tables from guest - will be useful for further unit tests.
Follow pointers between ACPI tables checking signature and format for
correctness. Verify checksum for all tables.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b29ad07ee8ff44115ac9167bba51d1cf59f8649c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Oct 30 13:56:40 2013 +0100
smbios: Set system manufacturer, product & version by default
Currently, we get SeaBIOS defaults: manufacturer Bochs, product Bochs,
no version. Best SeaBIOS can do, but we can provide better defaults:
manufacturer QEMU, product & version taken from QEMUMachine desc and
name.
Take care to do this only for new machine types, of course.
Note: Michael Tsirkin doesn't trust us to keep values of QEMUMachine
member
product stable in the future. Use copies instead, and in a way that
makes it obvious that they're guest ABI.
Note that we can be trusted to keep values of member name, because
that has always been ABI.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 026736cebfe0e4a96f0761a2bae62cca92ce2a4e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 13 20:13:03 2013 +0200
exec: reduce L2_PAGE_SIZE
With the single exception of ppc with 16M pages,
we get the same number of levels
with L2_PAGE_SIZE = 10 as with L2_PAGE_SIZE = 9.
by doing this we reduce memory footprint of a single level
in the node memory map by 2x without runtime overhead.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 57271d63c4d93352406704d540453c43a4a241a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 7 17:14:37 2013 +0100
exec: make address spaces 64-bit wide
As an alternative to commit 818f86b (exec: limit system memory
size, 2013-11-04) let's just make all address spaces 64-bit wide.
This eliminates problems with phys_page_find ignoring bits above
TARGET_PHYS_ADDR_SPACE_BITS and address_space_translate_internal
consequently messing up the computations.
In Luiz's reported crash, at startup gdb attempts to read from address
0xffffffffffffffe6 to 0xffffffffffffffff inclusive. The region it gets
is the newly introduced master abort region, which is as big as the PCI
address space (see pci_bus_init). Due to a typo that's only 2^63-1,
not 2^64. But we get it anyway because phys_page_find ignores the upper
bits of the physical address. In address_space_translate_internal then
diff = int128_sub(section->mr->size, int128_make64(addr));
*plen = int128_get64(int128_min(diff, int128_make64(*plen)));
diff becomes negative, and int128_get64 booms.
The size of the PCI address space region should be fixed anyway.
Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b35ba30f8fa235c779d876ee299b80a2d501d204
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 11 17:52:07 2013 +0200
exec: memory radix tree page level compression
At the moment, memory radix tree is already variable width, but it can
only skip the low bits of address.
This is efficient if we have huge memory regions but inefficient if we
are only using a tiny portion of the address space.
After we have built up the map, detect
configurations where a single L2 entry is valid.
We then speed up the lookup by skipping one or more levels.
In case any levels were skipped, we might end up in a valid section
instead of erroring out. We handle this by checking that
the address is in range of the resulting section.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 97115a8d4500abeb090b968f01605e0bdafcdfd3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 13 20:08:19 2013 +0200
exec: pass hw address to phys_page_find
callers always shift by target page bits so let's just do this
internally.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b795765db36544da6193fb64e4e0f1dc55aaa36
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 11 14:51:56 2013 +0200
exec: extend skip field to 6 bit, page entry to 32 bit
Extend skip to 6 bit. As page entry doesn't fit in 16 bit
any longer anyway, extend it to 32 bit.
This doubles node map memory requirements, but follow-up
patches will save this memory.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9736e55b78dc49b7f3a265932ab32ed360f633e4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 11 14:42:43 2013 +0200
exec: replace leaf with skip
In preparation for dynamic radix tree depth support, rename is_leaf
field to skip, telling us how many bits to skip to next level.
Set to 0 for leaf.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 03f4995781a64e106e6f73864a1e9c4163dac53b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 7 17:14:36 2013 +0100
split definitions for exec.c and translate-all.c radix trees
The exec.c and translate-all.c radix trees are quite different, and
the exec.c one in particular is not limited to the CPU---it can be
used also by devices that do DMA, and in that case the address space
is not limited to TARGET_PHYS_ADDR_SPACE_BITS bits.
We want to make exec.c's radix trees 64-bit wide. As a first step,
stop sharing the constants between exec.c and translate-all.c.
exec.c gets P_L2_* constants, translate-all.c gets V_L2_*, for
consistency with the existing V_L1_* symbols. Though actually
in the softmmu case translate-all.c is also indexed by physical
addresses...
This patch has no semantic change.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 92b8e39c7f582e15f9e9423bc9fd3f186536b073
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 6 20:25:21 2013 +0200
spapr_pci: s/INT64_MAX/UINT64_MAX/
It doesn't make sense for a region to be INT64_MAX in size:
memory core uses UINT64_MAX as a special value meaning
"all 64 bit" this is what was meant here.
While this should never affect the spapr system which at the moment always
has < 63 bit size, this makes us hit all kind of corner case bugs with
sub-pages, so users are probably better off if we just use UINT64_MAX
instead.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 286690e34ce04fa29bf812ef2bb7b32c3e7c3b85
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 6 20:18:08 2013 +0200
pc: s/INT64_MAX/UINT64_MAX/
It doesn't make sense for a region to be INT64_MAX in size:
memory core uses UINT64_MAX as a special value meaning
"all 64 bit" this is what was meant here.
While this should never affect the PC system which at the moment always
has < 63 bit size, this makes us hit all kind of corner case bugs with
sub-pages, so users are probably better off if we just use UINT64_MAX
instead.
Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Tested-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cf252e5173e46aa4956b88a95fd09ef7eb38b8a6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 6 20:23:26 2013 +0200
pci: fix address space size for bridge
Address space size for bridge should be full 64 bit,
so we should use UINT64_MAX not INT64_MAX as it's size.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 046a648661517f63496aaa34ed2647c77cc2ebe5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 6 17:16:42 2013 +0200
MAINTAINERS: update X86 machine entry
Add a bunch of files missing, and add self as maintainer. Since I'm
hacking on these anyway, it will be helpful if people Cc me on patches.
Anthony gets to review everything anyway ...
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ad6423a7fbbaedc4ec1ed41a9688ca4a10909e89
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Oct 18 00:52:18 2013 +0300
acpi-test: basic acpi unit-test
We run bios, and boot a minimal boot sector that immediately halts.
Then poke at memory to find ACPI tables.
This only checks that RSDP is there.
More will be added later.
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d4fce24f3a59eda081cdf2e38e7001591b95d173
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 18 13:51:11 2013 +0200
qtest: split configuration of qtest accelerator and chardev
qtest uses the icount infrastructure to implement a test-driven vm_clock.
This
however is not necessary when using -qtest as a "probe" together with a
normal
TCG-, KVM- or Xen-based virtual machine. Hence, split out the call to
configure_icount into a new function that is called only for "-machine
accel=qtest"; and disable those commands when running with an accelerator
other than qtest.
This also fixes an assertion failure with "qemu-system-x86_64 -machine
accel=qtest" but no -qtest option. This is a valid case, albeit somewhat
weird; nothing will happen in the VM but you'll still be able to
interact with the monitor or the GUI.
Now that qtest_init is not limited to an int(void) function, change
global variables that are not used outside qtest_init to arguments.
And finally, cleanup useless parts of include/sysemu/qtest.h. The file
is not used at all for user-only emulation, and qtest is not available
on Win32 due to its usage of sigwait.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 83d08f2673504a299194dcac1657a13754b5932a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Oct 29 13:57:34 2013 +0100
pc: map PCI address space as catchall region for not mapped addresses
With a help of negative memory region priority PCI address space
is mapped underneath RAM regions effectively catching every access
to addresses not mapped by any other region.
It simplifies PCI address space mapping into system address space.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit e689f7c668cbd9d08f330e17c3dd3a059c9553d3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Oct 30 13:56:39 2013 +0100
hw: Pass QEMUMachine to its init() method
Put it in QEMUMachineInitArgs, so I don't have to touch every board.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 306ec6c3cece7004429c79c1ac93d49919f1f1cc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 03:50:44 2013 +0200
virtio: Convert exit to unrealize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0ba94b6f94a5b0bed9f125ce4c3348adc83db5de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 04:05:02 2013 +0200
virtio: Complete converting VirtioDevice to QOM realize
Drop VirtioDeviceClass::init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 71a6520b83414b4ebe3ecfdee3dc3a70db98c91f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 03:19:55 2013 +0200
virtio-scsi: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a8d57dfb28bd8fd8ebddf08d0cfafdcb61a764fb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:57:37 2013 +0200
virtio-rng: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 74def47c8c1453a48f9bd61633050cc681e67fba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:51:37 2013 +0200
virtio-balloon: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e6f746b380ad04246e5cce621f174355f39addcd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:36:06 2013 +0200
virtio-net: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 863462440d646098d2b83fb0ffa5f165e7f90511
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:24:34 2013 +0200
virtio-serial: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 75884afd5c6c42e523b08565e289dbe319e17ad9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 01:35:08 2013 +0200
virtio-blk: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 59be75227d3985c9f0a9f5396fc64e357a54defb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 01:04:01 2013 +0200
virtio-9p: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1d244b42d200c02ad60eb564c75d8adea9243366
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 00:50:27 2013 +0200
virtio: Start converting VirtioDevice to QOM realize
Temporarily allow either VirtioDeviceClass::init or
VirtioDeviceClass::realize.
Introduce VirtioDeviceClass::unrealize for symmetry.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7598f0f30e027146ba70517a2bda98d16bac1e24
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:41:42 2013 +0200
virtio-scsi: QOM realize preparations
Rename qdev -> dev since that's what realize's argument is called by
convention. No need to keep more "qdev" around than necessary.
Avoid duplicate VIRTIO_DEVICE() cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit af7671fdc530dd597b1ddb4561f5ffc0d534c44c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:12:47 2013 +0200
virtio-rng: QOM realize preparations
Rename qdev -> dev because that's what realize's argument is called by
convention. No need to keep more "qdev" around than necessary.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a546fb174162b0186fe6c275476cb45e5cafa68c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:33:58 2013 +0200
virtio-balloon: QOM realize preparations
Rename qdev -> dev since that's what realize's argument is called by
convention. No need to keep more "qdev" around than necessary.
Avoid duplicate VIRTIO_DEVICE() cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 284a32f0b33dce4e77e896168387b8dca90c4bea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:02:48 2013 +0200
virtio-net: QOM realize preparations
Rename variable qdev -> dev since that's what realize's argument is
called by convention.
Avoid duplicate VIRTIO_DEVICE() cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b1a20c3fcab96832c3813e9e7162748f325e0c82
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:30:09 2013 +0200
virtio-serial: QOM realize preparations
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 179b417e17ada41dce4e8112bea0a78a70b6162c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 04:48:15 2013 +0200
virtio-blk: QOM realize preparations
Rename variable qdev -> dev since that's what realize's argument is called
by convention.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0f3657ec3664b340ae20b461a7e15dbdac129179
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 00:32:45 2013 +0200
virtio-9p: QOM realize preparations
Avoid unnecessary VIRTIO_DEVICE().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3ffeeef735fdb52ffee2eed4fb398f3a1199728f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 16:18:50 2013 +0200
virtio-blk-dataplane: Improve error reporting
Return an Error so that it can be propagated later.
Tested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
[AF: Rebased]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 06a1307379fcd6c551185ad87679cd7ed896b9ea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:10:26 2013 +0200
virtio-pci: add device_unplugged callback
This fixes a crash in hot-unplug of virtio-pci devices behind a PCIe
switch. The crash happens because the ioeventfd is still set whent the
child is destroyed (destruction happens in postorder). Then the proxy
tries to unset to ioeventfd, but the virtqueue structure that holds the
EventNotifier has been trashed in the meanwhile. kvm_set_ioeventfd_pio
does not expect failure and aborts.
The fix is simply to move parts of uninitialization to a new
device_unplugged callback, which is called before the child is destroyed.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7bb6edb0e3dd78d74e0ac980cf6c0a07307f61bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-rng: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit baa61b9870dd7e0bb07e0ae61c6ec805db13f699
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-balloon: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3c9d76acc984218264bbc6435b0c09f959ed9b8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-scsi: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3786cff5eb384d058395a2729af627fa3253d056
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-net: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e86c13fe2058adb8c792ebb7c51a6a7ca9d3d55
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:05:56 2013 +0200
virtio-serial: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 40dfc16f5fe0afb66f9436718781264dfadb6c61
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:05:42 2013 +0200
virtio-blk: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5e96f5d2f8d2696ef7d2d8d7282c18fa6023470b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:59:08 2013 +0200
virtio-bus: cleanup plug/unplug interface
Right now we have these pairs:
- virtio_bus_plug_device/virtio_bus_destroy_device. The first
takes a VirtIODevice, the second takes a VirtioBusState
- device_plugged/device_unplug callbacks in the VirtioBusClass
(here it's just the naming that is inconsistent)
- virtio_bus_destroy_device is not called by anyone (and since
it calls qdev_free, it would be called by the proxies---but
then the callback is useless since the proxies can do whatever
they want before calling virtio_bus_destroy_device)
And there is a k->init but no k->exit, hence virtio_device_exit is
overwritten by subclasses (except virtio-9p). This cleans it up by:
- renaming the device_unplug callback to device_unplugged
- renaming virtio_bus_plug_device to virtio_bus_device_plugged,
matching the callback name
- renaming virtio_bus_destroy_device to virtio_bus_device_unplugged,
removing the qdev_free, making it take a VirtIODevice and calling it
from virtio_device_exit
- adding a k->exit callback
virtio_device_exit is still overwritten, the next patches will fix that.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a3fc66d9fd37acbfcee013692246a8ae42bd93bb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:36:40 2013 +0200
virtio-pci: remove vdev field
The vdev field is complicated to synchronize. Just access the
BusState's list of children.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f24a684073bcdaf4e9d3c592345744ba3356d9e3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:51:52 2013 +0200
virtio-ccw: remove vdev field
The vdev field is complicated to synchronize. Just access the
BusState's list of children.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 06d3dff0723c712a4b109ced4243edf49ef850af
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:31:39 2013 +0200
virtio-bus: remove vdev field
The vdev field is complicated to synchronize. Just access the
BusState's list of children.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0b81c1ef5c677c2a07be5f8bf0dfe2c62ef52115
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Oct 15 16:47:16 2013 +0200
virtio-ccw: move virtio_ccw_stop_ioeventfd to virtio_ccw_busdev_unplug
Similar to the PCI bug that prompted these patches, virtio-ccw will
segfault after the reworking of hotplug/hot-unplug. Prepare for
this by moving virtio_ccw_stop_ioeventfd to before the freeing
of the proxy device.
A better place for this could be the device_unplugged callback
for the virtio-ccw bus. However, we do not yet have a callback
that works: this patch avoids the problem while leaving the tree
bisectable.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Suggested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8f84271da83c0e9f92aa7c1c2d0d3875bf0a5cb8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:07 2013 +0100
target-mips: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 4d66261f71f2efa31e1052e4041c5ee505572fe5
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Nov 29 17:27:42 2013 +0100
target-mips: fix 64-bit FPU config for user-mode emulation
FR bit should be initialized to 1 for MIPS64, under condition that this
bit is writable and that CPU has an FPU unit. It should be initialized to
zero for MIPS32.
This fixes different MIPS32 issues with FPU instructions whose behaviour
defaulted to 64-bit FPU mode.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 21c046118e740704d0ba81f6281dc95905bc30a8
Author: Bobby Bingham <koorogi@xxxxxxxxxxxx>
Date: Sun Nov 24 14:03:05 2013 -0600
target-sh4: move features flag after CPU_COMMON
Everything before CPU_COMMON in the structure is cleared as part of a
CPU reset. This included the features flag, which indicates whether SH4A
instructions are supported or not. As a result, a CPU reset downgraded
the CPU from an SH4A to an SH4.
Signed-off-by: Bobby Bingham <koorogi@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2fe3798cd5fab65ee7c86758b1b7701d7fe3709f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 16:08:05 2013 +0100
help: add id suboption to -iscsi
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 98e33f1b0eff84d9538cf957dde48c3f67f6f9d8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 9 13:40:15 2013 +0100
scsi-disk: fix WRITE SAME with large non-zero payload
Due to a thinko in the patch that implemented WRITE SAME.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 02d38fcb2caa4454cf4ed728d5908c3cc9ba47be
Author: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Date: Thu Nov 21 21:05:51 2013 -0500
net: Update netdev peer on link change
When a link change occurs on a backend (like tap), we currently do
not propage such change to the nic. As a result, when someone turns
off a link on a tap device, for instance, then a guest doesn't see
that change and continues to try to send traffic or run DHCP even
though the lower-layer is disconnected. This is OK when the network
is set up as a HUB since the the guest may be connected to other HUB
ports too, but when it's set up as a netdev, it makes thinkgs worse.
The patch addresses this by setting the peers link down only when the
peer is not a HUBPORT device. With this patch, in the following config
-netdev tap,id=net0 -device e1000,mac=XXXXX,netdev=net0
when net0 link is turned off, the guest e1000 shows lower-layer link
down. This allows guests to boot much faster in such configurations.
With windows guest, it also allows the network to recover properly
since windows will not configure the link-local IPv4 address, and
when the link is turned on, the proper address address is configured.
Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cae2e5562cdaf3aafa1c4ec2d5f2b19af6c886dd
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Nov 11 11:48:36 2013 +0800
virtio-net: don't update mac_table in error state
mac_table was always cleaned up first in handling
VIRTIO_NET_CTRL_MAC_TABLE_SET command, and we din't recover
mac_table content in error state, it's not correct.
This patch makes all the changes in temporal variables,
only update the real mac_table if everything is ok.
We won't change mac_table in error state, so rxfilter
notification isn't needed.
This patch also fixed same problame in
http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg01188.html
(not merge)
I will send patch for virtio spec to clarifying this change.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Acked-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aee09baf915491eabbf46f9cf55a445ec59b8269
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Wed Nov 6 18:34:55 2013 +0100
MAINTAINERS: Add netmap maintainers
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58952137b0b3e1c9e3ce718ed952c1baf8832652
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Wed Nov 6 11:44:06 2013 +0100
net: Adding netmap network backend
This patch adds support for a network backend based on netmap.
netmap is a framework for high speed packet I/O. You can use it
to build extremely fast traffic generators, monitors, software
switches or network middleboxes. Its companion software switch
VALE lets you interconnect virtual machines.
netmap and VALE are implemented as a non-intrusive kernel module,
support NICs from multiple vendors, are part of standard FreeBSD
distributions and available in source format for Linux too.
To compile QEMU with netmap support, use the following configure
options:
./configure [...] --enable-netmap --extra-cflags=-I/path/to/netmap/sys
where "/path/to/netmap" contains the netmap source code, available at
http://info.iet.unipi.it/~luigi/netmap/
The same webpage contains more information about the netmap project
(together with papers and presentations).
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 063c3378a9e3c25cc0afac3c72e4823d0621e352
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 5 16:47:17 2013 +0100
block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk}
this converts read, write and flush functions from aio to coroutines
eliminating almost 200 lines of code.
The requirement for libiscsi is bumped to version 1.4.0 which was
released in may 2012.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d97e7730816094a71cd1f19a56d7a73f77cdbf96
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 28 11:18:56 2013 +0100
scsi-disk: fix VERIFY emulation
VERIFY emulation was completely botched (and remained botched through
all the refactorings). The command must be emulated both in check-medium
mode (BYTCHK=00, which we implement by doing nothing) and in check-bytes
mode (which we do not implement yet). Unlike WRITE AND VERIFY (which we
treat simply as WRITE with FUA bit set), VERIFY cannot be handled like
READ. In fact the device is _receiving_ data for VERIFY, not _sending_
it like READ.
Cc: qemu-stable@xxxxxxxxxx
Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d12ad44cc4cc9142179e64295608611f118b8ad8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 28 11:01:13 2013 +0100
scsi-bus: fix transfer length and direction for VERIFY command
The amount of bytes to transfer depends on the BYTCHK field.
If any data is transferred, it is sent to the device.
Cc: qemu-stable@xxxxxxxxxx
Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5ad04fb6f112cf2917909be4c22109dbb65fed18
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Dec 5 19:41:28 2013 +0100
libcacard: Fix compilation for older versions of glib (bug #1258168)
See https://bugs.launchpad.net/bugs/1258168
libcacard/vscclient.c: In function 'do_socket_read':
libcacard/vscclient.c:410: warning: implicit declaration of function
'g_warn_if_reached'
libcacard/vscclient.c:410: warning: nested extern declaration of
'g_warn_if_reached'
libcacard/vscclient.c: In function 'main':
libcacard/vscclient.c:763: warning: implicit declaration of function
'g_byte_array_unref'
libcacard/vscclient.c:763: warning: nested extern declaration of
'g_byte_array_unref'
...
libcacard/vscclient.o: In function `do_socket_read':
libcacard/vscclient.c:410: undefined reference to `g_warn_if_reached'
libcacard/vscclient.o: In function `main':
libcacard/vscclient.c:763: undefined reference to `g_byte_array_unref'
g_warn_if_reached was added in glib 2.16, and g_byte_array_unref is
supported since glib 2.22. QEMU requires glib 2.12, so both names must
not be used.
Instead of showing a warning for code which should not be reached,
vscclient better stop running, so g_warn_if_reached is not useful for
vscclient.
In libcacard/vsclient.c, g_byte_array_unref can be replaced by
g_byte_array_free. This is not generally true, so adding a compatibility
layer in include/glib-compat.h is no option here.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reported-by: Don Slutz <dslutz@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit d58ce68a454e5ae9cbde0308def379e272f13b10
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 29 14:25:33 2013 +0100
intel-hda: fix position buffer
Fix position buffer updates to use the correct stream offset.
Without this patch both IN (record) and OUT (playback) streams
will update the IN buffer positions. The linux kernel notices
and complains:
hda-intel: Invalid position buffer, using LPIB read method instead.
The bug may also lead to glitches when recording and playing
at the same time:
https://bugzilla.redhat.com/show_bug.cgi?id=947785
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7f0ba7bb4378f22b017e08947219a352d491bac4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 2 10:16:18 2013 +0100
adlib: fix patching of port I/O addresses
Commit 2b21fb5 (adlib: sort offsets in portio registration, 2013-08-14)
fixed the offsets in adlib_portio_list, but forgot the matching indices
in adlib_realizefn.
Reported at http://virtuallyfun.superglobalmegacorp.com/?p=3616 by
"neozeed".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0e8ae611bda0dfb038da2d865801d8adbd692bad
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 10:49:13 2013 +0100
audio: adjust pulse to 100Hz wakeup rate
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 40a814b0b1789b94c483190b3208729b5182e5bd
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Oct 9 21:38:32 2013 +0200
audio: Lower default wakeup rate to 100 times / second
This is more then plenty to keep audio card fifos filles / emptied.
This drops host cpu-load for audio playback inside a linux vm from
13% to 9%.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a1d22a367d5780c9553b2cd5a24f665534ce6ed6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Dec 7 14:52:34 2013 +1300
target-cris: Use new qemu_ld/st opcodes
Using the new opcodes we can reduce if/else trees to
a single statement.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit b1829cdebe2c5cc0b445f2959dbdb63a48118b12
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 15:09:12 2013 +0100
qxl: Add missing trace.h (fix broken build)
Commit ac86048bcd41129b18702ba63395f222871804de removed trace.h from
console.h and ignored the fact that qxl-render.c needs this file
(it includes qxl.h which includes console.h which included trace.h).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d2aa90cda81ae3f860dd047ce5e37e0473452d54
Merge: 9353137 3e40ba0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:47:24 2013 -0800
Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20131206.0'
into staging
vfio-pci updates include:
- Update linux-headers to include KVM-VFIO device support
- Enable QEMU support for KVM-VFIO device
- Additional Nvidia x-vga quirk to ACK MSI interrupts
- Debug options to disable MSI/X KVM acceleration
- Fix to cleanup MSI-X vectors on shutdown and avoid IRQ route leaks
The KVM-VFIO device support enables KVM to manage how it handles
coherency instructions in the presence of non-coherent I/O. Dave
Airlie had noted that the Nvidia MSI ACK support here may just be
scratching the surface, but it's better than what we have now and
it's only enabled via the x-vga option, so I'm willing to add since
it does enable some users.
# gpg: Signature made Fri 06 Dec 2013 12:28:19 PM PST using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson
# Via Alex Williamson
* awilliam/tags/vfio-pci-for-qemu-20131206.0:
vfio-pci: Release all MSI-X vectors when disabled
vfio-pci: Add debug config options to disable MSI/X KVM support
vfio-pci: Fix Nvidia MSI ACK through 0x88000 quirk
vfio-pci: Make use of new KVM-VFIO device
linux-headers: Update from v3.13-rc3
Message-id: 20131206204715.16731.12627.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 93531372f0f74bb4d886480c0c8aa0e4ca6f5423
Merge: 0c0cb6a ac9524d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:31 2013 -0800
Merge remote-tracking branch 'stefanha/block' into staging
# By Paolo Bonzini (17) and others
# Via Stefan Hajnoczi
* stefanha/block: (48 commits)
qemu-iotests: filter QEMU monitor \r\n
aio: make aio_poll(ctx, true) block with no fds
block: clean up bdrv_drain_all() throttling comments
qcow2: use start_of_cluster() and offset_into_cluster() everywhere
qemu-img: decrease progress update interval on convert
qemu-img: round down request length to an aligned sector
qemu-img: dynamically adjust iobuffer size during convert
block/iscsi: set bs->bl.opt_transfer_length
block: add opt_transfer_length to BlockLimits
block/iscsi: set bdi->cluster_size
qemu-img: fix usage instruction for qemu-img convert
qemu-img: add support for skipping zeroes in input during convert
qemu-nbd: add doc for option -f
qemu-iotests: add test for snapshot in qemu-img convert
qemu-img: add -l for snapshot in convert
qemu-iotests: add 058 internal snapshot export with qemu-nbd case
qemu-nbd: support internal snapshot export
snapshot: distinguish id and name in load_tmp
qemu-iotests: Split qcow2 only cases in 048
qemu-iotests: Clean up spaces in usage output
...
Message-id: 1386347807-27359-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c0cb6a2378f937410f5f55cbf3e3b2c20f293c6
Merge: 3c88da3 33f373d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:25 2013 -0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Alex Williamson (1) and others
# Via Paolo Bonzini
* qemu-kvm/uq/master:
target-i386: fix cpuid leaf 0x0d
qemu: mempath: prefault pages manually (v4)
kvm: Query KVM for available memory slots
Message-id: 1386345276-9803-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3c88da3c243ff7b452026e207cbba853123250cc
Merge: 2a576ee bcf2b7d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:16 2013 -0800
Merge remote-tracking branch 'kraxel/tags/pull-seabios-31b8b4e-1' into
staging
Update seabios to master snapshot (pre-1.7.4).
Update vgabios, switch from lgplvgabios to seavgabios.
Update build process to build both 128k and 256k bios versions.
Use 256k bios for pc-*-2.0+ machine types.
# gpg: Signature made Fri 06 Dec 2013 12:01:24 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/tags/pull-seabios-31b8b4e-1:
pc: switch 2.0 machine types to large seabios binary
roms: update vgabios binaries
roms: update seabios binaries
roms: enable seabios cross builds
roms: build two seabios binaries
roms: update seabios submodule to
31b8b4eea9d9ad58a73b22a6060d3ac1c419c26d
add firmware to machine options
add pc-{i440fx,q35}-2.0 machine types
Message-id: 1386322527-23148-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2a576ee6e36924bb3c3e6690e9ca35a9942e0634
Merge: 0a0ee0b e9eecb5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:01 2013 -0800
Merge remote-tracking branch 'otubo/seccomp' into staging
# By Paul Moore
# Via Eduardo Otubo
* otubo/seccomp:
seccomp: add kill() to the syscall whitelist
Message-id: 1386075077-3240-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a0ee0b93bdd6e1ef628283d00bb979e27655ebb
Merge: 9ed5dac 981cbf5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:59:58 2013 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches for 2.0 (flushing block-next)
# gpg: Signature made Fri 29 Nov 2013 08:43:18 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
# By Peter Lieven (17) and others
# Via Kevin Wolf
* kwolf/tags/for-anthony: (41 commits)
qemu-iotests: Add sample image and test for VMDK version 3
vmdk: Allow read only open of VMDK version 3
qemu-iotests: Filter out 'qemu-io> ' prompt
qemu-iotests: Filter qemu-io output in 025
block: Use BDRV_O_NO_BACKING where appropriate
qemu-iotests: Test snapshot mode
block: Enable BDRV_O_SNAPSHOT with driver-specific options
qemu-iotests: Make test case 030, 040 and 055 deterministic
qemu-iotest: Add pause_drive and resume_drive methods
blkdebug: add "remove_break" command
qemu-iotests: Drop local version of cancel_and_wait from 040
sheepdog: support user-defined redundancy option
sheepdog: refactor do_sd_create()
qdict: Optimise qdict_do_flatten()
qdict: Fix memory leak in qdict_do_flatten()
MAINTAINERS: add sheepdog development mailing list
COW: Extend checking allocated bits to beyond one sector
COW: Speed up writes
qapi: Change BlockDirtyInfo to list
block: per caller dirty bitmap
...
Message-id: 1385743555-27888-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ed5dacbfa0f3f74238854776385f150b68e78b9
Merge: cdac7a7 539891a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:58:28 2013 -0800
Merge remote-tracking branch 'sstabellini/xen-2013-12-01' into staging
# By Paul Durrant (1) and Wei Liu (1)
# Via Stefano Stabellini
* sstabellini/xen-2013-12-01:
xen-pvdevice: make device-id property compulsory
xen: fix two errors when debug is enabled
Message-id: alpine.DEB.2.02.1312011829000.3198@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cdac7a7184065467ba45ec83a9abfeeae060ce4b
Merge: a55d121 0b959cf
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:57:21 2013 -0800
Merge remote-tracking branch 'rth/auxv-2' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/auxv-2:
linux-user: Use qemu_getauxval for AT_EXECFD
util: Use qemu_getauxval in linux qemu_cache_utils_init
tcg-s390: Use qemu_getauxval in query_facilities
tcg-arm: Use qemu_getauxval
tcg-ppc64: Use qemu_getauxval
osdep: Create qemu_getauxval and qemu_init_auxval
Message-id: 1385757754-10702-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a55d121f4a932dcd19eb8164804cc98d5ea88e72
Merge: e679f05 a292678
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:56:51 2013 -0800
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
# By Erik de Castro Lopo (2) and others
# Via Riku Voipio
* riku/linux-user-for-upstream:
linux-user: pass correct parameter to do_shmctl()
linux-user: create target_structs header to place ipc_perm and shmid_ds
flatload: fix non-GOT relocations
linux-user: Implement handling of 5 POSIX timer syscalls.
linux-user: Add target struct defs needed for POSIX timer syscalls.
Message-id: cover.1385732338.git.riku.voipio@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e679f05248e220b8ef587e8fd6c64ffe83b1e16f
Merge: 783eb67 0b1fa34
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:54:35 2013 -0800
Merge remote-tracking branch 'kraxel/tags/pull-usb-1' into staging
Improvements for usb3 bulk stream (usb core, xhci).
Bugfixes for uas emulation.
Add remote wakeup support for ehci.
Add suspend support for xhci.
Misc minor tweaks and fixes.
# gpg: Signature made Thu 28 Nov 2013 11:44:49 PM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Hans de Goede (11) and others
# Via Gerd Hoffmann
* kraxel/tags/pull-usb-1:
usb: move usb_{hi,lo} helpers to header file.
usb: add vendor request defines
trace-events: Clean up after removal of old usb-host code
Revert "usb-tablet: Don't claim wakeup capability for USB-2 version"
ehci: implement port wakeup
xhci: Call usb_device_alloc/free_streams
usb: Add usb_device_alloc/free_streams
usb: Add max_streams attribute to endpoint info
uas: s/ui/iu/
uas: Fix response iu struct definition
uas: Bounds check tags when using streams
uas: Streams are numbered 1-y, rather then 0-x
uas: Fix / cleanup usb_uas_task error handling
uas: Only use report iu-s for task_mgmt status reporting
scsi: Add 2 new sense codes needed by uas
xhci: add support for suspend/resume
xhci: Add a few missing checks for disconnected devices
Message-id: 1385712381-30918-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 783eb67e7a125eaf226e5ea4f5df97c1ea42311e
Merge: 7dc65c0 6fedcaa
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:52:50 2013 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (9) and others
# Via Michael Tokarev
* mjt/trivial-patches:
eeprom93xx: fix coding style
hw/ppc/mac.h: remove unused BIOS_FILENAME definition
Don't crash on keyboard input with no handler
libcacard/vcard_emul_nss: Remove unused statement (value stored is
never read)
libcacard/cac: Remove unused statement (value stored is never read)
virtio-net: fix the indent
misc: Replace 'struct QEMUTimer' by 'QEMUTimer'
qobject: Fix compiler warning (missing gnu_printf format attribute)
acpi-build: Fix compiler warning (missing gnu_printf format attribute)
.gitignore: Ignore config.status
gtk: Replace conditional debug messages by trace methods
console: Replace conditional debug messages by trace methods
trace: Remove trace.h from hw/usb/hcd-ehci.h (less dependencies)
trace: Remove trace.h from console.h (less dependencies)
Message-id: 1385408466-13183-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fedcaa1c5419fa89c31fd34dabbd71861c615d2
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Wed Dec 4 10:27:29 2013 +0400
eeprom93xx: fix coding style
scripts/checkpatch.pl reports about some style problems,
this commit fixes some of them:
ERROR: space prohibited before open square bracket '['
+ .fields = (VMStateField []) {
ERROR: space prohibited after that '!' (ctx:BxW)
+ if (! eeprom->eecs && eecs) {
^
ERROR: space prohibited after that '!' (ctx:WxW)
+ } else if (eeprom->eecs && ! eecs) {
^
ERROR: space prohibited after that '!' (ctx:WxW)
+ } else if (eecs && ! eeprom->eesk && eesk) {
^
ERROR: switch and case should be at the same indent
switch (address >> (eeprom->addrbits - 2)) {
+ case 0:
[...]
+ case 1:
[...]
+ case 2:
[...]
+ case 3:
ERROR: return is not a function, parentheses are not required
+ return (eeprom->eedo);
ERROR: switch and case should be at the same indent
switch (nwords) {
+ case 16:
+ case 64:
[...]
+ case 128:
+ case 256:
[...]
+ default:
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Cc: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3e40ba0faf0822fa78336fe6cd9d677ea9b14f1b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:40 2013 -0700
vfio-pci: Release all MSI-X vectors when disabled
We were relying on msix_unset_vector_notifiers() to release all the
vectors when we disable MSI-X, but this only happens when MSI-X is
still enabled on the device. Perform further cleanup by releasing
any remaining vectors listed as in-use after this call. This caused
a leak of IRQ routes on hotplug depending on how the guest OS prepared
the device for removal.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit b3ebc10c373ed5922d4bdb5076fd0e9fd7ff8056
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:29 2013 -0700
vfio-pci: Add debug config options to disable MSI/X KVM support
It's sometimes useful to be able to verify interrupts are passing
through correctly.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 96eeeba0db38b856eb2cae0e4a2a620d8d65771a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:23 2013 -0700
vfio-pci: Fix Nvidia MSI ACK through 0x88000 quirk
When MSI is enabled on Nvidia GeForce cards the driver seems to
acknowledge the interrupt by writing a 0xff byte to the MSI capability
ID register using the PCI config space mirror at offset 0x88000 from
BAR0. Without this, the device will only fire a single interrupt.
VFIO handles the PCI capability ID/next registers as virtual w/o write
support, so any write through config space is currently dropped. Add
a check for this and allow the write through the BAR window. The
registers are read-only anyway.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 5b49ab188ff0339aa3097ce7f5309f1306092f9e
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:13 2013 -0700
vfio-pci: Make use of new KVM-VFIO device
Add and remove groups from the KVM virtual VFIO device as we make
use of them. This allows KVM to optimize for performance and
correctness based on properties of the group.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit bf63839ffa2d0eebb1eb1706022f46e93b6fec08
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:09 2013 -0700
linux-headers: Update from v3.13-rc3
Update to tag v3.13-rc3 (374b105797c3d4f29c685f3be535c35f5689b30e)
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit ac9524dc55dc32e492ac3e6fbc9785be7168f8a2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 15:24:58 2013 +0100
qemu-iotests: filter QEMU monitor \r\n
SMTP does not preserve newlines. This is normally not a problem if the
email body uses DOS or UNIX newlines consistently. In 051.out we mix
UNIX newlines with DOS newlines (since QEMU monitor output uses \r\n).
This patch filters the QEMU monitor output so the golden master file
uses UNIX newlines exclusively.
The result is that patches touching 051.out will apply cleanly without
mangling newlines after this commit.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d3fa923044321b2ccc12bbdedd582d2c49d958aa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 26 16:18:01 2013 +0100
aio: make aio_poll(ctx, true) block with no fds
This patch drops a special case where aio_poll(ctx, true) returns false
instead of blocking if no file descriptors are waiting on I/O. Now it
is possible to block in aio_poll() to wait for aio_notify().
This change eliminates busy waiting. bdrv_drain_all() used to rely on
busy waiting to completed throttled I/O requests but this is no longer
required so we can simplify aio_poll().
Note that aio_poll() still returns false when aio_notify() was used. In
other words, stopping a blocking aio_poll() wait is not considered
making progress.
Adjust test-aio /aio/bh/callback-delete/one which assumed aio_poll(ctx,
true) would immediately return false instead of blocking.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b06ef3bdd17742ae50c0662d3fe8ed944648890
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 26 16:18:00 2013 +0100
block: clean up bdrv_drain_all() throttling comments
Since cc0681c45430a1f1a4c2d06e9499b7775afc9a18 ("block: Enable the new
throttling code in the block layer.") bdrv_drain_all() no longer spins.
The code used to look as follows:
do {
busy = qemu_aio_wait();
/* FIXME: We do not have timer support here, so this is effectively
* a busy wait.
*/
QTAILQ_FOREACH(bs, &bdrv_states, list) {
while (qemu_co_enter_next(&bs->throttled_reqs)) {
busy = true;
}
}
} while (busy);
Note that throttle requests are kicked but I/O throttling limits are
still in effect. The loop spins until the vm_clock time allows the
request to make progress and complete.
The new throttling code introduced bdrv_start_throttled_reqs(). This
function not only kicks throttled requests but also temporarily disables
throttling so requests can run.
The outdated FIXME comment can be removed. Also drop the busy = true
assignment since we overwrite it immediately afterwards.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ac95acdb8e0876fa489bd31a48e8ecd6ef901d67
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Thu Dec 5 14:32:34 2013 +0800
qcow2: use start_of_cluster() and offset_into_cluster() everywhere
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 405889820bcd5c2abf4eb70598e96f525f862c0f
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:09 2013 +0100
qemu-img: decrease progress update interval on convert
when doing very large jobs updating the progress only every 2%
is too rare.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24f833cd43dbfb5f8ae99e8a6d3691671622d3ea
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:07 2013 +0100
qemu-img: round down request length to an aligned sector
this patch shortens requests to end at an aligned sector so that
the next request starts aligned.
[Squashed Peter's fix for bdrv_get_info() failure discussed on the
mailing list.
--Stefan]
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bcf2b7d2af7c54bb42be1229df9e78ba7d08d2a7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 12:52:04 2013 +0100
pc: switch 2.0 machine types to large seabios binary
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6eefccc0bb9c34051b1e21880fc3a1c1c8686edd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 13:01:20 2013 +0100
roms: update vgabios binaries
This also switches from lgplvgabios to seavgabios.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 385724e7887670e17865d97cd8106a235f113faa
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 12:58:45 2013 +0100
roms: update seabios binaries
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 07403a5a0319d1c9783ea7da13782c8835a42cc9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 15 17:05:55 2013 +0200
roms: enable seabios cross builds
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 94e68caaa089f90f5210435c7e07e97701c98ee5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 30 11:37:12 2013 +0200
roms: build two seabios binaries
Adding xhci support to seabios made it jump over the 128k line.
Changing the bios size breaks migration, so we have to keep a
128k seabios binary for old machine types. New machine types can
use a large 256k bios which should be big enougth for a while.
This patch updates the seabios build process to build seabios twice,
once full featured and once with xen and xhci turned off so the
resulting binary is small enougth to fit into 128k.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 11938d7863203d5ca523865761cac6130783c858
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 15 17:02:19 2013 +0200
roms: update seabios submodule to 31b8b4eea9d9ad58a73b22a6060d3ac1c419c26d
Updates seabios to git master snapshot. seabios is in freeze now,
update to final 1.7.4 will follow later this year.
Summary of major changes:
* Support for acpi table loading from qemu.
* Support for the xhci host adapter.
* Support for the pvscsi HBA.
* Various minor bug fixes.
* Lots of cleanups.
Full shortlog since 1.7.3 (note that some of these changes have been
cherry-picked into 1.7.3-stable):
Evgeny Budilovsky (1):
Add pvscsi boot support
Gerd Hoffmann (27):
coreboot: add cbmem console support
Add CONFIG_DEBUG_COREBOOT config option
apm: fix shutdown
ahci: add missing check for allocation failure
bochsvga: fallback to stdvga if dispi interface isn't present
Add generic qemu detection
Drop coreboot qemu detection
Add qemu detection to csm
uas: add (temporary) superspeed stopgap
usb: add usb_update_pipe()
usb: add xhci support
fix buildversion.sh
build: simplify cross builds
build: create output dirs in do-kconfig
build: explicitly set ROM size
Add qemu_cfg_e820 function.
Add support for etc/e820 fw_cfg file
pci: don't reorder entries when moving to 64bit list
pci: don't map usb host adapters above 4G
pci: align 64bit pci regions to 1G
pci: tweak + comment minimum allocations
pci: log pci windows
pci: map 64-bit BARs at location provided by emulator
ahci: zap real mode macros
ahci: remote some parentheses
ahci: alloc structs in high memory
add hw/serialio.c to SRC32SEG
Jonathan A. Kollasch (1):
vgahooks: add SM720 VGA BIOS hooks for WIN Enterprises MB-60470
Kevin O'Connor (80):
Fix USB EHCI detection that was broken in hlist conversion of
PCIDevices.
Update README to include info on VARLOW variables.
PIC code cleanups.
Move internal timer code from clock.c to a new file timer.c.
Don't pass khz to pmtimer_setup - it's always PM_TIMER_FREQUENCY.
Add helper functions to convert timer irqs to milliseconds.
Improve accuracy of internal timers.
Rename cpu_khz to TimerKHz.
Shift CPU TSC down to reduce need for 64bit variables.
Rename check_timer() function (and similar) to irqtimer_check().
Rename check_tsc() (and similar) to timer_check() and use u32.
Separate out timer setup code.
Unify pmtimer_read() and pittimer_read() code.
Default unused UMB areas to be read-only.
Add missing mathcp_setup() call to CSM code.
Fix bug in CBFS file walking with compressed files.
Support custom boot menu prompt and custom boot menu key.
Minor cleanups to smm assembler.
Add config option to support memory allocations in 9-segment.
Minor - no need to declare MaxCountCPUs as VARFSEG.
Minor - simplify rom_reserve().
Rename tools/ directory to scripts/ directory.
Update kconfig to latest version.
build: Don't use vpath makefile directive.
Move code centered around specific hardware devices to src/hw/
Move code cenetered around firmware initialization to src/fw/
build: Reorder makefile source list to group like files together.
README: Update readme to note scripts/ directory rename and vgasrc/
directory.
vgabios: Rename stdvga_bpp_factor to stdvga_vram_ratio.
vgabios: Limit the range of the VBE number of "pages" parameter.
readme: Minor - fix typo in readme.
Split x86 specific functions out of util.c/h to new files x86.c/h.
Move keyboard calling code from util.c to boot.c.
Rename util.c to string.c and introduce string.h.
build: Perform compile checking on vgasrc code.
Move stacks.c definitions from util.h to new file stacks.h.
Move romfile definitions from util.h to new file romfile.h.
Move malloc code from pmm.c to new files malloc.c and malloc.h.
Move function definitions for output.c from util.h to new file
output.h.
Move definition of struct segoff_s from farptr.h to types.h.
build: Fix import of gcc dependency files.
Move pirtable definitions from hw/pci.h to std/pirtable.h and
util.h.
Move optionroms.h to std/optionrom.h and util.h.
Move vbe.h to std/vbe.h.
Move fw/LegacyBios.h to std/LegacyBios.h and remove csm.h.
Move fw/smbios.h to std/smbios.h.
Move fw/mptable.h to std/mptable.h.
Move fw/acpi.h to std/acpi.h.
Move pnpbios definition to new file std/pnpbios.h.
Move pmm definitions to new file std/pmm.h.
Split disk.h into block.h and std/disk.h.
Move standard bda type info from biosvar.h to std/bda.h.
Merge bmp.h, boot.h, jpeg.h, and post.h into util.h.
Sort the sections of util.h.
Move PIT setup from clock.c to hw/timer.c.
Rename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to
hw/rtc.c.
Move dma code to new file hw/dma.c.
Remove ioport.h; disperse its contents to other header files.
Minor - update file comments in src/malloc.c.
Rename fields of 'struct chs_s' and use in floppy lba2chs().
Rearrange stack_hop_back() call in wait_irq, check_irqs, and
_farcall16.
Minor - move call16 assembler in romlayout.S.
Make __call16 use C calling convention and support two passed
parameters.
Update _farcall16() to pass segment of callregs explicitly.
Support call16() calls after entering 32bit mode from call32().
Run ahci code entirely in 32bit mode.
Build different final files for QEMU, coreboot, and CSM.
Convert op->drive_g from a 16bit pointer to a 32 bit "GLOBALFLAT"
pointer.
megasas: Don't attempt to access 'struct pci_device' at runtime.
Minor - eliminate the SET_GLOBAL macro.
Move low-level hardware writing from output.c to new file
hw/serialio.c.
vgabios: Load the DAC palette in "packed" modes on Cirrus and
BochsVGA.
vgabios: Support custom fonts in vga framebuffer text writing.
vgabios: Add bochsvga "HDTV" resolutions.
vgabios: Avoid possible divide by zero in bochsvga_set_displaystart.
vgabios: Work around lack of support for "calll" in x86emu
emulation.
Minor - update file comment on bootsplash.c.
vgabios: Support allocating an extra stack for vgabios calls and
default on.
vgabios: Move initialization code to new file vgainit.c.
floppy: Minor - add warnings if timeouts occur.
Michael S. Tsirkin (6):
acpi: sync FADT flags from PIIX4 to Q35
acpi_extract.py: document DEVICE directives
biostables: support looking up RSDP
romfile_loader: utility to patch in-memory ROM files
acpi: load and link tables through romfile loader
acpi: strip compiler info in built-in DSDT if any
Paul Menzel (2):
ACPI DSDT: Make control method `IQCR` serialized
hw/usb-xhci.c: Code refactoring to not override initializers in
`speed_from_xhci[16]`
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 33f373d7c56350fd2ec3e31f4f2c46cb49464911
Author: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Date: Tue Dec 3 04:17:50 2013 +0800
target-i386: fix cpuid leaf 0x0d
Fix cpuid leaf 0x0d which incorrectly parsed eax and ebx.
However, before this patch the CPUID worked fine -- the .offset
field contained the size _and_ was stored in the register that
is supposed to hold the size (eax), and likewise the .size field
contained the offset _and_ was stored in the register trhat is
supposed to hold the offset (ebx).
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f2521c9023067a007d18b844fe7639c1c5b6f2ac
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:06 2013 +0100
qemu-img: dynamically adjust iobuffer size during convert
since the convert process is basically a sync operation it might
be benificial in some case to change the hardcoded I/O buffer
size to a greater value.
This patch increases the I/O buffer size if the output
driver advertises an optimal transfer length or discard alignment
that is greater than the default buffer size of 2M.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7572ddc8db114d8c437a97ca3eaedab397f66cda
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:05 2013 +0100
block/iscsi: set bs->bl.opt_transfer_length
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7337acaf219fc988e7ba91780b11770ff95169b4
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:04 2013 +0100
block: add opt_transfer_length to BlockLimits
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1c0704a556dbb004a3b82791779760f418053951
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:03 2013 +0100
block/iscsi: set bdi->cluster_size
this patch aims to set bdi->cluster_size to the internal page size
of the iscsi target so that enabled callers can align requests
properly.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 049b09825fe479f4caa013ccde0ff87fc9d82856
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:02 2013 +0100
qemu-img: fix usage instruction for qemu-img convert
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13c28af87a5541a9b09a59502b876a1725fb502d
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:01 2013 +0100
qemu-img: add support for skipping zeroes in input during convert
we currently do not check if a sector is allocated during convert.
This means if a sector is unallocated that we allocate a bounce
buffer of zeroes, find out its zero later and do not write it
in the best case. In the worst case this can lead to reading
blocks from a raw device (like iSCSI) altough we could easily
know via get_block_status that they are zero and simply skip them.
This patch also fixes the progress output not being at 100% after
a successful conversion.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4323fdcf9451deaaf48468afa91b8bcaeac00cff
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:59 2013 +0800
qemu-nbd: add doc for option -f
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f33d287393d58f5513d25b097310ed4706fbf5b5
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:58 2013 +0800
qemu-iotests: add test for snapshot in qemu-img convert
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ef80654d0dc1edf2dd2a51feff8cc3e1102a6583
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:57 2013 +0800
qemu-img: add -l for snapshot in convert
Now qemu-img convert have similar options as qemu-nbd for internal
snapshot.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9c468a013fd0b0eb6154f8c5cfd2b1d498a86113
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:56 2013 +0800
qemu-iotests: add 058 internal snapshot export with qemu-nbd case
This case can't run when IMGPROTO=nbd, since it needs to create some
internal snapshot which would fail for EOF write request, even when
TEST_IMG is exported with "-f raw" in common.rc, so set _supported_proto
to file.
_require_command() is changed to tip what util is missing, instead
of printing a blank.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c116b0e4141400f8d43a7e6dac8ff3adcc8aadd
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:55 2013 +0800
qemu-nbd: support internal snapshot export
Now it is possible to directly export an internal snapshot, which
can be used to probe the snapshot's contents without qemu-img
convert.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b4c4781e390a041fa0ef70817678f1b97fc6db6
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:54 2013 +0800
snapshot: distinguish id and name in load_tmp
Since later this function will be used so improve it. The only caller of
it
now is qemu-img, and it is not impacted by introduce function
bdrv_snapshot_load_tmp_by_id_or_name() that call bdrv_snapshot_load_tmp()
twice to keep old search logic. bdrv_snapshot_load_tmp_by_id_or_name()
return
int to let caller know the errno, and errno will be used later.
Also fix a typo in comments of bdrv_snapshot_delete().
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 34602dd6424c4f1cc414ba672f4f430182b5d9f2
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:03 2013 +0800
qemu-iotests: Split qcow2 only cases in 048
Format "raw" doesn't always work on certain file systems (e.g. tmpfs).
Use qcow2 to make the allocation status explicit and split into a new
case.
[Resolved merge conflict due to "qemu-io> " prompt filter, added 074 to
group file, and fixed up s/048/074/ copy-paste mistake.
--Stefan]
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 236c796432bed70e442aa617807a528c18b1ebd3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:02 2013 +0800
qemu-iotests: Clean up spaces in usage output
Whitespace changes to align columns.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e14fb91312b27754aa30e78d4bb4ad5cb183b646
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:01 2013 +0800
qemu-iotests: Change default cache mode to "writeback"
So that the tests can run faster.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f210a83c1f809516acd9179d02d8c986c5db24cd
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:00 2013 +0800
qemu-iotests: Add _default_cache_mode and _supported_cache_modes
This replaces _unsupported_qemu_io_options and check for support of
current cache mode, and allow to provide a default if user didn't
specify.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58cc2ae1e3f9f8cd6830a0af116c51c3355710d3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:06:59 2013 +0800
qemu-iotests: Honour cache mode in iotests.py
This will allow overriding cache mode from the "-c mode" option.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3baa84491a43c6ba4909cbff69a9f045df9f4879
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:06:58 2013 +0800
qemu-iotests: Add "-c <cache-mode>" option
The option sets cache mode used in the tests. "-nocache" is changed to
an alias to "-c none", and internally passes "-t none" to qemu-io.
Python scripts will make use of option this in the next commit.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f8413b3c23b08a547ce18609acc6fae5fd04ed5c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 11:06:36 2013 +0100
qcow2: Zero-initialise first cluster for new images
Strictly speaking, this is only required for has_zero_init() == false,
but it's easy enough to just do a cluster-aligned write that is padded
with zeros after the header.
This fixes that after 'qemu-img create' header extensions are attempted
to be parsed that are really just random leftover data.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 66f6b8143ba0fd873a0b4b4b3da41cf604bc5a11
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Dec 3 14:57:52 2013 +0100
block: Close backing file early in bdrv_img_create
Leaving the backing file open although it is not needed anymore can
cause problems if it is opened through a block driver which allows
exclusive access only and if the create function of the block driver
used for the top image (the one being created) tries to close and reopen
the image file (which will include opening the backing file a second
time).
In particular, this will happen with a backing file opened through
qemu-nbd and using qcow2 as the top image file format (which reopens the
image to flush it to disk).
In addition, the BlockDriverState in bdrv_img_create() is used for the
backing file only; it should therefore be made local to the respective
block.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84f94a9a82487639bc87d5f09f938c9f6a61f79a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:40:01 2013 +0100
scsi-disk: correctly implement WRITE SAME
Fetch the data to be written from the input buffer. If it is all zeroes,
we can use the write_zeroes call (possibly with the new MAY_UNMAP flag).
Otherwise, do as many write cycles as needed, writing 512k at a time.
Strictly speaking, this is still incorrect because a zero cluster should
only be written if the MAY_UNMAP flag is set. But this is a bug in qcow2
and the other formats, not in the SCSI code.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 823bd7391c96ba675f20fd6d952d1cb6e1ffb851
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:40:00 2013 +0100
scsi-disk: reject ANCHOR=1 for UNMAP and WRITE SAME commands
Since we report ANC_SUP==0 in VPD page B2h, we need to return
an error (ILLEGAL REQUEST/INVALID FIELD IN CDB) for all WRITE SAME
requests with ANCHOR==1.
Inspired by a similar patch to the LIO in-kernel target.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c5fd1fb038405ed13496761970b3b531f747a892
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:59 2013 +0100
scsi-disk: catch write protection errors in UNMAP
This is the same that is already done for WRITE SAME.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e18d90c15bab0d47d8f30696058abfb78396081f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:58 2013 +0100
qemu-iotests: 033 is fast
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97a2ae34537882df34810d538ab1f51085499d2c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:57 2013 +0100
raw-posix: add support for write_zeroes on XFS and block devices
The code is similar to the implementation of discard and write_zeroes
with UNMAP. However, failure must be propagated up to block.c.
The stale page cache problem can be reproduced as follows:
# modprobe scsi-debug lbpws=1 lbprz=1
# ./qemu-io /dev/sdXX
qemu-io> write -P 0xcc 0 2M
qemu-io> write -z 0 1M
qemu-io> read -P 0x00 0 512
Pattern verification failed at offset 0, 512 bytes
qemu-io> read -v 0 512
00000000: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
................
...
# ./qemu-io --cache=none /dev/sdXX
qemu-io> write -P 0xcc 0 2M
qemu-io> write -z 0 1M
qemu-io> read -P 0x00 0 512
qemu-io> read -v 0 512
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
...
And similarly with discard instead of "write -z".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d0b4503ed2d8713791c38839341b023f78d1a3d9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:56 2013 +0100
raw-posix: implement write_zeroes with MAY_UNMAP for block devices
See the next commit for the description of the Linux kernel problem
that is worked around in raw_open_common.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 260a82e524b7f86c12b8e39d4c3f208af95645f7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:55 2013 +0100
raw-posix: implement write_zeroes with MAY_UNMAP for files
Writing zeroes to a file can be done by punching a hole if
MAY_UNMAP is set.
Note that in this case ENOTSUP is not ignored, but makes
the block layer fall back to the generic implementation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fa6252b0565526ec2347e248172f91771e0d9f47
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:54 2013 +0100
block/iscsi: check WRITE SAME support differently depending on MAY_UNMAP
The current check is right for MAY_UNMAP=1. For MAY_UNMAP=0, just
try and fall back to regular writes as soon as a WRITE SAME command
fails.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2af8a1a704a352bab2e9eaf803db0b3552e826d0
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Nov 22 13:39:53 2013 +0100
block/iscsi: updated copyright
added myself to reflect recent work on the iscsi block driver.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4b52498e62d02a30f780875f54431d1bad0bcabd
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Nov 22 13:39:52 2013 +0100
block/iscsi: remove .bdrv_has_zero_init
since commit 3ac21627 the default value changed to 0.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cffb1ec600de83f693a23578fc2f344c1af9b96f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:51 2013 +0100
block drivers: expose requirement for write same alignment from formats
This will let misaligned but large requests use zero clusters. This
is important because the cluster size is not guest visible.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 95de6d7078b029b73708059a17cef20f332adcb7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:50 2013 +0100
block drivers: add discard/write_zeroes properties to bdrv_get_info
implementation
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97b00e285119e611f500686f32f9bccffbb9126a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:49 2013 +0100
vpc, vhdx: add get_info
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b8d71c09f31a9cae248d167dddc75c66d5135ff2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:48 2013 +0100
block: make bdrv_co_do_write_zeroes stricter in producing aligned requests
Right now, bdrv_co_do_write_zeroes will only try to align the
beginning of the request. However, it is simpler for many
formats to expect the block layer to separate both the head *and*
the tail. This makes sure that the format's bdrv_co_write_zeroes
function will be called with aligned sector_num and nb_sectors for
the bulk of the request.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7ce21016b69b512bf4777965a4292318f2bc7544
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:47 2013 +0100
block: handle ENOTSUP from discard in generic code
Similar to write_zeroes, let the generic code receive a ENOTSUP for
discard operations. Since bdrv_discard has advisory semantics,
we can just swallow the error.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d5ef94d43da8c57a2d597efbdec3d9a54d97fdf7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:46 2013 +0100
block: add bdrv_aio_write_zeroes
This will be used by the SCSI layer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 94d6ff21f48c8c98e6e9eef58cc6f6346c9dd851
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:45 2013 +0100
block: add flags argument to bdrv_co_write_zeroes tracepoint
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d20d9b7c6723d0123b7d60dd5557aa0a6599f471
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:44 2013 +0100
block: add flags to BlockRequest
This lets bdrv_co_do_rw receive flags, so that it can be used for
zero writes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d51e9fe505f7c7b97762100dd0e42cef43c90524
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:43 2013 +0100
block: generalize BlockLimits handling to cover bdrv_aio_discard too
bdrv_co_discard is only covering drivers which have a .bdrv_co_discard()
implementation, but not those with .bdrv_aio_discard(). Not very nice,
and easy to avoid.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e9eecb5bf82a71564bf018fcbbfc6cda19cab6c2
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Thu Nov 21 10:40:15 2013 -0500
seccomp: add kill() to the syscall whitelist
The kill() syscall is triggered with the following command:
# qemu -sandbox on -monitor stdio \
-device intel-hda -device hda-duplex -vnc :0
The resulting syslog/audit message:
# ausearch -m SECCOMP
----
time->Wed Nov 20 09:52:08 2013
type=SECCOMP msg=audit(1384912328.482:6656): auid=0 uid=0 gid=0 ses=854
subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=12087
comm="qemu-kvm" sig=31 syscall=62 compat=0 ip=0x7f7a1d2abc67 code=0x0
# scmp_sys_resolver 62
kill
Reported-by: CongLi <coli@xxxxxxxxxx>
Tested-by: CongLi <coli@xxxxxxxxxx>
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Acked-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
commit af057fe74092df2e7a576448ddbdc0daac1370bf
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Dec 3 10:41:05 2013 +0800
vmdk: Fix creating big description file
The buffer for description file was 4096 which only covers a few
hundred of extents. This changes the buffer to dynamic allocated with
g_strdup_printf in order to support bigger cases.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a6b6d08a3bf93c8cc6521336a89ac0467ab7edca
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Dec 2 21:17:19 2013 +0400
hw/ppc/mac.h: remove unused BIOS_FILENAME definition
This definition has been moved to prep.c.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4282c8277013dc5613b8f27845f6121b66b7cbff
Author: Don Koch <dkoch@xxxxxxxxxxx>
Date: Tue Nov 19 15:01:59 2013 -0500
Don't crash on keyboard input with no handler
Prevent a call to put_kbd if null.
On shutdown of some OSes, the keyboard handler goes away before the
system is down. If a key is typed during this window, qemu crashes.
Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit efbc42e5848bb8000bfa6927847f1870850942ba
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 22:12:18 2013 +0100
libcacard/vcard_emul_nss: Remove unused statement (value stored is never
read)
Warning from ccc-analyzer:
libcacard/vcard_emul_nss.c:937:9: warning:
Value stored to 'cert_count' is never read
cert_count = options->vreader[i].cert_count;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 754e72e195faca8042072ada054bc3668aa1647d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 22:11:23 2013 +0100
libcacard/cac: Remove unused statement (value stored is never read)
Warning from ccc-analyzer:
libcacard/cac.c:192:13: warning: Value stored to 'ret' is never read
ret = VCARD_DONE;
^ ~~~~~~~~~~
Here 'ret' is assigned a value inside of a switch statement and also after
that switch statement.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cb77e358152afb348a513d8eb404cb7ff65cfad2
Author: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 27 15:35:26 2013 +0800
virtio-net: fix the indent
Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1246b259f846136d58a89568fdc0421d02e4df65
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 1 08:49:47 2013 +0100
misc: Replace 'struct QEMUTimer' by 'QEMUTimer'
Most code already used QEMUTimer without the redundant 'struct' keyword.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 47908a0f66c5369a94e93d951a5d0c28d007ff80
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 19:00:42 2013 +0100
qobject: Fix compiler warning (missing gnu_printf format attribute)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC qobject/qerror.o
qobject/qerror.c: In function â??qerror_from_infoâ??:
qobject/qerror.c:53:5: error:
function might be possible candidate for â??gnu_printfâ?? format
attribute [-Werror=suggest-attribute=format]
qerr->err_msg = g_strdup_vprintf(fmt, *va);
^
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 867d898ccf50ef095b95c403d7dc809c188b14e2
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 19:00:22 2013 +0100
acpi-build: Fix compiler warning (missing gnu_printf format attribute)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC m68k-softmmu/hw/m68k/mcf5206.o
hw/i386/acpi-build.c: In function â??build_append_namesegâ??:
hw/i386/acpi-build.c:294:5: error:
function might be possible candidate for â??gnu_printfâ?? format
attribute [-Werror=suggest-attribute=format]
g_string_vprintf(s, format, args);
^
When this warning is fixed, there is a new compiler warning:
CC i386-softmmu/hw/i386/acpi-build.o
hw/i386/acpi-build.c: In function â??build_append_notifyâ??:
hw/i386/acpi-build.c:632:5: error:
format not a string literal and no format arguments
[-Werror=format-security]
build_append_nameseg(method, name);
^
This is fixed here, too.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b2e2395f1308f784acd2e0af0d6f2a6f5668aafb
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 22 14:39:56 2013 +0800
.gitignore: Ignore config.status
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ef0dd982cb7dbff3ea234fe48187d556e69d6765
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 16:24:02 2013 +0100
gtk: Replace conditional debug messages by trace methods
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5d28b0e960cd3a99f7e013900a0e12468720b402
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 16:04:16 2013 +0100
console: Replace conditional debug messages by trace methods
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 12269616227c2ee34f4c853cae676e18a5e01b18
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 14:20:17 2013 +0100
trace: Remove trace.h from hw/usb/hcd-ehci.h (less dependencies)
This reduces the dependencies on trace.h.
Only one source file which needs hcd-ehci.h also needs trace.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ac86048bcd41129b18702ba63395f222871804de
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 14:20:16 2013 +0100
trace: Remove trace.h from console.h (less dependencies)
This reduces the dependencies on trace.h.
Only two source files which need console.h also need trace.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7b6b145dbc62162df818dc2c5153defd0417c688
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:47 2013 +0100
coroutine: remove unused CoQueue AioContext
The AioContext ctx field is apparently unused in qemu codebase since
02ffb504485.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f287c41381efe172ff5dc62498e2afc83a9ab995
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:34 2013 +0100
coroutine: remove qemu_co_queue_wait_insert_head
qemu_co_queue_wait_insert_head() is unused in qemu code base now.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1442d3e6912d7ec88480099503cfa0aeaedf5634
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 15 16:57:45 2013 +0200
add firmware to machine options
This patch adds firmware to the machine options. -bios <file> becomes a
shortcut for -machine firmware=<file>. Advantage is that the firmware
can be specified via config file as -machine is parsed using QemuOpts
and it is also possible to use different defaults for different
machine types (via QEMUMachine->default_machine_opts).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aeca6e8d8b7dba78c3d1622463e238b773d9df13
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 12:47:29 2013 +0100
add pc-{i440fx,q35}-2.0 machine types
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 539891a85d17bd8c23a2547e52e26993350d2c3a
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Wed Nov 13 15:25:07 2013 +0000
xen-pvdevice: make device-id property compulsory
The intention of the Xen PV device is that it is used as a parent
device for PV drivers in Xen HVM guests and the set of PV drivers that
bind to the device is determined by its device ID (and possibly
vendor ID and revision). As such, the device should not have a default
device ID, it should always be supplied by the Xen toolstack.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit d18e173a07a9c1e7f087384a8832d295043136bb
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Mon Oct 14 13:53:53 2013 +0100
xen: fix two errors when debug is enabled
This patch fixes:
1. build error in xen_pt.c when XEN_PT_LOGGING_ENABLED is defined
2. debug output format string error when DEBUG_XEN is defined
In the second case I also have the output info in consistent with the
output in mapping function - that is, print start_addr instead of
phys_offset.
Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 0b959cf5e4cce08ed96bd7832447e1543cd3622f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Oct 15 15:00:36 2013 -0700
linux-user: Use qemu_getauxval for AT_EXECFD
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 664d2c4458a268eb176a223c397453a72ed167f4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jun 10 09:05:09 2013 -0700
util: Use qemu_getauxval in linux qemu_cache_utils_init
With this we no longer pass down envp, and thus all systems can have
the same void prototype. So also eliminate a useless thunk.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c9baa30f42a87f61627391698f63fa4d1566d9d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jun 7 07:43:33 2013 -0700
tcg-s390: Use qemu_getauxval in query_facilities
No need to set up a SIGILL signal handler for detection anymore.
Remove a ton of sanity checks that must be true, given that we're
requiring a 64-bit build (the note about 31-bit KVM is satisfied
by configuring with TCI).
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 41d9ea80ac8455845494c889fe6ac447b39a7d64
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jun 7 07:26:20 2013 -0700
tcg-arm: Use qemu_getauxval
Allow host detection on linux systems without glibc 2.16 or later.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd629de1cf013e9654c6f0b92b2329f04dfaf880
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 11:37:17 2013 -0700
tcg-ppc64: Use qemu_getauxval
Allow host detection on linux systems without glibc 2.16 or later.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b6a3e690b4f396633c75e18a9c3e7b6771fb71ba
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 11:24:49 2013 -0700
osdep: Create qemu_getauxval and qemu_init_auxval
Abstract away dependence on a system implementation of getauxval.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 981cbf59b5360647e908186e7306ee9013a58c88
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Nov 28 09:48:04 2013 +0800
qemu-iotests: Add sample image and test for VMDK version 3
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 509d39aa22909c0ed1aabf896865f19c81fb38a1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Nov 28 09:48:03 2013 +0800
vmdk: Allow read only open of VMDK version 3
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c34b8012e877f494c7be5abdfb67b51242a6935e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Nov 18 15:13:01 2013 +0800
qemu-iotests: Filter out 'qemu-io> ' prompt
This removes "qemu-io> " prompt from qemu-io output in _filter_qemu_io,
and updates all the output files with the following command:
cd tests/qemu-iotests && sed -i "s/qemu-io> //g" *.out
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0d83c98bf15269e80e3558dc2c7b27e2f4386158
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Nov 18 15:10:58 2013 +0800
qemu-iotests: Filter qemu-io output in 025
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c9fbb99d41b05acf0d7b93deb2fcdbf9047c238e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Nov 28 11:58:02 2013 +0100
block: Use BDRV_O_NO_BACKING where appropriate
If you open an image temporarily just because you want to check its size
or get it flushed, there's no real reason to open the whole backing file
chain.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit f32f988c7778d0f1ff9c7e8d7547a354a7fdd3f6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Nov 15 17:00:41 2013 +0100
qemu-iotests: Test snapshot mode
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9fd3171af9d7de2777bf38ce79c2fe3dd6f9a49e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Nov 14 15:37:12 2013 +0100
block: Enable BDRV_O_SNAPSHOT with driver-specific options
In the case of snapshot=on, don't rely on the backing file path in the
temporary image any more, but override the backing file with the given
set of options. This way, block drivers that don't use a file name can
be accessed with snapshot=on, for example:
-drive file.driver=nbd,file.host=localhost,snapshot=on
Which becomes internally something like:
file.filename=/tmp/vl.AWQZCu,backing.file.driver=nbd,backing.file.host=localhost
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b59b3d57737a0d40450f8232abd89e8986387402
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:56 2013 +0800
qemu-iotests: Make test case 030, 040 and 055 deterministic
Pause the drive and start the block job, so we won't miss the block job.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3cf53c771406ad360117f30e61b24635df0e9b50
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:55 2013 +0800
qemu-iotest: Add pause_drive and resume_drive methods
They wrap blkdebug "break" and "remove_break".
Add optional argument "resume" to cancel_and_wait().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4cc70e933731ebf4309e1f1ce90973a0de04f28f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:54 2013 +0800
blkdebug: add "remove_break" command
This adds "remove_break" command which is the reverse of blkdebug
command "break": it removes all breakpoints with given tag and resumes
all the requests.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b43dbb699599cdb9f75a624cb28d4f709ad2cdf
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:53 2013 +0800
qemu-iotests: Drop local version of cancel_and_wait from 040
iotests.py already has one.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b3af018f3babfe7a0328759a86c00a6a6b4f6443
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Thu Nov 7 22:56:38 2013 +0800
sheepdog: support user-defined redundancy option
Sheepdog support two kinds of redundancy, full replication and erasure
coding.
# create a fully replicated vdi with x copies
-o redundancy=x (1 <= x <= SD_MAX_COPIES)
# create a erasure coded vdi with x data strips and y parity strips
-o redundancy=x:y (x must be one of {2,4,8,16} and 1 <= y <
SD_EC_MAX_STRIP)
E.g, to convert a vdi into sheepdog vdi 'test' with 8:3 erasure coding
scheme
$ qemu-img convert -o redundancy=8:3 linux-0.2.img sheepdog:test
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c31d482f29ffe4ba54065acfb2f31c3f4ce586b7
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Thu Nov 7 22:56:37 2013 +0800
sheepdog: refactor do_sd_create()
We can actually use BDRVSheepdogState *s to pass most of the parameters.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4d5977eaecd3675c1176274a50f74ebc40dd13ec
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Nov 20 13:09:21 2013 +0100
qdict: Optimise qdict_do_flatten()
Nested QDicts used to be both entered recursively in order to move their
entries to the target QDict and also be moved themselves to the target
QDict like all other objects. This is harmless because for the top
level, qdict_do_flatten() will encounter the (now empty) QDict for a
second time and then delete it, but at the same time it's obviously
unnecessary overhead. Just delete nested QDicts directly after moving
all of their entries.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6273d1136af913aaf4badc4545ccf942557c747b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Nov 20 13:09:20 2013 +0100
qdict: Fix memory leak in qdict_do_flatten()
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dce32b6c2bfd5132c433638352eea6f7707caf9c
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Nov 20 15:51:59 2013 +0800
MAINTAINERS: add sheepdog development mailing list
This will help people find mailing list relevant to sheepdog.
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 091b1108ca6d6e3bfaea5f095f219bf5ea8c316b
Author: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Date: Fri Nov 15 19:47:02 2013 +0100
COW: Extend checking allocated bits to beyond one sector
cow_co_is_allocated() only checks one sector's worth of allocated bits
before returning. This is allowed but (slightly) inefficient, so extend
it to check all of the file's metadata sectors.
Signed-off-by: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
[kwolf: silenced compiler warning (-Wmaybe-uninitialized for changed)]
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 14b98fdaf3422fef19718033be9eca7e0b776a26
Author: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Date: Fri Nov 15 19:47:01 2013 +0100
COW: Speed up writes
Process a whole sector's worth of COW bits by reading a sector, setting
the bits after skipping any already set bits, then writing it out again.
Make sure we only flush once before writing metadata, and only if we
need to write metadata.
Signed-off-by: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 21b568350861a2c6eedfef95b70f88faf2fbd32a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 13 18:29:44 2013 +0800
qapi: Change BlockDirtyInfo to list
We have multiple dirty bitmaps in BDS now, switch QAPI to allow query
it (BlockInfo.dirty_bitmaps), and also drop old BlockInfo.dirty.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e4654d2d9406016d6e4e296ba8db3d118caf9ff6
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 13 18:29:43 2013 +0800
block: per caller dirty bitmap
Previously a BlockDriverState has only one dirty bitmap, so only one
caller (e.g. a block job) can keep track of writing. This changes the
dirty bitmap to a list and creates a BdrvDirtyBitmap for each caller, the
lifecycle is managed with these new functions:
bdrv_create_dirty_bitmap
bdrv_release_dirty_bitmap
Where BdrvDirtyBitmap is a linked list wrapper structure of HBitmap.
In place of bdrv_set_dirty_tracking, a BdrvDirtyBitmap pointer argument
is added to these functions, since each caller has its own dirty bitmap:
bdrv_get_dirty
bdrv_dirty_iter_init
bdrv_get_dirty_count
bdrv_set_dirty and bdrv_reset_dirty prototypes are unchanged but will
internally walk the list of all dirty bitmaps and set them one by one.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a29267846a52b4ca294ba3a962b74b67df7ce6d2
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Oct 30 14:46:32 2013 +0100
linux-user: pass correct parameter to do_shmctl()
Fix shmctl issue by passing correct parameter buf to do_shmctl().
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 55a2b1631fb343edac4a2d4596c72e58ee1372b3
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Oct 30 14:46:31 2013 +0100
linux-user: create target_structs header to place ipc_perm and shmid_ds
Creating target_structs header in linux-user/$arch/ and making
target_ipc_perm and target_shmid_ds its first inhabitants.
The struct defintions may/should be further fine-tuned by arch
maintainers.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 9721cf2cd6ecfc50d2ab1349e27b53c4bc36df54
Author: Corey J. Boyle <corey@xxxxxxxxxxxxx>
Date: Sat Oct 5 07:46:31 2013 -0400
flatload: fix non-GOT relocations
Use target address rather than host address when performing
non-GOT relocations
Signed-off-by: Corey J. Boyle <corey@xxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f4f1e10a58cb5ec7806d47d20671e668a52c3e70
Author: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Date: Fri Nov 29 18:39:23 2013 +1100
linux-user: Implement handling of 5 POSIX timer syscalls.
Implement timer_create, timer_settime, timer_gettime, timer_getoverrun
and timer_delete.
Signed-off-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 905bba13ca292cb8c83fe5ccdf8a95bd04168bb1
Author: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Date: Fri Nov 29 18:39:22 2013 +1100
linux-user: Add target struct defs needed for POSIX timer syscalls.
Signed-off-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 0b1fa34e1dd2764ee7ae2be849e1c5ba5e8724ca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 07:33:28 2013 +0100
usb: move usb_{hi,lo} helpers to header file.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2b81ba53887e6f3b5a79ecd2f446f849ed89561f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 19 12:37:58 2013 +0100
usb: add vendor request defines
Add defines for vendor specific usb control requests.
Group defines by Device / Interface / Endpoint while
being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 904c063039f5923a07ce35fc40ed78ec6f7dee1a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Nov 25 13:08:18 2013 +0100
trace-events: Clean up after removal of old usb-host code
Commit b5613fd neglected to drop the trace events along with the code.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 690af06aebdfd043a6222de96a535dcba2144caf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 14:32:27 2013 +0100
Revert "usb-tablet: Don't claim wakeup capability for USB-2 version"
This reverts commit aa1c9e971e80d25b92908dce3dec7c38b49480ea.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e489df40caa96d895d9672d77f536f23c9e42f94
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 14:10:19 2013 +0100
ehci: implement port wakeup
Update portsc register and raise irq in case a suspended
port is woken up, so remote wakeup works on our ehci ports.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f4a193e717e6b5179a2e57423bfe110b724662d8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Nov 13 20:37:58 2013 +0100
block/stream: Don't stream unbacked devices
If a block device is unbacked, a streaming blockjob should immediately
finish instead of beginning to try to stream, then noticing the backing
file does not contain even the first sector (since it does not exist)
and then finishing normally.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8582972227196c289bb3b28086b3b2d01071d958
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Aug 7 16:59:53 2013 +0800
sheepdog: implement .bdrv_get_allocated_file_size
With this patch, qemu-img info sheepdog:image will show disk size for
sheepdog
images.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f8d1daea6f3ccd7450c2177ffb8903f0202711ee
Author: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Date: Thu Aug 8 03:23:14 2013 +0100
Test coroutine execution order
This patch adds a test for coroutine execution order in test-coroutine -
this catches a bug in the CPC coroutine implementation.
Signed-off-by: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b276d2499428795629eee8ee93ba1ea100bb1bc9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Nov 7 20:10:29 2013 +0100
util/error: Save errno from clobbering
There may be calls to error_setg() and especially error_setg_errno()
which blindly (and until now wrongly) assume these functions not to
clobber errno (e.g., they pass errno to error_setg_errno() and return
-errno afterwards). Instead of trying to find and fix all of these
constructs, just make sure error_setg() and error_setg_errno() indeed do
not clobber errno.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5a37b60a61c4c334e3b194758871f41494317d42
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:06 2013 +0200
qemu-img: conditionally zero out target on convert
If the target has_zero_init = 0, but supports efficiently
writing zeroes by unmapping we call bdrv_make_zero to
avoid fully allocating the target. This currently works
only for iscsi. It can be extended to raw with
BLKDISCARDZEROES for example.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11b6699af59b8684128debacfc7c44cbaa6ac53b
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:05 2013 +0200
qemu-img: add support for fully allocated images
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3d8688470a33feb0ea78c006b4399d50c13185e
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:04 2013 +0200
block/get_block_status: fix BDRV_BLOCK_ZERO for unallocated blocks
this patch does 2 things:
a) only do additional call outs if BDRV_BLOCK_ZERO is not already set.
b) use the newly introduced bdrv_unallocated_blocks_are_zero()
to return the zero state of an unallocated block. the used callout
to bdrv_has_zero_init() is only valid right after bdrv_create.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d75cbb5e68f5a7d64248ba89399a7f2073231de5
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:03 2013 +0200
block: introduce bdrv_make_zero
this patch adds a call to completely zero out a block device.
the operation is sped up by checking the block status and
only writing zeroes to the device if they currently do not
return zeroes. optionally the zero writing can be sped up
by setting the flag BDRV_REQ_MAY_UNMAP to emulate the zero
write by unmapping if the driver supports it.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d4cd961507e6f013fd0f9b1dc609f15ed2aaa40d
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:02 2013 +0200
iscsi: add bdrv_co_write_zeroes
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 01a6a238a30b0381846e3e68ba06e232567a7026
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:01 2013 +0200
iscsi: simplify iscsi_co_discard
now that bdrv_co_discard can handle limits we do not need
the request split logic here anymore.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ba6c59191f245147e7ee0c2b9ecaf5fb116f7877
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:00 2013 +0200
iscsi: set limits in BlockDriverState
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6f14da5247076bde1e00444f6d5b2b7ca8075a09
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:59 2013 +0200
block: honour BlockLimits in bdrv_co_discard
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c31cb70728d2c0c8900b35a66784baa446fd5147
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:58 2013 +0200
block: honour BlockLimits in bdrv_co_do_write_zeroes
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 04f19e4d2da4325297c99e94f20b0aca52546209
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:57 2013 +0200
block/raw: copy BlockLimits on raw_open
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fe81c2cca6dc69a5e423f6d8b235606b7f3ca7b7
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:56 2013 +0200
block: add BlockLimits structure to BlockDriverState
this patch adds BlockLimits which introduces discard and write_zeroes
limits and alignment information to the BlockDriverState.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 186d4f2b1deaae5c404798959bfbdb781e762045
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:55 2013 +0200
block/iscsi: add .bdrv_get_info
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4ce786914b745a144a9eda1ea33f3ff98328c527
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:54 2013 +0200
block: add wrappers for logical block provisioning information
This adds 2 wrappers to read the unallocated_blocks_are_zero and
can_write_zeroes_with_unmap info from the BDI. The wrappers are
required to check for the existence of a backing_hd and
if the devices are opened with the correct flags.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1a5c4bed44bc23f69f53883c657e31e150cab30
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:53 2013 +0200
block: add logical block provisioning info to BlockDriverInfo
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d32f35cbc5a87af5e1100dd55074a79fc2cb5307
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:52 2013 +0200
block: introduce BDRV_REQ_MAY_UNMAP request flag
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aa7bfbfff792538a9eeefe879fc4c629aa0b4203
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:51 2013 +0200
block: add flags to bdrv_*_write_zeroes
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6faac15fa80c4c1f813d96afc13bceaa3bc5ffe7
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:50 2013 +0200
block: make BdrvRequestFlags public
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7dc65c02fe3fb8f3146ce0b9ff5fec5945329f0e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 27 14:02:45 2013 -0800
Open 2.0 development tree
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0e7b9f06a6cc032be6ca2ac55a27592abd374179
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 27 11:30:46 2013 -0800
Update version for 1.7.0 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 171d64319c9604228429b0580edf764a69b67c75
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Nov 25 20:28:56 2013 +0100
qemu-iotests: Fix test 041
Performing multiple drive-mirror blockjobs on the same qemu instance
results in the image file used for the block device being replaced by
the newly mirrored file, which is not what we want.
Fix this by performing one dedicated test per sync mode.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1385407736-13941-3-git-send-email-mreitz@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 117e0c82881f05d88902d4059a3171bc6cd02df0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Nov 25 20:28:55 2013 +0100
block/drive-mirror: Reuse backing HD for sync=none
For "none" sync mode in "absolute-paths" mode, the current image should
be used as the backing file for the newly created image.
The current behavior is:
a) If the image to be mirrored has a backing file, use that (which is
wrong, since the operations recorded by "none" are applied to the
image itself, not to its backing file).
b) If the image to be mirrored lacks a backing file, the target doesn't
have one either (which is not really wrong, but not really right,
either; "none" records a set of operations executed on the image
file, therefore having no backing file to apply these operations on
seems rather pointless).
For a, this is clearly a bugfix. For b, it is still a bugfix, although
it might break existing API - but since that case crashed qemu just
three weeks ago (before 1452686495922b81d6cf43edf025c1aef15965c0), we
can safely assume there is no such API relying on that case yet.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1385407736-13941-2-git-send-email-mreitz@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 72391da50621c9f11bb8c57193ab2d1ad8bc5ad8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:58 2013 +0100
xhci: Call usb_device_alloc/free_streams
Note this code is not as KISS as I would like, the reason for this is that
the Linux kernel interface wants streams on eps belonging to one interface
to be allocated in one call. Things will also work if we do this one ep
at a
time (as long as all eps support the same amount of streams), but lets
stick
to the kernel API.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3b444eadf7726d976be4ac89e8e742cb7eb7a5ee
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:57 2013 +0100
usb: Add usb_device_alloc/free_streams
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 04b300f85fafd2d6a92ec0a766f0035e9bc5835c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:56 2013 +0100
usb: Add max_streams attribute to endpoint info
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5007c940a9c96ad974573915192424ba00b49932
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:37:04 2013 +0100
uas: s/ui/iu/
The various uas data structures are called IU-s, which is short for
Information Unit, rather then UI-s.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 49cfa2fdc92be2cdd01b9fba846cd52aea1f7f63
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 31 10:35:31 2013 +0100
uas: Fix response iu struct definition
This patch mirrors a patch to the Linux uas kernel driver which I've just
submitted. It looks like the qemu uas struct definitions were taken from
the Linux kernel driver, and have inherited the same mistake.
Besides fixing the response iu struct, the patch also drops the add_info
parameter from the usb_uas_queue_response() function, it is always 0
anyways,
and expressing 3 zero-bytes as a function argument is a bit hard.
Below is the long explanation for this change taken from the kernel
commit:
The response iu struct before this patch has a size of 7 bytes, which is
weird
since all other iu-s are explictly padded to a multiple of 4 bytes.
Submitting a 7 byte bulk transfer to the status endpoint of a real uasp
device
when expecting a response iu results in an USB babble error, as the device
actually sends 8 bytes.
Up on closer reading of the UAS spec:
http://www.t10.org/cgi-bin/ac.pl?t=f&f=uas2r00.pdf
The reason for this becomes clear, the 2 entries in "Table 17 â??
RESPONSE IU"
are numbered 4 and 6, looking at other iu definitions in the spec, esp.
multi-byte fields, this indicates that the ADDITIONAL RESPONSE INFORMATION
field is not a 2 byte field as one might assume at a first look, but is
a multi-byte field containing 3 bytes.
This also aligns with the SCSI Architecture Model 4 spec, which UAS is
based
on which states in paragraph "7.1 Task management function procedure
calls"
that the "Additional Response Information" output argument for a Task
management function procedure call is 3 bytes.
Last but not least I've verified this by sending a logical unit reset task
management call with an invalid lun to an actual uasp device, and received
back a response-iu with byte 6 being 0, and byte 7 being 9, which is the
responce code for an invalid iu, which confirms that the response code is
being reported in byte 7 of the response iu rather then in byte 6.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3453f9a0dfa58578e6dadf0905ff4528b428ec73
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:53 2013 +0100
uas: Bounds check tags when using streams
Disallow the guest to cause us to address the data3 and status3 arrays
out of bounds.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0478661ec5f949f16a70687b348c0fb2a56cc537
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:52 2013 +0100
uas: Streams are numbered 1-y, rather then 0-x
It is easier to simply make the arrays one larger, rather then
substracting one everywhere.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5eb6d9e3ef1fac096ab5b3f5c14e1f4079dd7367
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:51 2013 +0100
uas: Fix / cleanup usb_uas_task error handling
-The correct error if we cannot find the dev is INCORRECT_LUN rather then
INVALID_INFO_UNIT
-Move the device not found check to the top so we only need to do it once
-Remove the dev->lun != lun checks, dev is returned by scsi_device_find
which searches by lun, so this will never trigger
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4bfc7b9f35da7dcc28ae87de503b28bd7ff56ee
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:50 2013 +0100
uas: Only use report iu-s for task_mgmt status reporting
Regular scsi cmds should always report their status using a sense-iu,
using
the sense code to report any errors.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9ec557bd53031fb50cc0cd426a2d529624d3d515
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:49 2013 +0100
scsi: Add 2 new sense codes needed by uas
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1f8bc218a422081f36f0b325b3de5e6a5078b74
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 8 11:43:20 2013 +0100
xhci: add support for suspend/resume
The OS can ask the xhci controller to save and restore its
internal state, which is used by the OS when the system is
suspended and resumed.
This patch handles writes to the save + restore bits in the
command register. Only thing it does is updating the
restore error bit in the status register to signal an error
on restore. The guest OS should do a full reinitialization
after resume then.
This is the minimal patch which gets S3 going with xhci.
Implementing full save/restore support is TBD.
https://bugzilla.redhat.com/show_bug.cgi?id=1012365
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit de9de157fbb9aa66380ab1973dd6ecf12fbd8b25
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:59 2013 +0100
xhci: Add a few missing checks for disconnected devices
One of the reworks of qemu's usb core made changes to usb-port's
disconnect
handling. Now ports with a device will always have a non 0 dev member, but
if the device is not attached (which is possible with usb redirection),
dev->attached will be 0.
So supplement all checks for dev to also check dev->attached, and add an
extra check in a path where a device check was completely missing.
This fixes various crashes (asserts triggering) I've been seeing when xhci
attached usb devices get disconnected at the wrong time.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7457fe9541b5162f285454947448d553a5d5a531
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 20:37:12 2013 -0800
Update version for v1.7.0-rc2 release
commit 032ac6f8bfb68746cb0eea407b1cd2b22a78898f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 22 15:35:03 2013 +0100
curses: fixup SIGWINCH handler mess
Don't run code in the signal handler, only set a flag.
Use sigaction(2) to avoid non-portable signal(2) semantics.
Make #ifdefs less messy.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1385130903-20531-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16f4e8fa737b58b7b0461b33581e43ac06991110
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Nov 25 20:54:17 2013 +0100
qga: Fix two format strings for MinGW
Both code locations cause a compiler warning. Using "%s" instead of "%lu"
would result in a program crash if the wrong code were executed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1385409257-2522-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84dc96e1e51c74ebf40b6c5e0c383769402e1a2d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Nov 25 22:46:55 2013 +0100
PPC: BookE: Make FIT/WDT timers at best millisecond grained
The default granularity for the FIT timer on 440 is on every 0x1000th
transition of TB from 0 to 1. Translated that means 48828 times a second.
Since interrupts are quite expensive for 440 and we don't really care
about the accuracy of the FIT to that significance, let's force FIT and
WDT to at best millisecond granularity.
This basically restores behavior as it was in QEMU 1.6, where timers
could only deal with millisecond granularities at all.
This patch greatly improves performance with the 440 target and restores
roughly the same performance level that QEMU 1.6 had for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1385416015-22775-3-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 455df3f32341a3dff00f1726ff0749b3dd783bdf
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Nov 25 22:46:54 2013 +0100
PPC: Make BookE FIT/WDT timers more lazy
Today we fire FIT and WDT timer events every time the respective bit
position in TB flips from 0 -> 1.
However, there is no need to do this if the end result would be that
we're changing a TSR bit that is set to 1 to 1 again. No guest visible
change would have occured.
So whenever we see that the TSR bit to our timer is already set, don't
even bother to update the timer that would potentially fire it off.
However, we do need to make sure that we update our timer that notifies
us of the TB flip when the respective TSR bit gets unset. In that case
we do care about the flip and need to notify the guest again. So add
a callback into our timer handlers when TSR bits get unset.
This improves performance for me when the guest is busy processing things.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1385416015-22775-2-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 134d42d614768b2803e551621f6654dab1fdc2d2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Nov 26 00:00:39 2013 +0200
acpi-build: fix support for glib < 2.22
glib < 2.22 does not have g_array_get_element_size,
limit it's use (to check all elements are 1 byte
in size) to newer glib.
This fixes build on RHEL 5.3.
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Reported-by: Erik Rull <erik.rull@xxxxxxxxxxxxx>
Tested-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20131125220039.GA16386@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c0caec178eadbbac4c672110c3914313091e0588
Merge: d916ada e007dbe
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:49:42 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc very last minute fixes for 1.7
This has a fix for a crasher bug with pci bridges,
boot failure fix for s390 on 32 bit hosts,
and fixes build for hosts with old glib.
There's also a fix for --iasl configure flag - it can be used
to work around broken iasl on some systems either
by using a non-standard iasl or by disabling it.
I've also reverted a e1000/rtl mac programming change
that seems slightly wrong and too risky for 1.8.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 25 Nov 2013 03:40:07 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (5) and Bandan Das (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
configure: make --iasl option actually work
Revert "e1000/rtl8139: update HMP NIC when every bit is written"
acpi-build: fix build on glib < 2.14
acpi-build: fix build on glib < 2.22
pci: unregister vmstate_pcibus on unplug
s390x: fix flat file load on 32 bit systems
Message-id: 1385379990-32093-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d916adaa606dd1b871316acb295d5979361133b7
Merge: 833637d d607a52
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:41:24 2013 -0800
Merge remote-tracking branch 'bonzini/tags/for-anthony' into staging
Here are a bunch of 1.7-tagged patches that I was afraid
were getting forgotten or that did not have a clear maintainer responsible
for making a pull request.
# gpg: Signature made Thu 21 Nov 2013 08:40:59 AM PST using RSA key ID
9B4D86F2
# gpg: Can't check signature: public key not found
# By Peter Maydell (3) and others
# Via Paolo Bonzini
* bonzini/tags/for-anthony:
qga: Fix compiler warnings (missing format attribute, wrong format
strings)
mips jazz: do not raise data bus exception when accessing invalid
addresses
target-i386: yield to another VCPU on PAUSE
rng-egd: offset the point when repeatedly read from the buffer
rng-egd: remove redundant free
target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid()
vfio-pci: Fix multifunction=on
atomic.h: Fix build with clang
pc: get rid of builtin pvpanic for "-M pc-1.5"
configure: Explicitly set ARFLAGS so we can build with GNU Make 4.0
sun4m: Add FCode ROM for TCX framebuffer
Message-id: 1385052578-32352-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 833637d46dd5a0859abdff085352ae7d48dc8189
Merge: 0ff1e1d bca4bf1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:37:44 2013 -0800
Merge remote-tracking branch 'mdroth/qga-pull-2013-11-22' into staging
# By Tomoki Sekiyama
# Via Michael Roth
* mdroth/qga-pull-2013-11-22:
qemu-ga: vss-win32: Install VSS provider COM+ application service
Message-id: 1385154505-15145-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ff1e1dac4b6bccefc4b8a861ec2a643ecfb6e9d
Merge: 607bb02 30c367e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:37:27 2013 -0800
Merge remote-tracking branch 'stefanha/net' into staging
# By Vlad Yasevich
# Via Stefan Hajnoczi
* stefanha/net:
qdev-properties-system.c: Allow vlan or netdev for -device, not both
Message-id: 1385118544-28482-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ef36fa1492e9105f3fa607b56edc63df513d7da1
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Mon Oct 28 18:51:46 2013 -0200
qemu: mempath: prefault pages manually (v4)
v4: s/fail/failed/ (Peter Maydell)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit fb541ca59c8b55911821c9f794c3dbe5de9ba9d8
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Nov 22 12:12:44 2013 -0700
kvm: Query KVM for available memory slots
KVM reports the number of available memory slots (KVM_CAP_NR_MEMSLOTS)
using the extension interface. Both x86 and s390 implement this, ARM
and powerpc do not yet enable it. Convert the static slots array to
be dynamically allocated, supporting more slots when available.
Default to 32 when KVM_CAP_NR_MEMSLOTS is not implemented. The
motivation for this change is to support more assigned devices, where
memory mapped PCI MMIO BARs typically take one slot each.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e007dbece5fc4e55e10116c6cb42753e35a945bf
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Nov 24 11:38:05 2013 +0200
configure: make --iasl option actually work
--iasl option was added to CC option parsing section by mistake,
it's not effective there and attempts to use cause
an 'unknown option' error.
Fix this up.
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bca4bf1028b332f55502bc7f50345fa5ea1c4f40
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Fri Nov 1 17:47:25 2013 -0400
qemu-ga: vss-win32: Install VSS provider COM+ application service
Currently, qemu-ga for Windows fails to execute guset-fsfreeze-freeze when
no user is logging in to Windows, with an error message:
{"error":{"class":"GenericError",
"desc":"failed to add C:\\ to snapshotset: (error:
8004230f)"}}
To enable guest-fsfreeze-freeze/thaw without logging in users, this
installs
a service to execute qemu-ga VSS provider COM+ application that has full
access privileges to the local system. The service will automatically be
removed when the COM+ application is deregistered.
This patch replaces ICOMAdminCatalog interface with ICOMAdminCatalog2
interface that contains CreateServiceForApplication() method in addition.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Tested-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 30c367ed446b6ea53245589a5cf373578ac075d7
Author: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Date: Thu Nov 7 21:13:09 2013 -0500
qdev-properties-system.c: Allow vlan or netdev for -device, not both
It is currently possible to specify things like:
-device e1000,netdev=foo,vlan=1
With this usage, whichever argument was specified last (vlan or netdev)
overwrites what was previousely set and results in a non-working
configuration. Even worse, when used with multiqueue devices,
it causes a segmentation fault on exit in qemu_free_net_client.
That patch treates the above command line options as invalid and
generates an error at start-up.
Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Acked-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d607a52364e7bfc1cd6d3e425b898e86be4e525d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 19:19:52 2013 +0100
qga: Fix compiler warnings (missing format attribute, wrong format
strings)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC qga/commands.o
qga/commands.c: In function â??slogâ??:
qga/commands.c:28:5: error:
function might be possible candidate for â??gnu_printfâ?? format
attribute [-Werror=suggest-attribute=format]
g_logv("syslog", G_LOG_LEVEL_INFO, fmt, ap);
^
gcc 4.8.2 reports this warning when slog is declared with the
gnu_printf format attribute:
qga/commands-posix.c: In function â??qmp_guest_file_openâ??:
qga/commands-posix.c:404:5: warning:
format â??%dâ?? expects argument of type â??intâ??, but argument 2 has
type â??int64_tâ?? [-Wformat=]
slog("guest-file-open, handle: %d", handle);
^
On 32 bit hosts there are three more warnings which are also fixed here.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b6a06e72ef5e66e539012f63fca52c161c0d2496
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Nov 4 23:26:17 2013 +0100
mips jazz: do not raise data bus exception when accessing invalid
addresses
MIPS Jazz chipset doesn't seem to raise data bus exceptions on invalid
accesses.
However, there is no easy way to prevent them. Creating a big memory
region
for the whole address space doesn't prevent memory core to directly call
unassigned_mem_read/write which in turn call cpu->do_unassigned_access,
which (for MIPS CPU) raise an data bus exception.
This fixes a MIPS Jazz regression introduced in
c658b94f6e8c206c59d02aa6fbac285b86b53d2c.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b5fc314bcbb80f76b8deaf23a4c45767b87f750b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 20 12:54:02 2013 +0100
target-i386: yield to another VCPU on PAUSE
After commit b1bbfe7 (aio / timers: On timer modification, qemu_notify
or aio_notify, 2013-08-21) FreeBSD guests report a huge slowdown.
The problem shows up as soon as FreeBSD turns out its periodic (~1 ms)
tick, but the timers are only the trigger for a pre-existing problem.
Before the offending patch, setting a timer did a timer_settime system
call.
After, setting the timer exits the event loop (which uses poll) and
reenters it with a new deadline. This does not cause any slowdown; the
difference is between one system call (timer_settime and a signal
delivery (SIGALRM) before the patch, and two system calls afterwards
(write to a pipe or eventfd + calling poll again when re-entering the
event loop).
Unfortunately, the exit/enter causes the main loop to grab the iothread
lock, which in turns kicks the VCPU thread out of execution. This
causes TCG to execute the next VCPU in its round-robin scheduling of
VCPUS. When the second VCPU is mostly unused, FreeBSD runs a "pause"
instruction in its idle loop which only burns cycles without any
progress. As soon as the timer tick expires, the first VCPU runs
the interrupt handler but very soon it sets it again---and QEMU
then goes back doing nothing in the second VCPU.
The fix is to make the pause instruction do "cpu_loop_exit".
Reported-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fbdcec5c487685b46e78f1e40a236ebf83f862fa
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:51 2013 +0800
rng-egd: offset the point when repeatedly read from the buffer
The buffer content might be read out more than once, currently
we just repeatedly read the first data block, buffer offset is
missing.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 60aad298cb6de52f2716b2e82e1353ea9de95fd6
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:50 2013 +0800
rng-egd: remove redundant free
We didn't set default chr_name, the free is redundant.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2140cfa51d59177815f5b82e94ac48fb24909aba
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Nov 13 23:09:07 2013 +0000
target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid()
Fix build failures with clang when KVM is not enabled by
providing a stub version of kvm_arch_get_supported_cpuid().
We retain the compile time check that this function isn't
called when CONFIG_KVM is not set by guarding the stub with
ifndef __OPTIMIZE__ (we assume that an optimizing build will
do sufficient constant folding and dead code elimination to
remove the calls before linking).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8d07d6c46597a885eb38d99cc6fff399ce69cd21
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Nov 12 11:53:24 2013 -0700
vfio-pci: Fix multifunction=on
When an assigned device is initialized it copies the device config
space into the emulated config space. Unfortunately multifunction is
setup prior to the device initfn and gets clobbered. We need to
restore it just like pci-assign does.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 392a4d5b9a1860aae82429d09321dac302d70396
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Oct 22 10:58:41 2013 +0100
atomic.h: Fix build with clang
clang defines __ATOMIC_SEQ_CST but its implementation of the
__atomic_exchange() builtin differs from that of gcc. Move the
__clang__ branch of the ifdef ladder to the top and fix its
implementation (there is no such builtin as __sync_exchange),
so we can compile with clang again.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7839ff593be03a7de3c6760e0b50c565ea751d36
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 4 14:30:48 2013 +0100
pc: get rid of builtin pvpanic for "-M pc-1.5"
This causes two slight backwards-incompatibilities between "-M pc-1.5"
and 1.5's "-M pc":
(1) a fw_cfg file is removed with this patch. This is only a problem
if migration stops the virtual machine exactly during fw_cfg enumeration.
(2) after migration, a VM created without an explicit "-device pvpanic"
will stop reporting panics to management.
The first problem only occurs if migration is done at a very, very
early point (and I'm not sure it can happen in practice for
reasonable-size
VMs, since it will likely take more time to send the RAM to destination,
than it will take for BIOS to scan fw_cfg).
The second problem only occurs if the guest panics _and_ has a guest
driver _and_ management knows to look at the crash event, so it is
mostly theoretical at this point in time.
Thus keep the code simple, and pretend it was never broken.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 45d285abd7028ac72418c1a22f9298bb898fbfb8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Oct 21 21:03:06 2013 +0100
configure: Explicitly set ARFLAGS so we can build with GNU Make 4.0
Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be
explicitly specifying everything and not relying on any default
variables or rules. However we were accidentally relying on the
default ARFLAGS ("rv"). This went unnoticed because of a bug in
GNU Make 3.82 and earlier which meant that adding -rR to MAKEFLAGS
only affected submakes, not the currently running instance.
Explicitly set ARFLAGS in config-host.mak, in the same way we
handle CFLAGS and LDFLAGS; this will allow us to work with
Make 4.0.
Thanks to Paul Smith for analyzing this bug for us.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Ken Moffat <zarniwhoop@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit da87dd7bd70f71ceaf9ff40d7cdb8394a7dc4bf5
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sat Nov 2 16:03:50 2013 +0000
sun4m: Add FCode ROM for TCX framebuffer
Upstream OpenBIOS now implements SBus probing in order to determine the
contents of a physical bus slot, which is required to allow OpenBIOS to
identify the framebuffer without help from the fw_cfg interface.
SBus probing works by detecting the presence of an FCode program
(effectively tokenised Forth) at the base address of each slot, and if
present executes it so that it creates its own device node in the
OpenBIOS device tree.
The FCode ROM is generated as part of the OpenBIOS build and should
generally be updated at the same time.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
CC: Bob Breuer <breuerr@xxxxxx>
CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 607bb022f2a44797cbf40e85e84da4134e2f0e01
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 08:11:47 2013 -0800
Update version for 1.7.0-rc1 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 187d62327aca39afbb038d13d7cd6bf2d11640d3
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Nov 12 11:53:24 2013 -0700
vfio-pci: Fix multifunction=on
When an assigned device is initialized it copies the device config
space into the emulated config space. Unfortunately multifunction is
setup prior to the device initfn and gets clobbered. We need to
restore it just like pci-assign does.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Bandan Das <bsd@xxxxxxxxxx>
Message-id: 20131112185059.7262.33780.stgit@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7865eec4f5fb10224a2cd391a8476044cbe5a1f7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 12 11:16:56 2013 +1000
target-i386: Fix addr32 prefix in gen_lea_modrm
Fix the following run-test-x86_64 testsuite failures:
-lea (%%eax) = 0000000000000001
-lea (%%ebx) = 0000000000000002
-lea (%%ecx) = 0000000000000004
-lea (%%edx) = 0000000000000008
-lea (%%esi) = 0000000000000010
-lea (%%edi) = 0000000000000020
+lea (%%eax) = 0000abcc00000001
+lea (%%ebx) = 0000abcf00000002
+lea (%%ecx) = 0000abc900000004
+lea (%%edx) = 0000abc500000008
+lea (%%esi) = 0000abdd00000010
+lea (%%edi) = 0000abed00000020
In addition, reduce ifdeffery and minimize the number of TCG ops
produced during address computation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1384219016-5170-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33effd3aab4a268fb573fd8d7e0fe0baed0cd61a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Oct 22 10:58:41 2013 +0100
atomic.h: Fix build with clang
clang defines __ATOMIC_SEQ_CST but its implementation of the
__atomic_exchange() builtin differs from that of gcc. Move the
__clang__ branch of the ifdef ladder to the top and fix its
implementation (there is no such builtin as __sync_exchange),
so we can compile with clang again.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1382435921-18438-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76c2975a6feb5c232698e982b7f798431457822f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 19 17:49:46 2013 +0100
target-i386: do not override nr_cores for -cpu host
Commit 787aaf5 (target-i386: forward CPUID cache leaves when -cpu host is
used, 2013-09-02) brings bits 31..26 of CPUID leaf 04h out of sync with
the APIC IDs that QEMU reserves for each package. This number must come
from "-smp" options rather than from the host CPUID.
It also turns out that this unsyncing makes Windows Server 2012R2 fail
to boot.
Tested-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Message-id: 1384879786-6721-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 54e755588cf1e90f0b1460c4e8e6b6a54b6d3a32
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Nov 4 23:26:17 2013 +0100
mips jazz: do not raise data bus exception when accessing invalid
addresses
MIPS Jazz chipset doesn't seem to raise data bus exceptions on invalid
accesses.
However, there is no easy way to prevent them. Creating a big memory
region
for the whole address space doesn't prevent memory core to directly call
unassigned_mem_read/write which in turn call cpu->do_unassigned_access,
which (for MIPS CPU) raise an data bus exception.
This fixes a MIPS Jazz regression introduced in
c658b94f6e8c206c59d02aa6fbac285b86b53d2c.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Message-id: 1383603977-7003-1-git-send-email-hpoussin@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 81f3053b77f7d3a4d9100c425cd8cec99ee7a3d4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 20 12:54:02 2013 +0100
target-i386: yield to another VCPU on PAUSE
After commit b1bbfe7 (aio / timers: On timer modification, qemu_notify
or aio_notify, 2013-08-21) FreeBSD guests report a huge slowdown.
The problem shows up as soon as FreeBSD turns out its periodic (~1 ms)
tick, but the timers are only the trigger for a pre-existing problem.
Before the offending patch, setting a timer did a timer_settime system
call.
After, setting the timer exits the event loop (which uses poll) and
reenters it with a new deadline. This does not cause any slowdown; the
difference is between one system call (timer_settime and a signal
delivery (SIGALRM) before the patch, and two system calls afterwards
(write to a pipe or eventfd + calling poll again when re-entering the
event loop).
Unfortunately, the exit/enter causes the main loop to grab the iothread
lock, which in turns kicks the VCPU thread out of execution. This
causes TCG to execute the next VCPU in its round-robin scheduling of
VCPUS. When the second VCPU is mostly unused, FreeBSD runs a "pause"
instruction in its idle loop which only burns cycles without any
progress. As soon as the timer tick expires, the first VCPU runs
the interrupt handler but very soon it sets it again---and QEMU
then goes back doing nothing in the second VCPU.
The fix is to make the pause instruction do "cpu_loop_exit".
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Reported-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1384948442-24217-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1eb1bd9eafa890f1f4d16ef5cb8b9239a86874d9
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:51 2013 +0800
rng-egd: offset the point when repeatedly read from the buffer
The buffer content might be read out more than once, currently
we just repeatedly read the first data block, buffer offset is
missing.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1385023371-8198-3-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5e490b6a504912225dff0e520e1c6af68295d238
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:50 2013 +0800
rng-egd: remove redundant free
We didn't set default chr_name, the free is redundant.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1385023371-8198-2-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d44bb8604e87ecd3823f12f0c92d5e56d613de0d
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 18:53:23 2013 +0800
virtio-rng: add check of period
If period is assigned to 0, limit timer will expire immediately.
It causes a qemu warning:
"main-loop: WARNING: I/O thread spun for 1000 iterations"
This limit is meaningless. This patch forbids to assign 0 to period.
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1385031203-23790-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 376827d48922941d16ef9949672e86f820005d0a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 15:34:26 2013 +0200
s390x: fix flat file load on 32 bit systems
pc-bios/s390-zipl.rom is a flat image so it's expected that
loading it as elf will fail.
It should fall back on loading a flat file, but doesn't
on 32 bit systems, instead it fails printing:
qemu: hardware error: could not load bootloader 's390-zipl.rom'
The result is boot failure.
The reason is that a 64 bit unsigned interger which is set
to -1 on error is compared to -1UL which on a 32 bit system
with gcc is a 32 bit unsigned interger.
Since both are unsigned, no sign extension takes place and
comparison evaluates to non-equal.
There's no reason to do clever tricks: all functions
we call actually return int so just use int.
And then we can use == -1 everywhere, consistently.
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20131121133426.GA30827@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b15654c21acef4d2bc17e6ac528c6c93abbb7e1e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 14:17:54 2013 +0200
acpi-build: fix build on glib < 2.14
g_array_get_element_size was only added in glib 2.14.
Fortunately we don't use it for any arrays where
element size is > 1, so just add an assert.
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1385036128-8753-2-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 542da88f0013ebb2b2d8ca10becbfebd9948abba
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 14:17:51 2013 +0200
acpi-build: fix build on glib < 2.22
g_string_vprintf was only introduced in 2.24 so switch to vsnprintf
instead. A bit uglier but name size is fixed at 4 bytes here so it's
easy.
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1385036128-8753-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a3c738507cef91bd751d8507676109bc7985e1a
Merge: ffb62da ef4cbe1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 07:09:52 2013 -0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Jan Kiszka (1) and others
# Via Gleb Natapov
* qemu-kvm/uq/master:
kvm: Fix uninitialized cpuid_data
pci-assign: Remove dead code for direct I/O region access from userspace
KVM: x86: fix typo in KVM_GET_XCRS
Message-id: cover.1385040432.git.gleb@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ffb62da7a23b1d13a3582bee6b2df599baa6ecfb
Merge: 425ff51 14a650e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 07:08:47 2013 -0800
Merge remote-tracking branch 'jliu/or32' into staging
# By Sebastian Macke
# Via Jia Liu
* jliu/or32:
target-openrisc: Correct carry flag check of l.addc and l.addic test
cases
target-openrisc: Correct memory bounds checking for the tlb buffers
openrisc-timer: Reduce overhead, Separate clock update functions
target-openrisc: Correct wrong epcr register in interrupt handler
target-openrisc: Remove executable flag for every page
target-openrisc: Remove unnecessary code generated by jump instructions
target-openrisc: Speed up move instruction
Message-id: 1384958318-9145-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 425ff5102f8668d5c921e2a1d77ee9173742bfdf
Merge: 394cfa3 8e86729
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 07:08:31 2013 -0800
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Wangting (Kathy)
# Via Juan Quintela
* quintela/migration.next:
The calculation of bytes_xfer in qemu_put_buffer() is wrong
Message-id: 1384946787-8190-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90d131fb6504ed12a37dc8433375cc683c30e9da
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 18 21:41:44 2013 +0200
Revert "e1000/rtl8139: update HMP NIC when every bit is written"
This reverts commit cd5be5829c1ce87aa6b3a7806524fac07ac9a757.
Digging into hardware specs shows this does not
actually make QEMU behave more like hardware:
There are valid arguments backed by the spec to indicate why the version
of e1000 prior to cd5be582 was more correct: the high byte actually
includes a valid bit, this is why all guests write it last.
For rtl8139 there's actually a separate undocumented valid bit, but we
don't implement it yet.
To summarize all the drivers we know about behave in one way
that allows us to make an assumption about write order and avoid
spurious, incorrect mac address updates to the monitor.
Let's stick to the tried heuristic for 1.7 and
possibly revisit for 1.8.
Reported-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Reviewed-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Cc: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fd8f5e37557596e14a859d8edf3dc24523bd4400
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 11:22:51 2013 +0200
acpi-build: fix build on glib < 2.14
g_array_get_element_size was only added in glib 2.14,
there's no way to find element size in with an older glib.
Fortunately we only use a single table (linker) where element size > 1.
Switch element size to 1 everywhere, then we can just look at len field
to get table size in bytes.
Add an assert to make sure we catch any violations of this rule.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b9c3b897c682cd9739c6aef73b3220c7204c243
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 11:19:58 2013 +0200
acpi-build: fix build on glib < 2.22
g_string_vprintf was only introduced in 2.24 so switch to vsnprintf
instead. A bit uglier but name size is fixed at 4 bytes here so it's
easy.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5c397242d5d53c1adecce31817bb439383cf8228
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Nov 6 17:52:17 2013 -0500
pci: unregister vmstate_pcibus on unplug
PCIBus registers a vmstate during init. Unregister it upon
removal/unplug.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit decbc880289526d94495bcbe6e1ba2a11b92e7a8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 13:59:15 2013 +0200
s390x: fix flat file load on 32 bit systems
pc-bios/s390-zipl.rom is a flat image so it's expected that
loading it as elf will fail.
It should fall back on loading a flat file, but doesn't
on 32 bit systems, instead it fails printing:
qemu: hardware error: could not load bootloader 's390-zipl.rom'
The result is boot failure.
The reason is that a 64 bit unsigned interger which is set
to -1 on error is compared to -1UL which on a 32 bit system
with gcc is a 32 bit unsigned interger.
Since both are unsigned, no sign extension takes place and
comparison evaluates to non-equal.
There's no reason to do clever tricks: all functions
we call actually return int so just use int.
And then we can use == -1 everywhere, consistently.
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 14a650ec25ca93a626397783d6c6e840ec2502c6
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:45 2013 +0200
target-openrisc: Correct carry flag check of l.addc and l.addic test cases
The test cases did not correctly test for the carry flag.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 93147a180c10b97bf9575a87e01c9a1c93e6c9ce
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:42 2013 +0200
target-openrisc: Correct memory bounds checking for the tlb buffers
The mtspr and mfspr routines didn't check for the correct memory
boundaries.
This fixes a segmentation fault while booting Linux.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit d51552176a2ab5e80a211514aa1339fe2575ec2a
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:41 2013 +0200
openrisc-timer: Reduce overhead, Separate clock update functions
The clock value is only evaluated when really necessary reducing
the overhead of the timer handling.
This also solves a problem in the way the Linux kernel
handles the timer and the expected accuracy.
The old version could lead to inaccurate timings.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit ae52bd96ceaea36c486d8ffeb798e160f31d3be8
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:40 2013 +0200
target-openrisc: Correct wrong epcr register in interrupt handler
This patch corrects several misbehaviors during an interrupt process.
Most of the time the pc is already correct and therefore no special
treatment
of the exceptions is necessary.
Tested by checking crashing programs which otherwise work in or1ksim.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 04359e6bb7f2841031aae645a770583f9c5df3cd
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:39 2013 +0200
target-openrisc: Remove executable flag for every page
Pages should be flagged executable only if the tlb executable flag is
set or the mmu is off.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit da1d77597b29f45bfd290d251ee459a2794112c6
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:38 2013 +0200
target-openrisc: Remove unnecessary code generated by jump instructions
The sr_f variable is only used for the l.bf and l.bnf instructions.
For clarity the code is also rewritten using a switch statement instead
of if chaining.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 352367e8bb53bd4e16abaecbcb9fc0bcadf5881b
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:37 2013 +0200
target-openrisc: Speed up move instruction
The OpenRISC architecture does not have its own move register
instruction. Instead it uses either "l.addi rd, r0, x" or
"l.ori rd, rs, 0" or "l.or rd, rx, r0"
The l.ori instruction is automatically optimized but not the l.addi
instruction.
This patch optimizes for this special case.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 8e86729a0e83b557c22808a2337252c969ca3986
Author: Wangting (Kathy) <kathy.wangting@xxxxxxxxxx>
Date: Tue Nov 19 05:53:45 2013 +0000
The calculation of bytes_xfer in qemu_put_buffer() is wrong
In qemu_put_buffer(), bytes_xfer += size is wrong, it will be more
than expected, and should be bytes_xfer += l.
Signed-off-by: zhangmin <zhangmin6@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 394cfa39ba24dd838ace1308ae24961243947fb8
Merge: 4ed3479 fc1c4a5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:03:06 2013 -0800
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Peter Lieven
# Via Juan Quintela
* quintela/migration.next:
migration: drop MADVISE_DONT_NEED for incoming zero pages
Message-id: 1384878412-23521-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ed34791696523522fa7e6a00301e0bf3a09ea29
Merge: 1c46e59 2ad645d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:00:52 2013 -0800
Merge remote-tracking branch 'stefanha/block' into staging
# By Andreas Färber
# Via Stefan Hajnoczi
* stefanha/block:
qtest: Use -display none by default
commit 1c46e594dc3eb0df4bdc1ea31b61c19ee0eed753
Merge: dc6dc0a 2d3aa28
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:00:09 2013 -0800
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM infrastructure fixes for 1.7
* QOM memory leak fix
# gpg: Signature made Tue 19 Nov 2013 01:58:58 AM PST using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Vlad Yasevich
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony:
qom: Fix memory leak in object_property_set_link()
commit dc6dc0a9879738236b4da03d34d3c72eedfd25bb
Merge: 4be6693 463230d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:00:02 2013 -0800
Merge remote-tracking branch 'rth/tcg-ia64-17' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-ia64-17:
tcg-ia64: Introduce tcg_opc_bswap64_i
tcg-ia64: Introduce tcg_opc_ext_i
tcg-ia64: Introduce tcg_opc_movi_a
tcg-ia64: Introduce tcg_opc_mov_a
tcg-ia64: Use A3 form of logical operations
tcg-ia64: Use SUB_A3 and ADDS_A4 for subtraction
tcg-ia64: Use ADDS for small addition
tcg-ia64: Avoid unnecessary stop bit in tcg_out_alu
tcg-ia64: Move AREG0 to R32
tcg-ia64: Simplify brcond
tcg-ia64: Handle constant calls
tcg-ia64: Use shortcuts for nop insns
tcg-ia64: Use TCGMemOp within qemu_ldst routines
Message-id: 1384811395-7097-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4be6693a8842023542d1ae1c6e4e2a3fd9988ebe
Merge: 38dc749 420508f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:59:48 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc last minute fixes for 1.8
This has a patch that drops an unused FW CFG entry.
I think it's best to include it before 1.7 to avoid
the need to maintain it in compat machine types.
There's also a doc bugfix by Amos: I'm guessing
doc fixes are still fair game even at this late stage.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 18 Nov 2013 03:48:14 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Amos Kong (1) and Igor Mammedov (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
doc: fix hardcoded helper path
pc: disable pci-info
Message-id: 1384775449-6693-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 38dc74907e2b2ce2249b8b84eae1a1664b122835
Merge: 7af3151 0478f37
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:59:26 2013 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Jan Krupa (4) and others
# Via Michael Tokarev
* mjt/trivial-patches:
hw/i386/Makefile.obj: use $(PYTHON) to run .py scripts consistently
configure: Use -B switch only for Python versions which support it
qga: Fix shutdown command of guest agent to work with SysV
console: Remove unused debug code
qga: Fix compilation for old versions of MinGW
.travis.yml: basic compile and check recipes
pci-assign: Fix error_report of pci-stub message
qapi: Fix comment for create-type to match code.
vl: fix build when configured with no graphic support
usb: drop unused USBNetState.inpkt field
qemu-char: add missing characters used in keymaps
qemu-char: add support for U-prefixed symbols
qemu-char: add Czech keymap file
qemu-char: add Czech characters to VNC keysyms
Message-id: 1384684850-6777-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7af31519e220efc0572cacec5ac65dc54e73985d
Merge: 88a47b9 06d22aa
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:59:09 2013 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block fixes for 1.7.0
# gpg: Signature made Fri 15 Nov 2013 09:51:25 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
# By Max Reitz (3) and others
# Via Kevin Wolf
* kwolf/tags/for-anthony:
block: Fail if requested driver is not available
MAINTAINERS: add block driver sub-maintainers
qemu-img: Fix overwriting 'ret' before using
qemu-iotests: Test qcow2 count_contiguous_clusters()
qcow2: fix possible corruption when reading multiple clusters
qmp: access the local QemuOptsLists for drive option
MAINTAINERS: add block tree repo URLs
qemu-iotests: Extend 041 for unbacked mirroring
block/drive-mirror: Check for NULL backing_hd
qapi-schema: Update description for NewImageMode
block: Print its file name if backing file opening failed
Message-id: 1384537999-5972-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 88a47b9de2c01121e153b1feb24cdb2e033b2f04
Merge: 8c630d5 96e3504
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:58:32 2013 -0800
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong (1) and Sebastian Huber (1)
# Via Stefan Hajnoczi
* stefanha/net:
virtio-net: fix the memory leak in rxfilter_notify()
smc91c111: Fix receive starvation
Message-id: 1384532032-19057-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c630d5150ddedea231a39727e43787e5a3b6690
Merge: 5c5432e 9d0e1da
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:57:16 2013 -0800
Merge remote-tracking branch 'agraf/tags/signed-ppc-for-upstream-1.7'
into staging
Patch queue for ppc - 2013-11-08
These are two patches that will hopefully make it into 1.7. The SLOF
update
fixes -append kernel command line argument passing into the guest kernel.
The
other patch makes VIO devices appear when using -device '?'.
# gpg: Signature made Thu 07 Nov 2013 07:34:54 PM PST using RSA key ID
03FEDC60
# gpg: Can't check signature: public key not found
# By Alexey Kardashevskiy
# Via Alexander Graf
* agraf/tags/signed-ppc-for-upstream-1.7:
pseries: Update SLOF firmware image
spapr: add vio-bus devices to categories
Message-id: 1383881766-13958-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fc1c4a5d32e15a4c40c47945da85ef9c1e0c1b54
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 09:21:29 2013 +0200
migration: drop MADVISE_DONT_NEED for incoming zero pages
The madvise for zeroed out pages was introduced when every transferred
zero page was memset to zero and thus allocated. Since commit
211ea740 we check for zeroness of a target page before we memset
it to zero. Additionally we memmap target memory so it is essentially
zero initialized (except for e.g. option roms and bios which are loaded
into target memory although they shouldn't).
It was reported recently that this madvise causes a performance
degradation
in some situations. As the madvise should only be called rarely and if
it's called
it is likely on a busy page (it was non-zero and changed to zero during
migration)
drop it completely.
Reported-By: Zhang Haoyu <haoyu.zhang@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2d3aa28cc2cf382aa04cd577e0be542175eea9bd
Author: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Date: Fri Nov 15 12:09:47 2013 -0500
qom: Fix memory leak in object_property_set_link()
Save the result of the call to object_get_canonical_path()
so we can free it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ad645d2854746b55ddfd1d8e951f689cca5d78f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Nov 18 17:36:34 2013 +0100
qtest: Use -display none by default
This avoids each test needing to add it to suppress windows popping up.
[Commit 7ceeedd016facf8d58e14a0d1417fa7225d71072 ("blockdev-test: add
test case for drive_add duplicate IDs") and commit
43cd209803d6cffb1e1a028c9ff2fd0ff4fce954 ("qdev-monitor-test: add
device_add leak test cases") added qtest tests without specifying
-display none.
As a result, "make check" now tries to use graphics (GTK or SDL). Since
graphics are not used by the test and inappropriate for headless "make
check" runs, add the missing -display none.
This fixes "make check" in the QEMU buildbot.
-- Stefan]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 96e35046e4a97df5b4e1e24e217eb1e1701c7c71
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Nov 18 23:32:17 2013 +0800
virtio-net: fix the memory leak in rxfilter_notify()
object_get_canonical_path() returns a gchar*, it should be freed by the
caller.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 420508fbba2a6e8eaff008715b5f7eff83f8e865
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Oct 23 04:49:28 2013 +0800
doc: fix hardcoded helper path
The install directory of qemu-bridge-helper is configurable,
but we use a fixed path in the documentation.
DEFAULT_BRIDGE_HELPER macro isn't available in texi mode,
we should always use "/path/to/" prefix for dynamic paths
(e.g.: /path/to/image, /path/to/linux, etc).
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 463230d85e1e0898b1a94092af65026e615e6ec6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 19:20:40 2013 -0400
tcg-ia64: Introduce tcg_opc_bswap64_i
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit db008a8de2c5ea1325d6db455fa5a0a4bca66735
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 19:13:41 2013 -0400
tcg-ia64: Introduce tcg_opc_ext_i
Being able to "extend" from 64-bits (with a mov) simplifies
a few places where the conditional breaks the train of thought.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fa0cdb6c2a574774376b33c5fb0907e93403c188
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 18:56:39 2013 -0400
tcg-ia64: Introduce tcg_opc_movi_a
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3b9ccdcc74e06a3e7e10d012679583c2ee30d7fa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 18:48:42 2013 -0400
tcg-ia64: Introduce tcg_opc_mov_a
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 25c9c73bdc9029407da3b286ab0d1d694c851b3e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 17:13:43 2013 -0400
tcg-ia64: Use A3 form of logical operations
We can and/or/xor/andcm small constants, saving one cycle.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f940fb086c607fcb9c98d5ce67619fc5255f6abb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 16:44:18 2013 -0400
tcg-ia64: Use SUB_A3 and ADDS_A4 for subtraction
We can subtract from more small constants that just 0 with one insn,
and we can add the negative for most small constants.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8642088a3d73a599b31c6fdd1d2aa2c945d95ced
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 16:15:13 2013 -0400
tcg-ia64: Use ADDS for small addition
Avoids a wasted cycle loading up small constants.
Simplify the code assuming the tcg optimizer is going to work
and don't expect the first operand of the add to be constant.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c289cba9b82ff55f52287a642332d4c2ca62b95
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 15:56:44 2013 -0400
tcg-ia64: Avoid unnecessary stop bit in tcg_out_alu
When performing an operation with two input registers, we'd leave
the stop bit (and thus an extra cycle) that's only needed when one
or the other input is a constant.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d15de15ca01fa990544b015fb972f2d04ab4d2d0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 14:45:54 2013 -0400
tcg-ia64: Move AREG0 to R32
Since the move away from the global areg0, we're no longer globally
reserving areg0. Which means our use of R7 clobbers a call-saved
register. Shift areg0 into the windowed registers. Indeed, choose
the incoming parameter register that it comes to us by.
This requires moving the register holding the return address elsewhere.
Choose R33 for tidiness.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6d264b38fcc267b68df2890b22d27bc404878c8c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 12:47:41 2013 -0400
tcg-ia64: Simplify brcond
There was a misconception that a stop bit is required between a compare
and the branch that uses the predicate set by the compare. This lead to
the usage of an extra bundle in which to perform the compare. The extra
bundle left room for constants to be loaded for use with the compare insn.
If we pack the compare and the branch together in the same bundle, then
there's no longer any room for non-zero constants. At which point we
can eliminate half the function by not handling them.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6f65c780b952485d7d1edbb72bf199e9803995e2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 12:11:27 2013 -0400
tcg-ia64: Handle constant calls
Using only indirect calls results in 3 bundles (one to load the
descriptor address), and 4 stop bits. By looking through the
descriptor to the constants, we can perform the call with 2
bundles and only 1 stop bit.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f7b16877a431c477d8dac92d0bb553d05c6402e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 19:00:52 2013 -0400
tcg-ia64: Use shortcuts for nop insns
There's no need to go through the full opcode-to-insn function call
to generate nops. This makes the source a bit more readable.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e3afa1c4ad3162792421fb64bce937242bc7e0d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 17:24:38 2013 -0400
tcg-ia64: Use TCGMemOp within qemu_ldst routines
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0478f37ce258438d74164dd182b0ae125f174ec6
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Nov 16 14:09:14 2013 +0400
hw/i386/Makefile.obj: use $(PYTHON) to run .py scripts consistently
$(PYTHON) is a Make variable which is set by configure.
In all other places over the tree, .py files are run from
Makefiles using this variable, except of a single leftover
in hw/i386/Makefile.obj (and a nearby place in there uses
$(PYTHON) correctly). Fix this leftover too.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Cc: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Reviewed-by:: Stefan Weil <sw@xxxxxxxxxxx>
commit 52510f8b2c0486e6c2743b1d069b3584ef4524da
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Nov 14 19:07:03 2013 +0100
configure: Use -B switch only for Python versions which support it
Commit 1d984a67a95d88f3e708b077dab8adeb47c38c93 added the -B switch
unconditionally. This breaks Python versions before 2.6 which don't
support that switch.
Now configure adds -B only if it is accepted by the Python interpreter.
This modification introduces a small incompatibility because -B might now
also be added when configure was called with --python=PYTHON_INTERPRETER.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 485e741cd15655b4032b07b8a912aa5c7a4f2028
Author: whitearchey <whitearchey@xxxxxxxxx>
Date: Wed Nov 6 10:54:04 2013 +0900
qga: Fix shutdown command of guest agent to work with SysV
For now guest agent uses following command to shutdown system:
shutdown -P +0 "blabla"
but this syntax works only with shutdown command from systemd or upstart,
because SysV shutdown requires -h switch.
Following patch changes the command so it works with systemd, upstart and
SysV
With upstart/systemd qga use one of thee commands, depending on 'mode'
parameter:
shutdown -P +0 "..."
shutdown -H +0 "..."
shutdown -r +0 "..."
SysV equivalents for these are:
shutdown -h -P +0 "..."
shutdown -h -H +0 "..."
shutdown -h -r +0 "..."
and these retain their meaning with upstart/systemd.
According to FreeBSD manpages, shutdown does not accept -P and -H
options. Commands should be:
shutdown -p +0 "..."
shutdown -h +0 "..."
shutdown -r +0 "..."
shutdown in Solaris does not accept any of -hHpPr and does not accept
time in "+0" format
Signed-off-by: Michael Avdienko <whitearchey@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 06d22aa36706a3d6051b74c8a183ab554a0cb808
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Aug 8 17:44:52 2013 +0200
block: Fail if requested driver is not available
If an explicit driver option is present, but doesn't specify a valid
driver, then bdrv_open() should fail instead of probing the format.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f05b328c9d85e57ab871ca73a36220493327a649
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 13 10:33:10 2013 +0100
MAINTAINERS: add block driver sub-maintainers
There are a number of contributors who maintain block drivers (image
formats and protocols). They should be listed in the MAINTAINERS file
so that get_maintainer.pl lists them.
Note that commits are still merged through Kevin or Stefan's block tree
but the block driver sub-maintainers are usually the ones to review
patches.
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Acked-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Acked-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Jeff Cody <jcody@xxxxxxxxxx>
Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 36452f12f877c60f004b34641287d74b14c96208
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 13 20:26:49 2013 +0800
qemu-img: Fix overwriting 'ret' before using
This patch moves ret assignment after reporting original error.
We were lucky to pass qemu-iotests 048 (qemu-img compare case) but when
I tried to run with TEST_DIR=/tmp (tmpfs), it fails with a "wrong"
mismatch offset. This fixes two bugs.
In the first if branch, setting ret to 1 before using it makes dead code
in the next line: pnum is never added to mismatch offset even if ret was
0.
In the other if branch, currently the output error is always -4:
strerror(-4) -> Unknown error -4
Added regression test in case 048.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
commit a1144c0dbfa3f820916a135d2d3d6db5635adcc2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Nov 13 12:00:10 2013 +0100
qemu-iotests: Test qcow2 count_contiguous_clusters()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8b7acc79b9adb4dda6cc867b90e3a1e873f4f7e8
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Thu Nov 14 14:53:46 2013 +0100
smc91c111: Fix receive starvation
In case the smc91c111 interface signals that it cannot receive more
packets the packets are queued and further reception will be disabled.
In case the interface is again ready to receive packets notify the upper
layer.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 78a52ad5acca7053b774fcc80290e7b7e224c80a
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Nov 12 13:48:07 2013 +0100
qcow2: fix possible corruption when reading multiple clusters
if multiple sectors spanning multiple clusters are read the
function count_contiguous_clusters should ensure that the
cluster type should not change between the clusters.
Especially the for-loop should break when we have one
or more normal clusters followed by a compressed cluster.
Unfortunately the wrong macro was used in the mask to
compare the flags.
This was discovered while debugging a data corruption
issue when converting a compressed qcow2 image to raw.
qemu-img reads 2MB chunks which span multiple clusters.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 968854c8a106243eae7a68394ce1cb85dc138837
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Sat Nov 9 12:15:47 2013 +0800
qmp: access the local QemuOptsLists for drive option
Currently we have three QemuOptsList (qemu_common_drive_opts,
qemu_legacy_drive_opts, and qemu_drive_opts), only qemu_drive_opts
is added to vm_config_groups[].
This patch changes query-command-line-options to access three local
QemuOptsLists for drive option, and merge the description items
together.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d48adddac7d1839c8d734506aba6fd39fb9c3834
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 6 16:06:25 2013 +0100
MAINTAINERS: add block tree repo URLs
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c15badee200f9e743e3639cc5e3e7dd62c69332f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Nov 6 19:50:45 2013 +0100
qemu-iotests: Extend 041 for unbacked mirroring
Add a new test case in file 041 for mirroring unbacked images in
"absolute-paths" mode. This should work, if possible, but most
importantly, qemu should never crash.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1452686495922b81d6cf43edf025c1aef15965c0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Nov 6 19:50:44 2013 +0100
block/drive-mirror: Check for NULL backing_hd
It should be possible to execute the QMP "drive-mirror" command in
"none" sync mode and "absolute-paths" mode even for block devices
lacking a backing file.
"absolute-paths" does in fact not require a backing file to be present,
as can be seen from the "top" sync mode code path. "top" basically
states that the device should indeed have a backing file - however, the
current code catches the case if it doesn't and then simply treats it as
"full" sync mode, creating a target image without a backing file (in
"absolute-paths" mode). Thus, "absolute-paths" does not imply the target
file must indeed have a backing file.
Therefore, the target file may be left unbacked in case of "none" sync
mode as well, if the specified device is not backed either. Currently,
qemu will crash trying to dereference the backing file pointer since it
assumes that it will always be non-NULL in that case ("none" with
"absolute-paths").
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1296c2f0bc8283164c925bf587e497511de7f569
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Nov 7 19:47:48 2013 +0100
qapi-schema: Update description for NewImageMode
If the NewImageMode is "absolute-paths" but no backing file is available
(e.g., when mirroring a device with an unbacked image), the target image
will not be backed either. This patch updates the documentation in
qapi-schema.json accordingly.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b04b6b6ec3a1e0ba90c2f58617286d9fc35fa372
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 8 11:26:49 2013 +0800
block: Print its file name if backing file opening failed
If backing file doesn't exist, the error message is confusing and
misleading:
$ qemu /tmp/a.qcow2
qemu: could not open disk image /tmp/a.qcow2: Could not open file: No
such file or directory
But...
$ ls /tmp/a.qcow2
/tmp/a.qcow2
$ qemu-img info /tmp/a.qcow2
image: /tmp/a.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 196K
cluster_size: 65536
backing file: /tmp/b.qcow2
Because...
$ ls /tmp/b.qcow2
ls: cannot access /tmp/b.qcow2: No such file or directory
This is not intuitive. It's better to have the missing file's name in
the error message. With this patch:
$ qemu-io -c 'read 0 512' /tmp/a.qcow2
qemu-io: can't open device /tmp/a.qcow2: Could not open backing
file: Could not open '/stor/vm/arch.raw': No such file or directory
no file open, try 'help open'
Which is a little bit better.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7f1bb742be39184b469d53c0901240b12bb85589
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Nov 6 13:48:40 2013 +0100
pc: disable pci-info
The BIOS that we ship in 1.7 does not use pci info
from host and so far isn't going to use it.
Taking in account problems it caused see 9604f70fdf and
to avoid future incompatibility issues, it's safest to
disable that interface by default for all machine types
including 1.7 as it was never exposed/used by guest.
And properly remove/cleanup it during 1.8 development cycle.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5c5432e7d630592ddcc1876ac8a1505f8f14ef15
Merge: 29c5b77 dce07e0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:49:27 2013 -0800
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino (1) and Richard Henderson (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
MAINTAINERS: add git tree info for HMP, QMP and QAPI
Adjust qapi-visit for python-2.4.3
Message-id: 1384281985-11100-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 29c5b77d3dd7e970c7bd57cd1d73734ae01e29d2
Merge: b873a55 ef9e455
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:48:35 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, virtio bug fixes
This reverts PCI master abort support - we'll want it
eventually but it exposes too many core bugs to be safe for 1.7.
This also reverts a recent exec.c change that was an
attempt to work-around some of these core bugs.
Also included are small fixes in pc and virtio,
and a core loader fix for PPC bamboo.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 10 Nov 2013 05:13:22 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (3) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
Revert "exec: limit system memory size"
Revert "hw/pci: partially handle pci master abort"
loader: drop return value for rom_add_blob_fixed
acpi-build: disable with -no-acpi
virtio-net: only delete bh that existed
Fix pc migration from qemu <= 1.5
Message-id: 1384159176-31662-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b873a55cf45f1fbff7026de885848d52939d18e1
Merge: deb0f50 cc386e9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:48:02 2013 -0800
Merge remote-tracking branch 'stefanha/net' into staging
# By Dmitry Fleytman (1) and others
# Via Stefan Hajnoczi
* stefanha/net:
virtio-net: broken RX filtering logic fixed
net: fix qemu_flush_queued_packets() in presence of a hub
net: disallow to specify multicast MAC address
Message-id: 1383928804-28866-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit deb0f500651317863922964c87b4fa64eecdbd73
Merge: 70c4c5b 7e38200
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:47:44 2013 -0800
Merge remote-tracking branch 'stefanha/block' into staging
# By Jeff Cody (26) and others
# Via Stefan Hajnoczi
* stefanha/block: (37 commits)
block: Round up total_sectors
block: vhdx qemu-iotest - log replay of data sector
block: qemu-iotests for vhdx, add write test support
block: vhdx - update _make_test_img() to filter out vhdx options
block: vhdx - add .bdrv_create() support
block: vhdx - fix comment typos in header, fix incorrect struct fields
block: vhdx - break out code operations to functions
block: vhdx - move more endian translations to vhdx-endian.c
block: vhdx - remove BAT file offset bit shifting
block: vhdx write support
block: vhdx - add log write support
block: vhdx - add region overlap detection for image files
block: vhdx - log parsing, replay, and flush support
block: vhdx code movement - move vhdx_close() above vhdx_open()
block: vhdx - update log guid in header, and first write tracker
block: vhdx - break endian translation functions out
block: vhdx - log support struct and defines
block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to
header.
block: vhdx - add header update capability.
block: vhdx - minor comments and typo correction.
...
Message-id: 1383905551-16411-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 70c4c5b5621f6d954843547bcab9db857d882e99
Merge: 9f43a3f ebbfd5a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:47:06 2013 -0800
Merge remote-tracking branch 'filippov/tags/20131108-xtensa' into staging
Two small fixes for 1.7:
- add missing debug feature to dc233c xtensa core;
- fix qemu abort caused by gdb attempt to invalidate a breakpoint by
virtual address for which there's no mapping.
# gpg: Signature made Thu 07 Nov 2013 09:32:19 PM PST using RSA key ID
F83FA044
# gpg: Can't check signature: public key not found
# By Max Filippov
# Via Max Filippov
* filippov/tags/20131108-xtensa:
target-xtensa: add missing DEBUG section to dc233c config
exec: fix breakpoint_invalidate when pc may not be translated
Message-id: 1383889643-21621-1-git-send-email-jcmvbkbc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9f43a3f541019a5836247c8cfdfc5fef89cf077d
Merge: 6bddfae 73204cf
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:46:23 2013 -0800
Merge remote-tracking branch 'kraxel/audio.3' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/audio.3:
ossaudio: check for oss support in oss_audio_init
Revert "ossaudio: do not enable by default"
Message-id: 1383823947-5132-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bddfae306001c6e474ff97ef59c518568ea5af4
Merge: 964668b 20d155b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:45:58 2013 -0800
Merge remote-tracking branch 'sweil/mingw' into staging
# By Stefan Weil
# Via Stefan Weil
* sweil/mingw:
linux-user: Fix stat64 syscall for SPARC64
configure: Add config.status to recreate the current configuration
nsis: Improved support for parallel installation of 32 and 64 bit code
Message-id: 1383804909-376-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3325a83627de3e3bd9a97548f13bbb53b354d970
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 15:58:19 2013 +0100
console: Remove unused debug code
The local function console_print_text_attributes is no longer used since
commit 7d6ba01c3741bc32ae252bf64a5fd3f930c2df4f.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ba1c29310904b34265203e86e133fe177e9f6511
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 18:49:11 2013 +0100
qga: Fix compilation for old versions of MinGW
While MinGW-w64 can compile the qga code, MinGW from Debian lenny
(gcc-mingw32 4.4.2-3) shows these errors:
In file included from qga/vss-win32.c:17:
qga/vss-win32/requester.h:31:
error: expected »=«, »,«, »;«, »asm« or »__attribute__« before
»requester_init«
qga/vss-win32/requester.h:32:
error: expected »=«, »,«, »;«, »asm« or »__attribute__« before
»requester_deinit«
The macro STDAPI is unknown, so add the missing include file which
defines it.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fe863ab9855478e693d63f306141eb242217b424
Author: Alex Bennée <alex@xxxxxxxxxx>
Date: Wed Nov 6 10:43:37 2013 +0000
.travis.yml: basic compile and check recipes
This adds a build matrix definition for travis-ci.org continuous
integration service. It is usable on any public repository hosted on
GitHub. Once you have created an account signed into Travis you can
enable it on selected projects via travis-ci.org/profile. Alternatively
you can configure the service hooks on GitHub via the repository
Settings tab,then Service Hooks and selecting Travis.
Once setup Travis will automatically test every push as well as any pull
requests submitted to that repository.
The build matrix is currently split by target architecture (see TARGETS
environment variable) because a full build of QEMU can take some time.
This way you get quick feedback for any obvious errors. The additional
environment variables exist to allow additional builds to tweak the
environment. These are:
EXTRA_CONFIG - extra terms passed to configure
EXTRA_PKGS - extra dev packages to install
TEST_CMD - default "make check", can be overridden
I've confined the additional stuff to x86/x86_64 for convenience.
As Travis supports clang the main builds are done twice (once for gcc
and once for clang). However clang is disabled for the debug/trace
builds for the purposes of brevity.
Other wrinkles:
* The lttng user-space tracing back-end is disabled
(it is currently horribly broken)
* The ftrace back-end doesn't run "make check"
(it requires a mounted debugfs to work)
* There are two debug enabled build (with and without TCG interpreter)
Signed-off-by: Alex Bennée <alex@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 25a666d2ec0ab6e84489d50495b4c3e250531426
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri Oct 11 11:52:30 2013 -0400
pci-assign: Fix error_report of pci-stub message
Using multiple calls to error_report here means every line is
prefaced with the (potentially long) pci-assign command line
arguments.
Use a single error_printf to preserve the intended formatting.
Since this code path is always preceded by an error_report call,
we don't lose the command line reporting.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 669aa3f6bdf49663cb5cbceac605c020750263d6
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 1 17:35:29 2013 +0800
qapi: Fix comment for create-type to match code.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8111d0287821a9b2a2faefbf0be1f345dbe93222
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Oct 29 08:36:31 2013 +0400
vl: fix build when configured with no graphic support
The following error occurs when building with no graphic output support:
vl.c: In function â??mainâ??:
vl.c:2829:19: error: variable â??dsâ?? set but not used
[-Werror=unused-but-set-variable]
DisplayState *ds;
^
cc1: all warnings being treated as errors
To reproduce this issue, just run:
$ ./configure \
--disable-curses \
--disable-sdl \
--disable-cocoa \
--disable-gtk \
--disable-vnc \
--enable-werror
$ make vl.o
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d9570cadd54115dd1b2bdff7d43c0d4f840e65e5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Oct 29 15:44:31 2013 +0100
usb: drop unused USBNetState.inpkt field
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4c6968c7a03d5e4805dad09aba0491e12b16a596
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:06 2013 +0200
qemu-char: add missing characters used in keymaps
This patch adds all missing characters used in regional keymap
files which already exist in QEMU. I checked for the missing
characters by going through all of the keymaps and matching that
with records in vnc_keysym.h. If the key wasn't found I looked
it up in libxkbcommon library [1]. If I understood it correctly
this is also the same place where most of the keymaps were
exported from according to the comment on the first line in those
files. I was able to find all symbols except "quotebl" used
in Netherland keymap.
I tested this update with Czech keyboard by myself. I also asked
Matej Serc to test Slovenian keyboard layout - he reported problems
with it few days ago on this mailing list. Both layouts seems
to work fine. I wasn't able to test the remaining layouts but
since this change doesn't modify any existing symbols, just adds
new ones, I don't expect any sideeffects.
[1] http://cgit.freedesktop.org/xorg/lib/libxkbcommon
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 828071592470d0703a283433ea195295dab0ad7d
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:05 2013 +0200
qemu-char: add support for U-prefixed symbols
This patch adds support for Unicode symbols in keymap files. This
feature was already used in some keyboard layouts in QEMU generated
from XKB (e.g. Arabic) but it wasn't implemented in QEMU source code.
There is no need for check of validity of the hex string after U character
because strtol returns 0 in case the conversion was unsuccessful.
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3751e72246b3efd9902bddc7fbd20df8f86bab21
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:04 2013 +0200
qemu-char: add Czech keymap file
This patch adds Czech keyboard layout to available keymap files
and Makefile.
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 018715f96cc1315df355743a1f807e1b95d2a10f
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:03 2013 +0200
qemu-char: add Czech characters to VNC keysyms
This patch adds missing Czech characters to the VNC keysym table.
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dce07e0b2b172ccce43955fdee2149ab2413251b
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 5 16:09:37 2013 -0500
MAINTAINERS: add git tree info for HMP, QMP and QAPI
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7b75d9d61bf9b7b43f6df2fb2fbfc38c4eb9d2e9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 31 13:26:01 2013 -0700
Adjust qapi-visit for python-2.4.3
We say we support python 2.4, but python 2.4.3 does not
support the "expr if test else expr" syntax used here.
This allows QEMU to compile on RHEL 5.3, the last release for ia64.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ef9e455d645bed6d2360cd658dc00ca11a849877
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Nov 10 11:54:33 2013 +0200
Revert "exec: limit system memory size"
This reverts commit 818f86b88394b7b2b59d313e51043fe15a8004db.
This was a work-around for bugs elsewhere in the system,
exposed by commit a53ae8e934cd54686875b5bcfc2f434244ee55d6:
"hw/pci: partially handle pci master abort"
since that's reverted now, the work-around is not required for 1.7
anymore.
The proper fix is supporting full 64 bit addresses in the radix tree.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
commit 0fbf50b6ec126600dca115adb1563c657cc27695
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Nov 10 11:49:57 2013 +0200
Revert "hw/pci: partially handle pci master abort"
This reverts commit a53ae8e934cd54686875b5bcfc2f434244ee55d6.
The patch being reverted introduced a low-priority memory region
covering all 64 bit pci address space. This exposed the following bugs
elsewhere in the code:
1. Some memory regions have INT64_MAX size, where the
intent was all 64 bit address space.
This results in a sub-page region, should be UINT64_MAX.
2. page table rendering in exec.c ignores physical address bits
above TARGET_PHYS_ADDR_SPACE_BITS.
Access outside this range (e.g. from device DMA, or gdb stub)
ends up with a wrong region. Registering a region outside this
range leads to page table corruption.
3. Some regions overlap PCI hole and have same priority.
This only works as long as no device uses the overlapping address.
It doesn't look like we can resolve all issues in time for 1.7.
Let's fix the bugs first and apply afterwards for 1.8.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fe1479aa251971abd3842dee4a783d4ebace8fb8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Nov 10 11:53:30 2013 +0200
loader: drop return value for rom_add_blob_fixed
rom_add_blob never fails, and neither does rom_add_blob_fixed,
so there's no need to return value from it.
In fact, rom_add_blob_fixed was erroneously returning -1 unconditionally
which made the only system that checked the return value -M bamboo fail
to start.
Drop the return value and drop checks from ppc440_bamboo to
fix this failure.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 81adc5131534ca7554cebe64cd8f86bac28dbd1b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 7 14:12:05 2013 +0200
acpi-build: disable with -no-acpi
QEMU will currently crash if started with -no-acpi flag
since acpi build code probes the PM device which isn't present
in this configuration.
To fix, don't expose ACPI tables to guest when acpi has been
disabled from command line.
Fixes LP# 1248854
https://bugs.launchpad.net/qemu/+bug/1248854
Reported-by: chao zhou <chao.zhou@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Nov 6 16:58:08 2013 +0800
virtio-net: only delete bh that existed
We delete without check whether it existed during exit. This will lead
NULL
pointer deference since it was created conditionally depends on guest
driver
status and features. So add a check of existence before trying to delete
it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 04c7d8b8dea724f1007f0f6e76047ff03b4cb24f
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Nov 5 18:46:27 2013 -0500
Fix pc migration from qemu <= 1.5
The following commit introduced a migration incompatibility:
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()
The issue is that i440fx savevm idstr went from 0000:00:00.0/I440FX to
0000:00.0/I440FX. Unfortunately we are stuck with the breakage for
1.6 machine types.
Add a compat property to maintain the busted idstr for the 1.6 machine
types, but revert to the old style format for 1.7+, and <= 1.5.
Tested with migration from qemu 1.5, qemu 1.6, and qemu.git.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cc386e96727442f5b67052d4e0a602f6f652ffe6
Author: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Date: Sun Sep 22 18:09:13 2013 +0300
virtio-net: broken RX filtering logic fixed
Upon processing of VIRTIO_NET_CTRL_MAC_TABLE_SET command
multicast list overwrites unicast list in mac_table.
This leads to broken logic for both unicast and multicast RX filtering.
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1597591cca8a8fa20b8872937b859ec2aaccba6c
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Tue Nov 5 10:54:29 2013 +0400
net: fix qemu_flush_queued_packets() in presence of a hub
Do not return after net_hub_flush(). Always flush callee network client
incoming queue.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d60b20cf2ae6644b05159b9361cba83fb6c0cb84
Author: Dmitry Krivenok <krivenok.dmitry@xxxxxxxxx>
Date: Mon Oct 21 12:08:44 2013 +0400
net: disallow to specify multicast MAC address
[Assigning a multicast MAC address to a NIC leads to confusing behavior.
Reject multicast MAC addresses so users are alerted to their error
straight away.
The "net/eth.h" in6_addr rename prevents a name collision with
<netinet/in.h> on Linux.
-- Stefan]
Signed-off-by: Dmitry V. Krivenok <krivenok.dmitry@xxxxxxxxx>
Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7e382003f1bd9d8a441ecc5ac8a74bad3564d943
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 6 19:48:06 2013 +0800
block: Round up total_sectors
Since b94a2610, bdrv_getlength() is omitted when probing image. VMDK
monolithicFlat is broken by that because a file < 512 bytes can't be
read with its total_sectors truncated to 0. This patch round up the size
to BDRV_SECTOR_SIZE, when a image size is not sector aligned.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ebbfd5a094ead6f28d45718f97b4837bd3e7f916
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Oct 20 04:15:23 2013 +0400
target-xtensa: add missing DEBUG section to dc233c config
This fixes missing debug feature opcodes of dc233c core variant.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit e8262a1b5b7cfbcbc80c46e4ce6ff7c517b7b2f6
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Sep 27 22:29:17 2013 +0400
exec: fix breakpoint_invalidate when pc may not be translated
This fixes qemu abort with the following message:
include/qemu/int128.h:22: int128_get64: Assertion `!a.hi' failed.
which happens due to attempt to invalidate breakpoint by virtual address
for which get_phys_page_debug couldn't find mapping.
For more details see
http://lists.nongnu.org/archive/html/qemu-devel/2013-09/msg04582.html
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9d0e1dac108ce90cbe62c89af57a7ace006f5152
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Oct 15 16:00:33 2013 +1100
pseries: Update SLOF firmware image
SLOF git commit is e2e8ac901e617573ea383f9cffd136146d0675a4
The main changes are:
* fixed bug with not passing arguments from -append
* client-architecture-support hypercall
* netboot
* USB stack fixes
The full list of changes:
> client-architecture-support: fix wrong version read
> client-architecture-support: fix redundant stack drop
> Update device tree returned by CAS hypercall
> fdt: introduce fdt-init
> Add ibm,client-architecture-support method
> Kernel parameter passed from qemu commandline ignored
> Allow more than one client to open net devices simultaneously
> ci: add missing close in else condition
> Add GPT support
> pci: fix interrupt-map for bridges
> usb-ohci: preserve the toggleCarry bit in ED
> usb-ohci: done_head processing fixes
> usb-ohci: update init and rationalize timings
> usb-msc: handle stall and other fixes
> scsi: make probe more error resilient
> usb-core: Add CLEAR FEATURE api
> Implement range allocator
> Remove bcm57xx network driver as module
> Remove e1000 network driver as module
> Remove virtio-net network driver as module
> Remove veth network driver as module
> Add missing close-dev in ping
> Remove lodable network driver modules and related functions
> Add bcm57xx network driver in libbcm
> Add e1000 network driver in libe1k
> Add virtio-net driver in libvirtio
> Add veth driver in libveth
> Get MAC address for client interface module
> Add SLOF usleep wrapper
> Add SLOF pci wrapper functions
> Fix 'canon' client interface
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 29fdedfed54db4b04fe391ce8a4d9bf5ff86218e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Oct 11 14:08:20 2013 +1100
spapr: add vio-bus devices to categories
In order to get devices appear in output of
"./qemu-system-ppc64 -device ?",
they must be assigned to one of DEVICE_CATEGORY_XXXX.
This puts VIO devices classes to corresponding categories.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e78835b722eb26f5a56370166e99b69e9751ea2a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:56 2013 -0400
block: vhdx qemu-iotest - log replay of data sector
This tests the replay of a data sector in a VHDX image file.
The image file is a 10G dynamic image, with 4MB block size. The
image was created with qemu-img, and the log left unplayed by
modification of the vhdx image format driver.
It was verified under both QEMU and Hyper-V that the image file,
post log replay, matched.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 751aec24cdcd4359b5927df5cebfe6b8d3e74515
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:55 2013 -0400
block: qemu-iotests for vhdx, add write test support
This removes the IMGFMT_GENERIC blocker for read-only, so existing
iotests run read/write tests for vhdx images created by qemu-img (e.g.
tests 001, 002, 003).
In addition, this updates the sample image test for the Hyper-V
created image, to verify we can write it as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 228b234dd73383408743d749d29a6c37e9d99981
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:54 2013 -0400
block: vhdx - update _make_test_img() to filter out vhdx options
The non-global option output is suppresed in _make_test_img() for
output verification in the 0?? tests. This adds suppression for
the vhdx-unique options as well. This allows check -vhdx to run
successfully.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3412f7b1bd8f250c34c9f933767d06b9444bb821
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:53 2013 -0400
block: vhdx - add .bdrv_create() support
This adds support for VHDX image creation, for images of type "Fixed"
and "Dynamic". "Differencing" types (i.e., VHDX images with backing
files) are currently not supported.
Options for image creation include:
* log size:
The size of the journaling log for VHDX. Minimum is 1MB,
and it must be a multiple of 1MB. Invalid log sizes will be
silently fixed by rounding up to the nearest MB.
Default is 1MB.
* block size:
This is the size of a payload block. The range is 1MB to 256MB,
inclusive, and must be a multiple of 1MB as well. Invalid sizes
and multiples will be silently fixed. If '0' is passed, then
a sane size is chosen (depending on virtual image size).
Default is 0 (Auto-select).
* subformat:
- "dynamic"
An image without data pre-allocated.
- "fixed"
An image with data pre-allocated.
Default is "dynamic"
When creating the image file, the lettered sections are created:
-----------------------------------------------------------------.
| (A) | (B) | (C) | (D) | (E)
| File ID | Header1 | Header 2 | Region Tbl 1 | Region Tbl 2
| | | | |
.-----------------------------------------------------------------.
0 64KB 128KB 192KB 256KB 320KB
.---- ~ ----------- ~ ------------ ~ ---------------- ~ -----------.
| (F) | (G) | (H) |
| Journal Log | BAT / Bitmap | Metadata | .... data ......
| | | |
.---- ~ ----------- ~ ------------ ~ ---------------- ~ -----------.
1MB (var.) (var.) (var.)
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 61c02e5687dcc581c9d3413b61040b023adeaa9c
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:52 2013 -0400
block: vhdx - fix comment typos in header, fix incorrect struct fields
VHDXPage83Data and VHDXParentLocatorHeader both incorrectly had their
MSGUID fields set as arrays of 16. This is incorrect (it stems from
an early version where those fields were uint_8 arrays). Those fields
were, up to this patch, unused.
Also, there were a couple of typos and incorrect wording in comments,
and those have been fixed up as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e74a971cb3229813112c74dca81e599812b66f3
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:51 2013 -0400
block: vhdx - break out code operations to functions
This is preperation for vhdx_create(). The ability to write headers,
and calculate the number of BAT entries will be needed within the
create() functions, so move this relevant code into helper functions.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c325ee1de84dde5b2a90c30e1b788defa31c5d53
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:50 2013 -0400
block: vhdx - move more endian translations to vhdx-endian.c
In preparation for vhdx_create(), move more endian translation
functions out to vhdx-endian.c.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b7da092b40734538631c3ad461c1753a87535fc
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:49 2013 -0400
block: vhdx - remove BAT file offset bit shifting
Bit shifting can be fun, but in this case it was unnecessary. The
upper 44 bits of the 64-bit BAT entry is specifies the File Offset,
so we shifted the bits to get access to the value.
However, per the spec the value is in MB. So we dutifully shifted back
to the left by 20 bits, to convert to a true uint64_t file offset.
This replaces those steps with just a bit mask, to get rid of the lower
20 bits instead.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d92aa8833c051b53d3bf2614ff885df0037f10bb
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:48 2013 -0400
block: vhdx write support
This adds support for writing to VHDX image files, using coroutines.
Writes into the BAT table goes through the VHDX log. Currently, BAT
table writes occur when expanding a dynamic VHDX file, and allocating a
new BAT entry.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8adc52336d9c44ab4c7b9358a7be22ac0ef962bf
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:47 2013 -0400
block: vhdx - add log write support
This adds support for writing to the VHDX log.
For spec details, see VHDX Specification Format v1.00:
https://www.microsoft.com/en-us/download/details.aspx?id=34750
There are a few limitations to this log support:
1.) There is no caching yet
2.) The log is flushed after each entry
The primary write interface, vhdx_log_write_and_flush(), performs a log
write followed by an immediate flush of the log.
As each log entry sector is a minimum of 4KB, partial sector writes are
filled in with data from the disk write destination.
If the current file log GUID is 0, a new GUID is generated and updated
in the header.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a848fd4517820981b542e0d10e64c0426414229
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:46 2013 -0400
block: vhdx - add region overlap detection for image files
Regions in the image file cannot overlap - the log, region tables,
and metdata must all be unique and non-overlapping.
This adds region checking by means of a QLIST; there can be a variable
number of regions and metadata (there may be metadata or region tables
that we do not recognize / know about, but are not required).
This adds the capability to register a region for later checking, and
to check against registered regions for any overlap.
Also, if neither the BAT or Metadata region tables are found, return
error.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0a43a1b5d7c33208120eeb2d98ebb9ab15dc2c87
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:45 2013 -0400
block: vhdx - log parsing, replay, and flush support
This adds support for VHDX v0 logs, as specified in Microsoft's
VHDX Specification Format v1.00:
https://www.microsoft.com/en-us/download/details.aspx?id=34750
The following support is added:
* Log parsing, and validation - validate that an existing log
is correct.
* Log search - search through an existing log, to find any valid
sequence of entries.
* Log replay and flush - replay an existing log, and flush/clear
the log when complete.
The VHDX log is a circular buffer, with elements (sectors) of 4KB.
A log entry is a variably-length number of sectors, that is
comprised of a header and 'descriptors', that describe each sector.
A log may contain multiple entries, know as a log sequence. In a log
sequence, each log entry immediately follows the previous entry, with an
incrementing sequence number. There can only ever be one active and
valid sequence in the log.
Each log entry must match the file log GUID in order to be valid (along
with other criteria). Once we have flushed all valid log entries, we
marked the file log GUID to be zero, which indicates a buffer with no
valid entries.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c46415afc2c99ea052f52f9d68ed9a78799f2c10
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:44 2013 -0400
block: vhdx code movement - move vhdx_close() above vhdx_open()
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3906c5e8281b37a526c706596af8575d6ac00d3
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:43 2013 -0400
block: vhdx - update log guid in header, and first write tracker
Allow tracking of first file write in the VHDX image, as well as
the ability to update the GUID in the header. This is in preparation
for log support.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0f48e8f0978afe0bd44c63749e7df6411da6c437
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:42 2013 -0400
block: vhdx - break endian translation functions out
This moves the endian translation functions out from the vhdx.c source,
into a separate source file. In addition to the previously defined
endian functions, new endian translation functions for log support are
added as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 625565d27e8d7c7f7238ccd118a2cd49c1c52963
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:41 2013 -0400
block: vhdx - log support struct and defines
This adds some magic number defines, and internal structure definitions
for VHDX log replay support. The struct VHDXLogEntries does not reflect
an on-disk data structure, and thus does not need to be packed.
Some minor code style fixes are applied as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 28541d46280733b9afe7b106a3a6665275a45e5f
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:40 2013 -0400
block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to
header.
In preparation for VHDX log support, move these structures to the
header.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f18b7824ab5eda9fe051f5b24e90e5f34d08a23
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:39 2013 -0400
block: vhdx - add header update capability.
This adds the ability to update the headers in a VHDX image, including
generating a new MS-compatible GUID.
As VHDX depends on uuid.h, VHDX is now a configurable build option. If
VHDX support is enabled, that will also enable uuid as well. The
default is to have VHDX enabled.
To enable/disable VHDX: --enable-vhdx, --disable-vhdx
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6e9d290bf62406098ca3d7bf3796463681ed3c39
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:38 2013 -0400
block: vhdx - minor comments and typo correction.
Just a couple of minor comments to help note where allocated
buffers are freed, and a typo fix.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0173e7bbf3c892abd4e35507ddeb2f23c1a44829
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Oct 21 16:00:18 2013 +0200
block/vpc: fix virtual size for images created with disk2vhd
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 17826bc159893300a05551d8a830275c5ecf0092
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Nov 5 20:03:33 2013 +0100
block: Save errno before error_setg_errno
error_setg_errno() may overwrite errno; therefore, its value should be
read before calling that function and not afterwards.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 43cd209803d6cffb1e1a028c9ff2fd0ff4fce954
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:35 2013 +0100
qdev-monitor-test: add device_add leak test cases
Ensure that the device_add error code path deletes device objects.
Failure to do so not only leaks the objects but can also keep other
objects (like drive or netdev) alive due to qdev properties holding
references.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7ceeedd016facf8d58e14a0d1417fa7225d71072
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:34 2013 +0100
blockdev-test: add test case for drive_add duplicate IDs
The following should work:
(qemu) drive_add if=none,id=drive0
(qemu) drive_del drive0
(qemu) drive_add if=none,id=drive0
Previous versions of QEMU produced a duplicate ID error because
drive_add leaked the options.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0c460dac03e7919079525d8e24ef2c4c607c219d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:33 2013 +0100
libqtest: add qmp(fmt, ...) -> QDict* function
Add a qtest qmp() function that returns the response object. This
allows test cases to verify the result or to check for error responses.
It also allows waiting for QMP events.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 0d1aa05e9eba2437fdcdfbaa846c850c986bf7c6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:32 2013 +0100
libqtest: rename qmp() to qmp_discard_response()
Existing qmp() callers do not expect a response object. In order to
implement real QMP test cases it will be necessary to inspect the
response object.
Rename qmp() to qmp_discard_response(). Later patches will introduce a
qmp() function that returns the response object and tests that use it.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit ec9c10d29c6bb5613a680af62f5825d3bb2d31d4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:30 2013 +0100
blockdev: fix drive_init() opts and bs_opts leaks
These memory leaks also make drive_add if=none,id=drive0 without a file=
option leak the options list. This keeps ID "drive0" around forever.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit db5dc557288fb1b7a17ffabe3b92f299fc2dc187
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:42 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage in 061
When creating images with backing files in the test, the backing
file argument was not quoted properly. This caused the test to fail
when run from a pathname with a space. Pass the backing argument in
with the -b option to _make_test_img, so it can be properly quoted.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1ab391938d29ebc3956d07b622c987c350434eaf
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:41 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage for 051
There were still a couple of instances of unquoted usage of
$TEST_IMG and $TEST_IMG.orig. Quoted these so they will not fail
on pathnames with spaces in them.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f897e3939cbbcec26e99415a499654ae7ae09b64
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:40 2013 -0400
block: qemu-iotests, removes duplicate double quotes in 039
Test 039 had $TEST_IMG with duplicate double quotes - remove duplicate.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3cbe3e8d25529ecb4e1838d1c6856e199b3a66d4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:39 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage in 019
There were still instances of $TEST_IMG not being properly quoted.
This was in the usage of a string built up for a 'for' loop; modify
the loop so we can quote $TEST_IMG properly.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02cde1688131090d3abb2f210e30a44d96804167
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:38 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG.base usage in 017
$TEST_IMG.base is used unquoted. Add quotes so that pathnames with
spaces are supported.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0018c03f5d37f3a7df23eef0e9f1e6e6189ed634
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:37 2013 -0400
block: qemu-iotests, fix _make_test_img() to work with spaced pathnames
_make_test_img() currently works with spaced pathnames only when not
specifying a backing file. This fixes it so that the backing file
argument is properly quoted.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0084043888f6773d905c1b5d644b89c79d1c7714
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:36 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage io pattern tests
The usage of $TEST_IMG was not properly quoted everywhere in
common.pattern.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 511018e4b49a5f0f1c7b051bb79fe8eccbb590fe
Author: Andreas Tobler <andreast@xxxxxxxxxxx>
Date: Thu Oct 31 22:41:46 2013 +0100
block/raw-posix: fix FreeBSD compilation
The below patch is needed to compile qemu trunk on FreeBSD with gcc48,
clang will fail.... ;). Host x84_64-freebsd.
Signed-off-by: Andreas Tobler <andreast@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 64815e2a966f0a3f18818b9d542f1ef02dc992a2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Nov 2 14:52:11 2013 +0100
qemu-iotests: Filter out actual image size in 067
The actual size of the image file may differ depending on the Linux
kernel currently running on the host. Filtering out this value makes
this test pass in such cases.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a9a443c874cf92b583852cf8ea5b75df8580df32
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 1 17:35:29 2013 +0800
qapi: Fix comment for create-type to match code.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 73204cffe55ce65b3a344afc3da637d67beb8c32
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 7 12:24:41 2013 +0100
ossaudio: check for oss support in oss_audio_init
Check whenever the device path (/dev/dsp by default) exists and qemu is
allowed to access it. Return NULL if it isn't, so ossaudio will not
be used on systems wihtout oss support (increasinly common on modern
linux systems).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 926de75432d57cade393750da8102f3ba1eeb4a0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 7 12:25:02 2013 +0100
Revert "ossaudio: do not enable by default"
This reverts commit c905c5012ac0c6fde3b8094d2206a3139deddba2.
There is a better fix for the issue at hand.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ef4cbe14342c1f63b3c754e306218f004f4e26c4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Nov 6 22:35:27 2013 +0100
kvm: Fix uninitialized cpuid_data
This error was reported by valgrind when running qemu-system-x86_64
with kvm:
==975== Conditional jump or move depends on uninitialised value(s)
==975== at 0x521C38: cpuid_find_entry (kvm.c:176)
==975== by 0x5235BA: kvm_arch_init_vcpu (kvm.c:686)
==975== by 0x4D5175: kvm_init_vcpu (kvm-all.c:267)
==975== by 0x45035B: qemu_kvm_cpu_thread_fn (cpus.c:858)
==975== by 0xD361E0D: start_thread (pthread_create.c:311)
==975== by 0xD65E9EC: clone (clone.S:113)
==975== Uninitialised value was created by a stack allocation
==975== at 0x5226E4: kvm_arch_init_vcpu (kvm.c:446)
Instead of adding more memset calls for parts of cpuid_data, the existing
calls were removed and cpuid_data is now initialized completely in one
call.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 3a902babf1d7b5ef1ffa8bc95be271fe1270c2f6
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Nov 4 14:42:55 2013 +0100
pci-assign: Remove dead code for direct I/O region access from userspace
This feature was already deprecated back then in qemu-kvm, ie. before
pci-assign went upstream. assigned_dev_ioport_rw will never be invoked
with resource_fd < 0.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 20d155bc902f41c5b354937e730ad85b43614ae9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Oct 30 22:52:24 2013 +0100
linux-user: Fix stat64 syscall for SPARC64
Some targets use a stat64 structure for the stat64 syscall while others
use a stat structure. SPARC64 used the wrong kind.
Instead of extending the conditional compilation in syscall.c, now a
macro TARGET_HAS_STRUCT_STAT64 is defined whenever a target has a
target_stat64.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
commit bdf523e6923f1e667055e947e71fc600549cefae
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Oct 20 18:39:21 2013 +0200
configure: Add config.status to recreate the current configuration
The latest configure invocation was saved in config-host.mak and could
be extracted from that file to recreate the configuration.
Now it is saved in a new file config.status which can be directly executed
to recreate the configuration. The file name and the comments were copied
from GNU autoconf.
Makefile now uses config.status, but also includes transitional code
for the old mechanism.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
commit 40b9cc5e40ca69c15a2243852fa20fd1a35a0ea6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Sep 28 10:34:30 2013 +0200
nsis: Improved support for parallel installation of 32 and 64 bit code
32 and 64 bit variants of QEMU already had different default installation
directories, but used a common registry key for saving the choosen
directory. This is confusing for users who want to install both variants,
so fix it by using different registry keys.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 964668b03d26f0b5baa5e5aff0c966f4fcb76e9e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 6 21:49:39 2013 -0800
Update version for 1.7.0-rc0 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 898ae2846de4dcb19da0b80f99ef2215dd137e56
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:07:16 2013 +0800
sdl: Reverse support for video mode setting
Currently, If the setting of video mode failed, qemu will exit. It
should go back to the previous setting if the new screen resolution
failed. This patch fixes LP#1216368, add support to revert to existing
surface for the failure of video mode setting.
Reported-by: Sascha Krissler <sascha@xxxxxxxxx>
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1378285636-7091-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f3e31012e334f3410e04abae7f88565df17c91a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 28 17:32:18 2013 +0100
timers: fix stop/cont with -icount
Stop/cont commands are broken with -icount due to a deadlock. The
real problem is that the computation of timers_state.cpu_ticks_offset
makes no sense with -icount enabled: we set it to an icount clock value
in cpu_disable_ticks, and subtract a TSC (or similar, whatever
cpu_get_real_ticks happens to return) value in cpu_enable_ticks.
The fix is simple. timers_state.cpu_ticks_offset is only used
together with cpu_get_real_ticks, so we can use cpu_get_real_ticks
in cpu_disable_ticks. There is no need to update cpu_ticks_prev
at the time cpu_disable_ticks is called; instead, we can do it
the next time cpu_get_ticks is called.
The change to cpu_disable_ticks is the important part of the patch.
The rest modifies the code to always check timers_state.cpu_ticks_prev,
even when the ticks are not advancing (i.e. the VM is stopped). It also
makes a similar change to cpu_get_clock_locked, so that the code remains
similar for cpu_get_ticks and cpu_get_clock_locked.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1382977938-13844-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd5be5829c1ce87aa6b3a7806524fac07ac9a757
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Nov 5 19:17:18 2013 +0800
e1000/rtl8139: update HMP NIC when every bit is written
We currently just update the HMP NIC info when the last bit of macaddr
is written. This assumes that guest driver will write all the macaddr
from bit 0 to bit 5 when it changes the macaddr, this is the current
behavior of linux driver (e1000/rtl8139cp), but we can't do this
assumption.
The macaddr that is used for rx-filter will be updated when every bit
is changed. This patch updates the e1000/rtl8139 nic to update HMP NIC
info when every bit is changed. It will be same as virtio-net.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Message-id: 1383650238-16015-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe2dafa02de4f80ab36f6e0f4ddfcd6418c03c49
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Nov 6 16:58:08 2013 +0800
virtio-net: only delete bh that existed
We delete without check whether it existed during exit. This will lead
NULL
pointer deference since it was created conditionally depends on guest
driver
status and features. So add a check of existence before trying to delete
it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383728288-28469-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c2d30667760e3d7b81290d801e567d4f758825ca
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Aug 14 13:29:43 2013 +0200
rtc: remove dead SQW IRQ code
This was once introduced by commit 100d9891d6 but was never used in-tree
and then got broken by commit 32e0c8260d. Time to clean up.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Message-id: 520B6A27.4040207@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c8ebac7ccf51a8e683de593c4240d2ed7d592ec
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Tue Nov 5 16:15:54 2013 +0100
vga: fix invalid read after free
After calling dpy_gfx_replace_surface(s->con, surface), the outer
surface is invalid.
==5370== Invalid read of size 4
==5370== at 0x460229: surface_bits_per_pixel (console.h:250)
==5370== by 0x466A81: get_depth_index (vga.c:1173)
==5370== by 0x467EC2: vga_draw_graphic (vga.c:1718)
==5370== by 0x4687A5: vga_update_display (vga.c:1914)
==5370== by 0x2A782E: qxl_hw_update (qxl.c:1766)
==5370== by 0x3EB83B: graphic_hw_update (console.c:254)
==5370== by 0x3FBE31: qemu_spice_display_refresh (spice-display.c:418)
==5370== by 0x2A7D01: display_refresh (qxl.c:1886)
==5370== by 0x3EEE1C: dpy_refresh (console.c:1436)
==5370== by 0x3EB543: gui_update (console.c:192)
==5370== by 0x3C43B3: timerlist_run_timers (qemu-timer.c:488)
==5370== by 0x3C4416: qemu_clock_run_timers (qemu-timer.c:499)
==5370== Address 0x22ffb1e0 is 0 bytes inside a block of size 56 free'd
==5370== at 0x4A074C4: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5370== by 0x4245FC: free_and_trace (vl.c:2771)
==5370== by 0x50899AE: g_free (gmem.c:252)
==5370== by 0x3EE8D3: qemu_free_displaysurface (console.c:1332)
==5370== by 0x3EEDB7: dpy_gfx_replace_surface (console.c:1427)
==5370== by 0x467EB6: vga_draw_graphic (vga.c:1714)
==5370== by 0x4687A5: vga_update_display (vga.c:1914)
==5370== by 0x2A782E: qxl_hw_update (qxl.c:1766)
==5370== by 0x3EB83B: graphic_hw_update (console.c:254)
==5370== by 0x3FBE31: qemu_spice_display_refresh (spice-display.c:418)
==5370== by 0x2A7D01: display_refresh (qxl.c:1886)
==5370== by 0x3EEE1C: dpy_refresh (console.c:1436)
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1383664554-15248-1-git-send-email-marcandre.lureau@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5cb6be2ca3094f4b6b6fd4c44eabec0098acd3e3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 5 17:42:48 2013 +0100
tests: fix 64-bit int literals for 32-bit hosts
On 32-bit hosts:
CC tests/test-opts-visitor.o
tests/test-opts-visitor.c: In function 'test_value':
tests/test-opts-visitor.c:128: warning: integer constant is too large for
'long' type
CC tests/test-bitops.o
tests/test-bitops.c:34: warning: integer constant is too large for 'long'
type
tests/test-bitops.c:35: warning: integer constant is too large for 'long'
type
tests/test-bitops.c:35: warning: integer constant is too large for 'long'
type
CC tests/endianness-test.o
tests/endianness-test.c:47: warning: integer constant is too large for
'long' type
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1383669768-23926-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f1ce94a2935dab5d0aa3bd13ecc33e352213dc7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Oct 15 15:42:34 2013 +0100
docs/memory.txt: Clarify and expand priority/overlap documentation
The documentation of how overlapping memory regions behave and how
the priority system works was rather brief, and confusion about
priorities seems to be quite common for developers trying to understand
how the memory region system works, so expand and clarify it.
This includes a worked example with overlaps, documentation of the
behaviour when an overlapped container has "holes", and mention
that it's valid for a region to have both MMIO callbacks and
subregions (and how this interacts with priorities when it does).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1381848154-31602-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 61cc919f73ea7ca134c0ac41b748981ad63a253b
Author: Mike Frysinger <vapier@xxxxxxxxxx>
Date: Sun Jun 30 23:30:18 2013 -0400
configure: detect endian via compile test
This avoids needing to execute a program and keeping an (incomplete)
list when cross-compiling.
Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: James Hogan <james.hogan@xxxxxxxxxx> [mips]
Message-id: 1372649418-4987-1-git-send-email-vapier@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8aa15b6e527f234e491a6d354bed4d10da3a01a7
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 6 02:35:51 2013 +0800
tests: fix memleak in error path test for input visitor
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1383676551-18806-3-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3dce9cad5a6c0b0dbe0830973b270c9466c8ab4b
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 6 02:35:50 2013 +0800
qapi: fix memleak by adding implict struct functions in dealloc visitor
Otherwise member "base" is leaked in a qapi_free_STRUCTURE() call.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1383676551-18806-2-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d579514a5a7b308b52d4e8567aa9bd1f7aa761b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:37 2013 +0000
bswap.h: Remove cpu_to_32wu()
Replace the legacy cpu_to_32wu() with stl_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-10-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4ef9f465cf7cbc66b85e9df4eebe13086b46f11
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:36 2013 +0000
bswap.h: Remove cpu_to_be64wu()
Replace the legacy cpu_to_be64wu() with stq_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-9-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bd194ab9957361f83fdbfb22d452d97b4af28e2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:35 2013 +0000
bswap.h: Remove cpu_to_be32wu()
Replace the legacy cpu_to_be32wu() with stl_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-8-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d8ee2591e495d5feb0e0250866222dedc805c8d8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:34 2013 +0000
bswap.h: Remove cpu_to_be16wu()
Replace the legacy cpu_to_be16wu() with stw_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-7-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 09fa8439730c707b34af6ab055fc353f6cadc57d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:33 2013 +0000
bswap.h: Remove be32_to_cpupu()
Replace the legacy be32_to_cpupu() with ldl_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-6-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f567656a67e3859a8be2371c45ff66e90321a2c1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:32 2013 +0000
bswap.h: Remove le32_to_cpupu()
Replace the legacy le32_to_cpupu() with ldl_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-5-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c65e5de94dbe667743d1523d6b4ac301cd76b0fe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:31 2013 +0000
bswap.h: Remove le16_to_cpupu()
Replace the legacy le16_to_cpupu() with lduw_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e931878c1bde26ff594f284a6857e0d786674bc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:30 2013 +0000
bswap.h: Remove cpu_to_le32wu()
Replace the legacy cpu_to_le32wu() with stl_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 587ae227607d86d07b0a0fb30fff55604ff9ee80
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:29 2013 +0000
bswap.h: Remove cpu_to_le16wu()
Replace the legacy cpu_to_le16wu() with stw_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a30b377e0a921bf93349dc4adb94580a3bec7ea4
Merge: c905c50 80bbaee
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 10:33:32 2013 -0800
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* QTest coverage for all machines
* QOM realize for Milkymist UART
* QOM realize for ARM MPCore
* device_add bug fixes and cleanups
* QOM for PCMCIA/MicroDrive (last legacy IDE device)
# gpg: Signature made Tue 05 Nov 2013 09:07:03 AM PST using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (49) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony: (54 commits)
pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState
ide: Drop ide_init2_with_non_qdev_drives()
microdrive: Coding Style cleanups
pcmcia: QOM'ify PCMCIACardState and MicroDriveState
pxa: Fix typo "dettach"
qom: Fix pointer to int property helpers' documentation
qdev-monitor: Inline qdev_init() for device_add
qdev-monitor: Avoid qdev as variable name
qdev: Drop misleading qdev_free() function
qdev-monitor: Unref device when device_add fails
qdev-monitor: Fix crash when device_add is called with abstract driver
qdev-monitor: Clean up qdev_device_add() variable naming
arm11mpcore: Split off RealView MPCore
arm11mpcore: Prepare for QOM embedding
arm11mpcore: Convert mpcore_rirq_state to QOM realize
realview_gic: Prepare for QOM embedding
realview_gic: Convert to QOM realize
arm11mpcore: Convert ARM11MPCorePriveState to QOM realize
arm11mpcore: Split off SCU device
arm11mpcore: Create container MemoryRegion in instance_init
...
commit 80bbaee66ac38bcb5fe5a6f285e20457afcc8bec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 12:23:05 2013 +0200
pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState
Turn it into a SysBusDevice and use a container MemoryRegion.
Add a link<pcmcia-card> property to the PCMCIACardState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e3d4d36d1bff6b1a0b68b794c33bbe8666afc840
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 11:30:50 2013 +0200
ide: Drop ide_init2_with_non_qdev_drives()
All its users have finally been converted.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a6cb20fcba97bffd893e532f8cc70442200d3e15
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 10:32:49 2013 +0200
microdrive: Coding Style cleanups
Add missing braces.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d1f2c96a81a4d18b99b7f471bf58e65c9afab33f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 19:46:16 2013 +0200
pcmcia: QOM'ify PCMCIACardState and MicroDriveState
Turn PCMCIACardState into a device.
Move callbacks to new PCMCIACardClass.
Derive TYPE_MICRODRIVE from TYPE_PCMCIA_CARD.
Replace ide_init2_with_non_qdev_drives().
Signed-off-by: Othmar Pasteka <pasteka@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 853ca11dafb625e36db036b8e83d6e2168703e1f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 19:06:47 2013 +0200
pxa: Fix typo "dettach"
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a25ebcacdda4dd6e68ac62acb4c72f3f868b938d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 7 12:35:01 2013 +0300
qom: Fix pointer to int property helpers' documentation
Relocate to alongside the other object_property_add_* helpers while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 852e2c5008563692a8868260480e76b95bb9018c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 7 16:42:34 2013 +0200
qdev-monitor: Inline qdev_init() for device_add
For historic reasons, qdev_init() unparents the device on failure.
Inline this to make the error paths clearer and consistent.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2bcb0c62f620a7033e9e25c5b645d50bf9e6a8f2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 7 16:17:54 2013 +0200
qdev-monitor: Avoid qdev as variable name
Prepares for bringing error cleanup code into canonical QOM form.
Includes a whitespace removal after curly brace by Stefan.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02a5c4c97422b40034f31265e0f139f7846172a8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Sep 11 14:54:09 2013 +0200
qdev: Drop misleading qdev_free() function
The qdev_free() function name is misleading since all the function does
is unlink the device from its parent. The device is not necessarily
freed.
The device will be freed when its QObject refcount reaches zero. It is
usual for the parent (bus) to hold the final reference but there are
cases where something else holds a reference so "free" is a misleading
name.
Call object_unparent(obj) directly instead of having a qdev wrapper
function.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee6abeb6ec08473713848ce9028110f1684853b7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Sep 10 18:21:08 2013 +0200
qdev-monitor: Unref device when device_add fails
qdev_device_add() leaks the created device upon failure. I suspect this
problem crept in because qdev_free() unparents the device but does not
drop a reference - confusing name.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2fa4e56d88aa0039062bbc7f9a88e9f90c77ed94
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Sep 17 15:32:32 2013 +0200
qdev-monitor: Fix crash when device_add is called with abstract driver
User is able to crash running QEMU when following monitor
command is called:
device_add intel-hda-generic
Crash is caused by assertion in object_initialize_with_type()
when type is abstract.
Checking if type is abstract before instance is created in
qdev_device_add() allows to prevent crash on incorrect user input.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f4d85795605c7dc594c013221a4b6d62967bd8ab
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 24 01:21:22 2013 +0200
qdev-monitor: Clean up qdev_device_add() variable naming
Avoid confusion between object (obj) and object class (oc).
Tidy DeviceClass variable while at it (k -> dc).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c219b7be6eeaf31dccaf9b74d738e0ce2ea813b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 01:33:59 2013 +0200
arm11mpcore: Split off RealView MPCore
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7b960dc37df088f9ca71bdc2a611864eae38c5c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 01:27:19 2013 +0200
arm11mpcore: Prepare for QOM embedding
Move state struct, type constant and cast macro to a new header.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 306476eaec483afbbf7f31abeae97874e6d3d29c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 23:38:15 2013 +0200
arm11mpcore: Convert mpcore_rirq_state to QOM realize
Embed ARM11MPCorePriveState and RealViewGICState and replace SysBus
initfn with realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce31825de64c305cbf0def5657edac21aab7368b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 00:48:55 2013 +0200
realview_gic: Prepare for QOM embedding
Move state struct, type constant and cast macro to a new header.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 612daf06283e2cf6b3aa6178826516512d219de0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 00:37:07 2013 +0200
realview_gic: Convert to QOM realize
Embed GICState and replace SysBus initfn with realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08602ac5bf4f024d7e979de3a4e5df87db01b0ae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 22:04:31 2013 +0200
arm11mpcore: Convert ARM11MPCorePriveState to QOM realize
Embed child devices and replace SysBus initfn with realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 53cb9a1c2ffa78f5b5f6e4084dc03b98558cea4f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 20:07:36 2013 +0200
arm11mpcore: Split off SCU device
Inspired by a9scu.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2c42c3a063c2a8dda74b613bfab021b86ebc7ee5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 20:48:33 2013 +0200
arm11mpcore: Create container MemoryRegion in instance_init
This allows to map the region directly after object initialization.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 21ebaf1d812471e3379c85ffb8b0cc2311d5bff0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 22:08:59 2013 +0200
arm11mpcore: Drop unused fields
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4c14253c9e889ab1cbd6126eed883682c1cd2718
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 20:36:33 2013 +0200
arm11mpcore: Fix typo in MemoryRegion name
"mpcode" -> "mpcore"
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b4a37f17fef343f6400f0ccc1d1e037c6c430807
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 21:00:29 2013 +0200
a9scu: Build only once
It does not have a target or ARMCPU dependency.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 43482f72dbe48448442c3b27f0a26b16d49e8f97
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:31:01 2013 +0200
a15mpcore: Prepare for QOM embedding
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 7c76a48db48accca337e1e99b9085646b696a895
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:22:54 2013 +0200
a15mpcore: Convert to QOM realize
Turn SysBusDevice initfn into a QOM realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 524a2d8e2628b3241f0dcaa6a96d57e8120cc439
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:20:26 2013 +0200
a15mpcore: Embed GICState
This covers both emulated and KVM GIC.
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit b9ed148d243839aba3864b4419114396f6fda2fc
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:07:31 2013 +0200
a15mpcore: Split off instance_init
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit de4c2dcf7fedf5fa727113e1dec0d0e5dd0462a0
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 20:44:23 2013 +0200
a9mpcore: Prepare for QOM embedding
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 837cf1013e6e1aa821ce13d7f63bb3dc0a92a1ab
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 20:36:15 2013 +0200
a9mpcore: Convert to QOM realize
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit eb110bd843d3ef70850a7cf44d05056b8a3e81aa
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 20:30:27 2013 +0200
a9mpcore: Embed ARMMPTimerState
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 0aadb4909c330bbde8542fcafc465817530cb835
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:42:55 2013 +0200
arm_mptimer: Convert to QOM realize
Split the SysBusDevice initfn into instance_init and realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit fc719d77412513a07b718e1f083b64dbcac62524
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:29:36 2013 +0200
a9mpcore: Embed A9SCUState
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 9eb39db520cea30620b24098b6d731f78cc819a0
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:22:12 2013 +0200
a9scu: QOM cleanups
Rename A9SCUState::busdev field to parent_obj and turn realizefn into an
instance_init function to allow early MMIO mapping.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 9b5f952bb8015b079783a9197f3331085075fbc4
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:01:18 2013 +0200
a9mpcore: Embed GICState
Prepares for conversion to QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 83728796ad3f2ce7d6162c1cb894528b12915646
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 23 03:37:49 2013 +0200
arm_gic: Extract headers hw/intc/arm_gic{,_common}.h
Rename NCPU to GIC_NCPU and move GICState away from gic_internal.h.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 753bc6e981101b2a1d8bd4cb68f54dcdf82e9b63
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:52:31 2013 +0200
a9mpcore: Split off instance_init
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit c77dd5f6140acd62ba73fbb8b8144c42c003b995
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Sat Aug 31 21:22:40 2013 +0400
milkymist-uart: Use Device::realize instead of SysBusDevice::init
Use of SysBusDevice::init is deprecated. Use Device::realize instead.
Also introduce TypeInfo::instance_init milkymist_uart_init().
Reported-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7c41f2177e280dec1f1d4c5cd72333c5c55943af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 05:44:47 2013 +0200
qtest: Prepare QOM machine tests
Instantiate all [*] machines per target, so that they get a bit of test
coverage at all. This has proven helpful during QOM refactorings.
[*] ppcemb target contains some non-working non-embedded machines, and
ppc405 CPUs are not available there either.
i386 and x86_64 do not cover pc*-x.y or xenfv.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7761254120905cb2c5c435246f97e51968ddddec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 17:58:58 2013 +0200
leon3: Don't enforce use of -bios with qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d32f7d2506f1dab996e977e478f19baff5d47b51
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 17:51:15 2013 +0200
shix: Don't require firmware presence for qtest
Adopt error_report() while at it.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6e770ee505771a6f3c3ffbf05719c149e069e3d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 17:53:24 2013 +0200
shix: Drop debug output
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c00eb5cee145ec7ff030a6bfcb98afd7285868c2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 16:49:28 2013 +0200
milkymist: Suppress -kernel/-bios/-drive error for qtest
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19c82aac7540acdd4645b033bb99ceff960f9570
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:48:58 2013 +0200
an5206: Don't enforce use of kernel for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c12762c2d9cfc7ff9744e4af14ef35190c5369b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:47:21 2013 +0200
mcf5208: Don't enforce use of kernel for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5efe843a9a0e049d3d2a13411b7df7d3a430540c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:40:20 2013 +0200
axis_dev88: Don't enforce use of kernel for qtest
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5633b90ad44f08a57c44bb602cb0ae6668420ac9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:36:59 2013 +0200
armv7m: Don't enforce use of kernel for qtest
Adopt error_report().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4bd2f93ff9dcf5fbbdb55affc55b7f1a568e43cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:29:54 2013 +0200
exynos4_boards: Silence lack of -smp 2 warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db3fd06902c96644cb4d4a76f54924c754faf13c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:27:58 2013 +0200
omap_sx1: Don't enforce use of kernel or flash for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1ca8334e42d84cf246db88502cebf11042df2c51
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:24:47 2013 +0200
palm: Don't enforce loading ROM or kernel for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e25ac5f66275b3f9615a6c24d7ef5625f1b49ef4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:15:55 2013 +0200
z2: Don't enforce use of -pflash for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bdf921d65f83c1958e00c347816c0f754f9bc6dc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:15:01 2013 +0200
gumstix: Don't enforce use of -pflash for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2f7c496c32476bb5eff616f6fda293393d70740
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:12:41 2013 +0200
mainstone: Don't enforce use of -pflash for qtest
Simply skip flash setup for now.
Also drop useless debug output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f741a26c126448adebee7b85fc87b72176c3dfa5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:43:57 2013 +0200
puv3: Turn puv3_load_kernel() into a no-op for qtest without -kernel
Replacing the assert() with more user-friendly error handling is left
for a follow-up.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22d5523d3fbb95264055e11eb47738a7442a4ecb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:01:37 2013 +0200
mips_mipssim: Silence BIOS loading warning for qtest
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d0a37354259ec446bace1a671685ba27f1fe1d6
Merge: a126050 df39076
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Nov 5 17:46:04 2013 +0100
Merge tag 'for_anthony' of git://git.kernel.org/pub/scm/virt/kvm/mst/qemu
pci, pc, pvpanic bug fixes
This fixes strange pvpanic behaviour: you had to
pause to let VM continue (and potentially reboot on panic
if enabled).
This also fixes two bugs reported by Andreas.
One is a long-standing bug exposed by recent pci changes,
the other affects old piix machine types and was caused
by recent acpi changes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c905c5012ac0c6fde3b8094d2206a3139deddba2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Sun Nov 3 08:45:54 2013 -0800
ossaudio: do not enable by default
Modern Linux's no longer support /dev/dsp so enabling it by
default causes audio failures on newer Linux distros.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1383497154-9271-1-git-send-email-aliguori@xxxxxxxxxx
commit 29f8f3835f63fb7c55c7bb56d26165ade793fc49
Merge: f772a83 4a46c99
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 08:39:49 2013 -0800
Merge remote-tracking branch 'spice/spice.v76' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* spice/spice.v76:
qxl: replace pipe signaling with bottom half
Message-id: 1383656322-24150-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f772a83113a9b692b94dc48b4f282224a2c6ccf2
Merge: 0d6e9a2 df39076
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 08:29:56 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, pvpanic bug fixes
This fixes strange pvpanic behaviour: you had to
pause to let VM continue (and potentially reboot on panic
if enabled).
This also fixes two bugs reported by Andreas.
One is a long-standing bug exposed by recent pci changes,
the other affects old piix machine types and was caused
by recent acpi changes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 04 Nov 2013 05:42:46 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (2) and Paolo Bonzini (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
vl: allow "cont" from panicked state
exec: limit system memory size
pc: disable acpi info for isapc and old pc machine
Message-id: 1383572851-28326-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d6e9a23ae6a839f4fa6e3e2816367e0ffa09869
Merge: a126050 7db16f2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 08:26:57 2013 -0800
Merge remote-tracking branch 'kraxel/e820.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/e820.1:
pc: register e820 entries for ram
pc: add etc/e820 fw_cfg file
Message-id: 1383567431-13540-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0fd53fec92c5b636ef4774fe130f6029fde9fc3c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 17 16:47:52 2013 +0200
KVM: x86: fix typo in KVM_GET_XCRS
Only the first item of the array was ever looked at. No
practical effect, but still worth fixing.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit df39076850958b842ac9e414dc3ab2895f1877bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 4 14:30:47 2013 +0100
vl: allow "cont" from panicked state
After reporting the GUEST_PANICKED monitor event, QEMU stops the VM.
The reason for this is that events are edge-triggered, and can be lost if
management dies at the wrong time. Stopping a panicked VM lets management
know of a panic even if it has crashed; management can learn about the
panic when it restarts and queries running QEMU processes. The downside
is of course that the VM will be paused while management is not running,
but that is acceptable if it only happens with explicit "-device pvpanic".
Upon learning of a panic, management (if configured to do so) can pick a
variety of behaviors: leave the VM paused, reset it, destroy it. In
addition to all of these behaviors, it is possible to dump the VM core
from the host.
However, right now, the panicked state is irreversible, and can only be
exited by resetting the machine. This means that any policy decision
is entirely in the hands of the host. In particular there is no way to
use the "reboot on panic" option together with pvpanic.
This patch makes the panicked state reversible (and removes various
workarounds that were there because of the state being irreversible).
With this change, management has a wider set of possible policies: it
can just log the crash and leave policy to the guest, it can leave the
VM paused. In particular, the "log the crash and continue" is implemented
simply by sending a "cont" as soon as management learns about the panic.
Management could also implement the "irreversible paused state" itself.
And again, all such actions can be coupled with dumping the VM core.
Unfortunately we cannot change the behavior of 1.6.0. Thus, even if
it uses "-device pvpanic", management should check for "cont" failures.
If "cont" fails, management can then log that the VM remained paused
and urge the administrator to update QEMU.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 818f86b88394b7b2b59d313e51043fe15a8004db
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 4 08:06:08 2013 +0200
exec: limit system memory size
The page table logic in exec.c assumes
that memory addresses are at most TARGET_PHYS_ADDR_SPACE_BITS.
But pci addresses are full 64 bit so if we try to render them ignoring
the extra bits, we get strange effects with sections overlapping each
other.
To fix, simply limit the system memory size to
1 << TARGET_PHYS_ADDR_SPACE_BITS,
pci addresses will be rendered within that.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 98af2ac93fa6bd83e19f7cff1cc9513fa7c4d58d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 4 12:42:46 2013 +0200
pc: disable acpi info for isapc and old pc machine
Disable acpi build for isapc and no_kvmclock machine
types (used by xen), since acpi build currently expects pci.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4a46c99c8118586f19894fe66fc6e353f159d4d9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 29 13:29:43 2013 +0100
qxl: replace pipe signaling with bottom half
qxl creates a pipe, then writes something to it to wake up the iothread
from the spice server thread to raise an irq. These days qemu bottom
halves can be scheduled from threads and signals, so there is no reason
to do this any more. Time to clean it up.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7db16f2480db5e246d34d0c453cff4f58549df0e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Oct 10 10:30:27 2013 +0200
pc: register e820 entries for ram
So RAM shows up in the new etc/e820 fw_cfg file.
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d67110f2d9a6a2d6b5215a948abc95d07258735
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Oct 18 11:31:54 2013 +0200
pc: add etc/e820 fw_cfg file
Unlike the existing FW_CFG_E820_TABLE entry which carries reservations
only the new etc/e820 file also has entries for RAM.
Format is simliar to the FW_CFG_E820_TABLE, it is a simple list of
e820_entry structs. Unlike FW_CFG_E820_TABLE it has no count though
as the number of entries can be figured from the file size.
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a126050a103c924b03388a9a64ce9af8c96b0969
Merge: ef5cfe5 f4c129a
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:02:26 2013 +0100
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches for 1.7.0-rc0 (v2)
# gpg: Signature made Thu 31 Oct 2013 04:44:39 PM CET using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
* kwolf/tags/for-anthony: (30 commits)
vmdk: Implment bdrv_get_specific_info
qapi: Add optional field 'compressed' to ImageInfo
qemu-iotests: prefill some data to test image
sheepdog: check simultaneous create in resend_aioreq
sheepdog: cancel aio requests if possible
sheepdog: make add_aio_request and send_aioreq void functions
sheepdog: try to reconnect to sheepdog after network error
coroutine: add co_aio_sleep_ns() to allow sleep in block drivers
sheepdog: reload inode outside of resend_aioreq
sheepdog: handle vdi objects in resend_aio_req
sheepdog: check return values of qemu_co_recv/send correctly
qemu-iotests: Test case for backing file deletion
qemu-iotests: drop duplicated "create_image"
qemu-iotests: Fix 051 reference output
block: Avoid unecessary drv->bdrv_getlength() calls
block: Disable BDRV_O_COPY_ON_READ for the backing file
ahci: fix win7 hang on boot
sheepdog: pass copy_policy in the request
sheepdog: explicitly set copies as type uint8_t
block: Don't copy backing file name on error
...
Message-id: 1383064269-27720-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit ef5cfe5bbd8bb05a51afaf7ab313769eb9ef44b6
Merge: 1ba1905 203cea2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:01:43 2013 +0100
Merge remote-tracking branch 'mjt/trivial-patches' into staging
* mjt/trivial-patches:
audio/mixeng_template.h: fix inline declaration
misc: Spelling and grammar fixes in comments
docs/ccid.txt: fix the typo
qapi: fix documentation example
.gitignore: ignore qmp-commands.txt
misc: New spelling fixes in comments
configure: create fsdev/ directory
Message-id: 1382779887-15971-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 1ba1905abd72f34836b153f3348d618da6148f87
Merge: e2cb290 3bbf37f
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:01:12 2013 +0100
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
* agraf/ppc-for-upstream: (29 commits)
spapr: Use DeviceClass::fw_name for device tree CPU node
target-ppc: Fill in OpenFirmware names for some PowerPCCPU families
target-ppc: dump-guest-memory support
dump-guest-memory: Check for the correct return value
target-ppc: Use #define for max slb entries
target-ppc: Check for error on address translation in memsave command
target-ppc: Update slb array with correct index values.
spapr-pci: enable irqfd for INTx
xics-kvm: enable irqfd for MSI
xics: Implement H_XIRR_X
xics: Implement H_IPOLL
xics-kvm: Support for in-kernel XICS interrupt controller
xics: add cpu_setup callback
xics: split to xics and xics-common
xics: add missing const specifiers to TypeInfo
xics: convert init() to realize()
xics: add pre_save/post_load dispatchers
xics: replace fprintf with error_report
spapr: move cpu_setup after kvmppc_set_papr
xics: move reset and cpu_setup
...
Message-id: 1382736474-32128-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e2cb2902bacb0efaa4adf680719aa77758dd33cd
Merge: cb95ec1 b4350de
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:00:55 2013 +0100
Merge remote-tracking branch 'kraxel/audio.2' into staging
* kraxel/audio.2:
audio: honor QEMU_AUDIO_TIMER_PERIOD instead of waking up every *nano*
second
Message-id: 1382622110-19460-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit cb95ec1b83ae3972a976e5331f9e772cde1ebd1c
Merge: 3fa4270 c90daa1
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:00:25 2013 +0100
Merge remote-tracking branch 'kraxel/usb.91' into staging
* kraxel/usb.91:
usb-hcd-xhci: Update endpoint context dequeue pointer for streams too
usb-hcd-xhci: Report completion of active transfer with CC_STOPPED on
ep stop
usb-hcd-xhci: Remove unused cancelled member from XHCITransfer
usb-hcd-xhci: Remove unused sstreamsm member from XHCIStreamContext
usb-host-libusb: Detach kernel drivers earlier
usb-host-libusb: Configuration 0 may be a valid configuration
usb-host-libusb: Fix reset handling
Message-id: 1382620267-18065-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 3fa4270a651503ac1a6aec5154ef17171ddae4e9
Merge: a9c78bb c20b7fa
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:00:07 2013 +0100
Merge remote-tracking branch 'luiz/queue/qmp' into staging
* luiz/queue/qmp:
monitor: eliminate monitor_event_state_lock
Message-id: 1382121003-5211-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit a9c78bb82efd825256c496e69aa884b1da7edea3
Merge: b0eb759 0624c7f
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 16:58:58 2013 +0100
Merge remote-tracking branch 'kraxel/e820.1' into staging
* kraxel/e820.1:
e820: pass high memory too.
Message-id: 1382008179-5968-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit b0eb759fb244c023bc4cee60cb4336eadda3da1a
Merge: b861605 742f5d2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 16:58:32 2013 +0100
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, acpi fixes, enhancements
This includes some pretty big changes:
- pci master abort support by Marcel
- pci IRQ API rework by Marcel
- acpi generation support by myself
Everything has gone through several revisions, latest versions have been
on
list for a while without any more comments, tested by several
people.
Please pull for 1.7.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 15 Oct 2013 07:33:48 AM CEST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
* mst/tags/for_anthony: (39 commits)
ssdt-proc: update generated file
ssdt: fix PBLK length
i386: ACPI table generation code from seabios
pc: use new api to add builtin tables
acpi: add interface to access user-installed tables
hpet: add API to find it
pvpanic: add API to access io port
ich9: APIs for pc guest info
piix: APIs for pc guest info
acpi/piix: add macros for acpi property names
i386: define pc guest info
loader: allow adding ROMs in done callbacks
i386: add bios linker/loader
loader: use file path size from fw_cfg.h
acpi: ssdt pcihp: updat generated file
acpi: pre-compiled ASL files
acpi: add rules to compile ASL source
i386: add ACPI table files from seabios
q35: expose mmcfg size as a property
q35: use macro for MCFG property name
...
Message-id: 1381818560-18367-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit f4c129a38a5430b7342a7a23f53a22831154612f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Oct 31 10:06:23 2013 +0800
vmdk: Implment bdrv_get_specific_info
Implement .bdrv_get_specific_info to return the extent information.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b86160555f8d1fe11d6bcec393e08e645d7e1e8d
Author: Alex Bennée <alex@xxxxxxxxxx>
Date: Tue Oct 22 15:16:06 2013 +0100
integrator: fix Linux boot failure by emulating dbg region
Commit 9b8c69243 (since reverted) broke the ability to boot the kernel
as the value returned by unassigned_mem_read returned non-zero and left
the kernel looping forever waiting for it to change (see
integrator_led_set in the kernel code).
Relying on a varying implementation detail is incorrect anyway so this
introduces a basic stub of a memory region for the debug/LED section
on the integrator board.
Signed-off-by: Alex Bennée <alex@xxxxxxxxxx>
Message-id: 1382451366-9539-1-git-send-email-alex.bennee@xxxxxxxxxx
[PMM: removed three unused fields from struct IntegratorDebugState]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0bc2a331e476c6c834278b8dcc17408a3f0d8f6a
Author: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Oct 11 19:38:45 2013 +0200
target-arm: fix sorting issue of KVM cpreg list
The compare_u64 function was not sorting the KVM cpreg_list in the
right way due to the wrong returned value. Since we are comparing
two 64bit values we can't simply return their difference if the
returned type is int.
Signed-off-by: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Message-id:
1381513125-26802-2-git-send-email-a.rigo@xxxxxxxxxxxxxxxxxxxxxx
[PMM: fixed coding style, indent and commit message formatting]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cbf239b76934c8c2d1e147372ef9478ecc39fdfb
Author: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Oct 11 19:38:44 2013 +0200
target-arm: sort TCG cpreg list by KVM-style 64 bit ID number
Both KVM and TCG populate the cpreg_list with 64 bit register IDs,
but in the TCG side the cpreg_list is sorted using the 32 bit ID
version while in the kvm side the 64 bit ID version is used. This
patch makes the sorting of the cpreg_list consistent between KVM and
TCG.
Signed-off-by: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Message-id:
1381513125-26802-1-git-send-email-a.rigo@xxxxxxxxxxxxxxxxxxxxxx
[PMM: fixed indent, coding style and commit message formatting]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8641136c54d216edb5bb8ef723c754039b4c5cf3
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Fri Oct 25 15:44:38 2013 +0100
target-arm: Add CP15 VBAR support
Added Vector Base Address remapping on ARM v7.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[PMM: removed spurious mask of value with 1<<31]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dacecf5485bf02b2dfe49e9d9c852668884a71be
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Oct 25 15:44:38 2013 +0100
hw/arm: Tidy up conditional calls to arm_load_kernel
Now that arm_load_kernel doesn't insist on a kernel filename
being present, we can remove some unnecessary conditionals
in board models.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1379980897-21277-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 9546dbabd5f6ff199ffd7741dfd57b8bff723bd1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Oct 25 15:44:38 2013 +0100
hw/arm/boot: Make user not specifying a kernel not an error
Typically ARM boards will have some kind of flash which might contain
a boot ROM; it's therefore a valid use case to provide only an
image for the boot ROM and not require QEMU's internal boot loader
at all. Remove the fatal error if -kernel isn't specified.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1379980897-21277-2-git-send-email-peter.maydell@xxxxxxxxxx
commit cbe82d7fb32e5d8e76434671d50853df5f50d560
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 18 11:12:44 2013 +0800
qapi: Add optional field 'compressed' to ImageInfo
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7890111b642e8e03430c3bf8bd6cedee26cec4fe
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Oct 30 17:42:28 2013 +0800
qemu-iotests: prefill some data to test image
Case 030 occasionally fails because of block job compltes too fast to be
captured by script, and 'unexpected qmp event' of job completion causes
the test failure.
Simply fill in some data to the test image to make this false alarm less
likely to happen.
(For other benefits to prefill data to test image, see also commit
ab68cdfaa).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 80308d33ec70834a80351a79eba106049b44a366
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:18 2013 +0900
sheepdog: check simultaneous create in resend_aioreq
After reconnection happens, all the inflight requests are moved to the
failed request list. As a result, sd_co_rw_vector() can send another
create request before resend_aioreq() resends a create request from
the failed list.
This patch adds a helper function check_simultaneous_create() and
checks simultaneous create requests more strictly in resend_aioreq().
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 35200687a1e04a79b0345be476185dc23d1604fb
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:17 2013 +0900
sheepdog: cancel aio requests if possible
This patch tries to cancel aio requests in pending queue and failed
queue. When the sheepdog driver cannot cancel the requests, it waits
for them to be completed.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a37dcdf9aea8e19fcec6b1c5aa2c27c325fc4644
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:16 2013 +0900
sheepdog: make add_aio_request and send_aioreq void functions
These functions no longer return errors. We can make them void
functions and simplify the codes.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 011603cacf1cae9212453efd82ec908cd42ce466
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:15 2013 +0900
sheepdog: try to reconnect to sheepdog after network error
This introduces a failed request queue and links all the inflight
requests to the list after network error happens. After QEMU
reconnects to the sheepdog server successfully, the sheepdog block
driver will retry all the requests in the failed queue.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3ab7bd1917d210eac5d2a80593899ec70c4e998c
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:14 2013 +0900
coroutine: add co_aio_sleep_ns() to allow sleep in block drivers
This helper function behaves similarly to co_sleep_ns(), but the
sleeping coroutine will be resumed when using qemu_aio_wait().
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 72e0996c41d879473bb2aa85c8eeec129ae8ec9b
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:13 2013 +0900
sheepdog: reload inode outside of resend_aioreq
This prepares for using resend_aioreq() after reconnecting to the
sheepdog server.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2412aec745066495f0c91dfcde9258382d7850e9
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:12 2013 +0900
sheepdog: handle vdi objects in resend_aio_req
The current resend_aio_req() doesn't work when the request is against
vdi objects. This fixes the problem.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 80731d9da560461bbdcda5ad4b05f4a8a846fccd
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:11 2013 +0900
sheepdog: check return values of qemu_co_recv/send correctly
If qemu_co_recv/send doesn't return the specified length, it means
that an error happened.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 321fd7d2b88defe11528e4d5a9f686c89ebee1ee
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Oct 29 19:18:54 2013 +0100
qemu-iotests: Test case for backing file deletion
Add a test case for trying to open an image file where it is impossible
to open its backing file (in this case, because it was deleted). When
doing this, qemu (or qemu-io in this case) should not crash but rather
print an appropriate error message.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 915365a9c622be52c87fcc1cc9d63fbc5cd75b6d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Oct 30 17:23:54 2013 +0800
qemu-iotests: drop duplicated "create_image"
There's a same common function in iotests.py
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a7cf03d4e150abec88f5837461242dc8a0eee189
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Oct 29 17:05:35 2013 +0100
qemu-iotests: Fix 051 reference output
Commit 684b254 forgot to update it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b94a2610573cd9314f244207c8b04cb75e42d7f8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Oct 29 12:18:58 2013 +0100
block: Avoid unecessary drv->bdrv_getlength() calls
The block layer generally keeps the size of an image cached in
bs->total_sectors so that it doesn't have to perform expensive
operations to get the size whenever it needs it.
This doesn't work however when using a backend that can change its size
without qemu being aware of it, i.e. passthrough of removable media like
CD-ROMs or floppy disks. For this reason, the caching is disabled when a
removable device is used.
It is obvious that checking whether the _guest_ device has removable
media isn't the right thing to do when we want to know whether the size
of the host backend can change. To make things worse, non-top-level
BlockDriverStates never have any device attached, which makes qemu
assume they are removable, so drv->bdrv_getlength() is always called on
the protocol layer. In the case of raw-posix, this causes unnecessary
lseek() system calls, which turned out to be rather expensive.
This patch completely changes the logic and disables bs->total_sectors
caching only for certain block driver types, for which a size change is
expected: host_cdrom and host_floppy on POSIX, host_device on win32; also
the raw format in case it sits on top of one of these protocols, but in
the common case the nested bdrv_getlength() call on the protocol driver
will use the cache again and avoid an expensive drv->bdrv_getlength()
call.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 87a5debd3161d24a7d4c685e3c0d8765b5d92a74
Author: Thibaut LAURENT <thibaut.laurent@xxxxxxxxx>
Date: Fri Oct 25 02:15:07 2013 +0200
block: Disable BDRV_O_COPY_ON_READ for the backing file
Since commit 0ebd24e0a203cf2852c310b59fbe050190dc6c8c,
bdrv_open_common will throw an error when trying to open a file
read-only with the BDRV_O_COPY_ON_READ flag set.
Although BDRV_O_RDWR is unset for the backing files,
BDRV_O_COPY_ON_READ is still passed on if copy-on-read was requested
for the drive. Let's unset this flag too before opening the backing
file, or bdrv_open_common will fail.
Signed-off-by: Thibaut LAURENT <thibaut.laurent@xxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8464b273d69c61e33c55347e5b6bc0659687bae2
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Oct 28 21:01:51 2013 +0200
ahci: fix win7 hang on boot
When AHCI executes an asynchronous IDE command, it checked DRDY without
checking either DRQ or BSY. This sometimes caused interrupt to be sent
before command is actually completed.
This resulted in a race condition: if guest then managed to access the
device before command has completed, it would hang waiting for an
interrupt.
This was observed with windows 7 guests.
To fix, check for DRQ or BSY in additiona to DRDY, if set,
the command is asynchronous so delay the interrupt until
asynchronous done callback is invoked.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1841f8801c8898fa57c66e27a08541ffcc6f3948
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Oct 23 16:51:52 2013 +0800
sheepdog: pass copy_policy in the request
Currently copy_policy isn't used. Recent sheepdog supports erasure
coding, which
make use of copy_policy internally, but require client explicitly passing
copy_policy from base inode to newly creately inode for snapshot related
operations.
If connected sheep daemon doesn't utilize copy_policy, passing it to sheep
daemon is just one extra null effect operation. So no compatibility
problem.
With this patch, sheepdog can provide erasure coded volume for QEMU VM.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Acked-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 29a67f7e9204a25bc4b6221f287ad0ae38d8cbdc
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Oct 23 16:51:51 2013 +0800
sheepdog: explicitly set copies as type uint8_t
'copies' is actually uint8_t since day one, but request headers and some
helper
functions parameterize it as uint32_t for unknown reasons and effectively
reserve 24 bytes for possible future use. This patch explicitly set the
correct
for copies and reserve the left bytes.
This is a preparation patch that allow passing copy_policy in request
header.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Acked-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 61ed2684539f7f31304e193d7c0e68d57ce6be88
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Oct 26 15:44:43 2013 +0200
block: Don't copy backing file name on error
bdrv_open_backing_file() tries to copy the backing file name using
pstrcpy directly after calling bdrv_open() to open the backing file
without checking whether that was actually successful. If it was not,
ps->backing_hd->file will probably be NULL and qemu will crash.
Fix this by moving pstrcpy after checking whether bdrv_open() succeeded.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d1f3a23bfac4fe38056ab5e07186939b7be8852b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jun 27 13:50:05 2013 +0200
tests: Multiboot mmap test case
This adds a test case for Multiboot memory map in the tests/multiboot
directory, where future i386 test kernels can be dropped. Because this
requires an x86 build host and an installed 32 bit libgcc, the test is
not part of a regular 'make check'.
The reference output for the test is verified against test runs of the
same multiboot kernel booted by some GRUB 0.97.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d7b7e580096255c766f7b1e7502a9151b95091e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 22 14:26:25 2013 +0200
ide-test: Check what happens with bus mastering disabled
The main goal is that qemu doesn't crash.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e85d9db5f6f86299688a0acd2796ac1ccc96610c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 22 14:30:23 2013 +0200
exec: Fix bounce buffer allocation in address_space_map()
This fixes a regression introduced by commit e3127ae0c, which kept the
allocation size of the bounce buffer limited to one page in order to
avoid unbounded allocations (as explained in the commit message of
6d16c2f88), but broke the reporting of the shortened bounce buffer to
the caller. The caller therefore assumes that the full requested size
was provided and causes memory corruption when writing beyond the end of
the actually allocated buffer.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ba2ab2f2ca4150a7e314fbb19fa158bd8ddc36eb
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 24 20:35:06 2013 +0200
qcow2: Flush image after creation
Opening the qcow2 image with BDRV_O_NO_FLUSH prevents any flushes during
the image creation. This means that the image has not yet been flushed
to disk when qemu-img create exits. This flush is delayed until the next
operation on the image involving opening it without BDRV_O_NO_FLUSH and
closing (or directly flushing) it. For large images and/or images with a
small cluster size and preallocated metadata, this flush may take a
significant amount of time and may occur unexpectedly.
Reopening the image without BDRV_O_NO_FLUSH right before the end of
qcow2_create2() results in hoisting the potentially costly flush into
the image creation, which is expected to take some time (whereas
successive image operations may be not).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 203cea22a3d33ac86d170af74f8c655f119c8c62
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Tue Oct 22 10:26:28 2013 +0100
audio/mixeng_template.h: fix inline declaration
Fix error: â??inlineâ?? is not at beginning of declaration
[-Werror=old-style-declaration]
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 59b00962136f5621895bee7c96b2a1d9271b9dc5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Oct 11 21:34:33 2013 +0200
misc: Spelling and grammar fixes in comments
* it's -> its
* grammar fix in ui/vnc-enc-zywrle.h
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5f32804c79ba9554e62c9699db83ee34df8a46c1
Author: WengFan <wengfan-fnst@xxxxxxxxxxxxxx>
Date: Fri Oct 25 11:18:22 2013 -0400
docs/ccid.txt: fix the typo
Signed-off-by: WengFan <wengfan-fnst@xxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 63922c647730eba01865e05bf1e80dd7d682e287
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Sat Oct 19 17:52:33 2013 +0100
qapi: fix documentation example
The QMP wire format uses "", not '', around strings.
* docs/qapi-code-gen.txt: Fix typo.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit eb02dc0b118c87a366002e3a725ab3373e1738db
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 15 10:58:39 2013 +0800
.gitignore: ignore qmp-commands.txt
This file is moved out from QMP/ to BUILD dir, change the ignore file
too.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 73f395fa88d87ae14f38ad0aa7f863148d98eef2
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Oct 10 20:53:40 2013 +0200
misc: New spelling fixes in comments
compatiblity -> compatibility
continously -> continuously
existance -> existence
usefull -> useful
shoudl -> should
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2b170effc7a0bb27f019727e5be02cd989e54e7d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Oct 21 12:33:58 2013 +0400
configure: create fsdev/ directory
In some cases when building with parallelism (make -jN),
build fails because the directory where output files are
supposed to be does not exist. In particular, when make
decides to build virtfs-proxy-helper.1 before other files
in fsdev/, build will fail with the following error:
perl -Ww -- BUILDDIR/scripts/texi2pod.pl
BUILDDIR/fsdev/virtfs-proxy-helper.texi fsdev/virtfs-proxy-helper.pod &&
pod2man --utf8 --section=1 --center=" " --release=" "
fsdev/virtfs-proxy-helper.pod > fsdev/virtfs-proxy-helper.1
opening "fsdev/virtfs-proxy-helper.pod": No such file or directory
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3bbf37f2692652cc9d48030a9e7f34e2207429f6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Oct 15 18:33:37 2013 +0200
spapr: Use DeviceClass::fw_name for device tree CPU node
Instead of relying on cpu_model, obtain the device tree node label
per CPU. Use DeviceClass::fw_name as source.
Whenever DeviceClass::fw_name is unknown, default to "PowerPC,UNKNOWN".
As a consequence, spapr_fixup_cpu_dt() can operate on each CPU's fw_name,
obsoleting sPAPREnvironment::cpu_model, and spapr_create_fdt_skel() can
drop its cpu_model argument.
Signed-off-by: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 793826cd460828975591f289de78672af4a47ef9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Oct 15 18:33:36 2013 +0200
target-ppc: Fill in OpenFirmware names for some PowerPCCPU families
Set the expected values for POWER7, POWER7+, POWER8 and POWER5+.
Note that POWER5+ and POWER7+ are intentionally lacking the '+', so the
lack of a POWER7P family constitutes no problem.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e62fbc54d459d4cc8e91dc0938383a7f4c13768c
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:33 2013 +0530
target-ppc: dump-guest-memory support
This patch add support for dumping guest memory using dump-guest-memory
monitor command.
Before patch:
(qemu) dump-guest-memory testcrash
this feature or command is not currently supported
(qemu)
After patch:
(qemu) dump-guest-memory testcrash
(qemu)
crash was able to read the file
crash> bt
PID: 0 TASK: c000000000c0d0d0 CPU: 0 COMMAND: "swapper/0"
R0: 0000000028000084 R1: c000000000cafa50 R2: c000000000cb05b0
R3: 0000000000000000 R4: c000000000bc4cb0 R5: 0000000000000000
R6: 001efe93b8000000 R7: 0000000000000000 R8: 0000000000000000
R9: b000000000001032 R10: 0000000000000001 R11: 0001eb2117e00d55
....
...
NOTE: Currently crash tools doesn't look at ELF notes in the dump on
ppc64.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb6b684363e83586c90d20127b0d0a79793ab1e2
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:32 2013 +0530
dump-guest-memory: Check for the correct return value
We should check for error with s->note_size
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d83af16786ca672bea9a206490f801bec7a057eb
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:31 2013 +0530
target-ppc: Use #define for max slb entries
Instead of opencoding 64 use MAX_SLB_ENTRIES. We don't update the kernel
header here.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2f4d0f5990ede025720e41fa473029e9ca85e8b8
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:30 2013 +0530
target-ppc: Check for error on address translation in memsave command
When we translate the virtual address to physical check for error.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4b4d4a21b988f6d56e0792058aa0b968e19fda6b
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:28 2013 +0530
target-ppc: Update slb array with correct index values.
Without this, a value of rb=0 and rs=0 results in replacing the 0th
index. This can be observed when using gdb remote debugging support.
(gdb) x/10i do_fork
0xc000000000085330 <do_fork>: Cannot access memory at address
0xc000000000085330
(gdb)
This is because when we do the slb sync via kvm_cpu_synchronize_state,
we overwrite the slb entry (0th entry) for 0xc000000000085330
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5cc7a967e9de8c7b16c15aee4cb9f5bfcf0c5989
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:48 2013 +1000
spapr-pci: enable irqfd for INTx
This enables IRQFD for LSI (level triggered INTx interrupts) by adding
a spapr_route_intx_pin_to_irq() callback to the sPAPR PCI host bus. This
callback is called to know the global interrupt number to link resampling
fd
with IRQFD's fd in KVM.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9554233c9b8fe7d94dfa53db09ce3d186f2e8b9e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:47 2013 +1000
xics-kvm: enable irqfd for MSI
This enables IRQFD support for sPAPR. The feature decreases the latency
of interrupt handling.
To enable IRQFD for MSI, this sets kvm_gsi_direct_mapping to true which
enables direct MSI mapping.
To enable IRQFD for LSI (level triggered INTx interrupts), a PCI host bus
callback is required. The patch for that is coming next.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5d87e4b74a0100fbb7970edaa3449eb04b06f782
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:46 2013 +1000
xics: Implement H_XIRR_X
This implements H_XIRR_X hypercall in addition to H_XIRR as
it is mandatory for PAPR+ and there is no way for the guest to
detect whether it is supported or not so just add it.
As the Partition Adjunct Option is not supported at the moment,
the CPPR parameter of the hypercall is ignored.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 075edbe3bad4c22995ab472c507565b48c4e0985
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:45 2013 +1000
xics: Implement H_IPOLL
This adds support for the H_IPOLL hypercall which the guest
uses to poll for a pending interrupt. This hypercall is
mandatory for PAPR+ and there is no way for the guest to
detect whether it is supported or not so just add it.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 11ad93f68195f68cc94d988f2aa50b4d190ee52a
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:44 2013 +1000
xics-kvm: Support for in-kernel XICS interrupt controller
Recent (host) kernels support emulating the PAPR defined "XICS" interrupt
controller system within KVM. This patch allows qemu to initialize and
configure the in-kernel XICS, and keep its state in sync with qemu's XICS
state as necessary.
This should give considerable performance improvements. e.g. on a simple
IPI ping-pong test between hardware threads, using qemu XICS gives us
around 5,000 irqs/second, whereas the in-kernel XICS gives us around
70,000 irqs/s on the same hardware configuration.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>: fixed mistype which caused
ics_set_kvm_state() to fail]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5eb92ccc3f23f958c0d21bed7c22abe6c1f1adda
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:43 2013 +1000
xics: add cpu_setup callback
This adds a cpu_setup callback to the XICS device class (as XICS-KVM
will do it different), xics_cpu_setup() will call it if it is set.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5a3d7b23ba41b4884b43b6bc936ea18f999d5c6b
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:42 2013 +1000
xics: split to xics and xics-common
The upcoming XICS-KVM support will use bits of emulated XICS code.
So this introduces new level of hierarchy - "xics-common" class. Both
emulated XICS and XICS-KVM will inherit from it and override class
callbacks when required.
The new "xics-common" class implements:
1. replaces static "nr_irqs" and "nr_servers" properties with
the dynamic ones and adds callbacks to be executed when properties
are set.
2. xics_cpu_setup() callback renamed to xics_common_cpu_setup() as
it is a common part for both XICS'es
3. xics_reset() renamed to xics_common_reset() for the same reason.
The emulated XICS changes:
1. the part of xics_realize() which creates ICPs is moved to
the "nr_servers" property callback as realize() is too late to
create/initialize devices and instance_init() is too early to create
devices as the number of child devices comes via the "nr_servers"
property.
2. added ics_initfn() which does a little part of what xics_realize() did.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 456df19cf7fd7f6d9ce986a3fb8f7603df5c3b22
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:41 2013 +1000
xics: add missing const specifiers to TypeInfo
This adds missing const specifiers to ICS and ICP TypeInfo's.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b45ff2d942022d7ee139a153f17f638d87935e03
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:40 2013 +1000
xics: convert init() to realize()
This fixes XICS according new QOM rules.
This converts ICS's init() callbacks to realize().
This converts legacy qdev_init_nofail() to property_set(realized).
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d1b5682d88f72f8662ce6d20e07af3adfbf39ed0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:39 2013 +1000
xics: add pre_save/post_load dispatchers
The upcoming support of in-kernel XICS will redefine migration callbacks
for both ICS and ICP so classes and callback pointers are added.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9ccff2a4d604d31f01398190758072253dc3c188
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:38 2013 +1000
xics: replace fprintf with error_report
This replaces old-style fprintf with new style error_report.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 24408a7d2b459bed3697367b81ada76518ca96ef
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:37 2013 +1000
spapr: move cpu_setup after kvmppc_set_papr
This moves the xics_cpu_setup() call after kvmppc_set_papr()
in order to get VCPUs initialized as this is required by upcoming
XICS-KVM.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8ffe04ed2ed44b32f97575bc3cb7c29eefdd70da
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:36 2013 +1000
xics: move reset and cpu_setup
This simple change makes following patches nicer.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit feaa64c41f56b1b3111c31f652999799b28b9e12
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:35 2013 +1000
target-ppc: Add helper for KVM_PPC_RTAS_DEFINE_TOKEN
Recent PowerKVM allows the kernel to intercept some RTAS calls from the
guest directly. This is used to implement the more efficient in-kernel
XICS for example. qemu is still responsible for assigning the RTAS token
numbers however, and needs to tell the kernel which RTAS function name is
assigned to a given token value. This patch adds a convenience wrapper
for
the KVM_PPC_RTAS_DEFINE_TOKEN ioctl() which is used for this purpose.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4fe822e075d6befa3714f7066158678e92cedb8b
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Sep 27 18:10:18 2013 +1000
spapr-rtas: fix h_rtas parameters reading
On the real hardware, RTAS is called in real mode and therefore
top 4 bits of the address passed in the call are ignored.
So does the patch.
This converts h_rtas() to use existing rtas_ld() handlers.
This fixed rtas_ld()/rtas_st() to ignore top 4 bits.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dcb861cb883e9e6d236514a4d0b4def4db736d13
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Sep 27 18:11:51 2013 +1000
spapr: Add ibm, purr property on power7 and newer
PAPR+ says that no "ibm,purr" tells the guest that H_PURR is not
supported. However some guests still try calling H_PURR on POWER7 unless
the property is present and equal to 0. This adds the property for CPUs
supporting the PURR special register.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3bf6eedd4b6ee5cb7be53aa962583a24293d3441
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Sep 24 15:59:55 2013 +1000
spapr: increase temporary fdt buffer size
At the moment the size of the buffer is set to 64K which is
enough for approximately 150 VCPUs which is not the limit.
This increases the buffer up to 256K which allows having
a tree for approximately 600 VCPUs which is way beyond the real
number we need.
As only the real size of the tree is copied to the guest, there
will be no impact on existing configurations.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9633fcc6a02f23e3ef00aa5fe3fe9c41f57c3456
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Sep 25 15:41:12 2013 +0200
PPC: Fix L2CR write accesses
Commit 2345f1c01 was supposed to render L2CR writes into noops. Instead,
it made them illegal instruction traps which apparently didn't confuse
XNU, but can easily confuse other OSs.
Fix it up by actually doing nothing when we write to L2CR.
Reported-by: Julio Guerra <guerr@xxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Tested-by: Julio Guerra <guerr@xxxxxxxx>
commit bbfb6f132abc032229f5c1f25e6e959861c6f759
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Sep 25 17:42:46 2013 +1000
target-ppc: Little Endian Correction to Load/Store Vector Element
The Load Vector Element (lve*x) and Store Vector Element (stve*x)
instructions not only byte-swap in Little Endian mode, they also
invert the element that is accessed. For example, the RTL for
lvehx contains this:
eb <-- EA[60:63]
if Big-Endian byte ordering then
VRT[8*eb:8*eb+15] <-- MEM(EA,2)
else
VRT[112-(8*eb):127-(8*eb)] <-- MEM(EA,2)
This patch adds the element inversion, as described in the last line
of the RTL.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 04f1f7842e18c4b5e50203cc5b207cafb7c62974
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Sep 25 17:41:13 2013 +1000
ppc: Add CFAR, DAR and DSISR to the dictionary of printable registers
The CFAR, DAR and DSISR registers are currently missing from the
dictionary of registers that may be printed in the QEMU console.
These are interesting registers when debugging. With this patch,
the following commands work properly:
(qemu) print $cfar
(qemu) print $dar
(qemu) print $dsisr
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 16457e7f4a10125db06b84e5e843d9544552436e
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Sep 25 17:40:15 2013 +1000
pseries: Fix loading of little endian kernels
Try loading the kernel as little endian if it fails big endian.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09b04845a7b7ffba2fa0cd99a2329f6e8ffa9027
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Aug 27 13:42:47 2013 +1000
pseries: Update SLOF firmware image
This has reworked USB OHCI and adds support of USB EHCI,
VIRTIO-SCSI and various fixes (IBM VSCSI, VGA and more).
The full list of fixes is:
* usb-ohci: Convert td-phys every time to td-virt
* usb-storage: Fix cbwflags field
* Add -fno-strict-aliasing in global CFLAGS
* usb: fix various issues found with js2x
* Move hex64-{decode,encode}-unit to node.fs
* usb: Use separate in-memory endian swap
* usb-ohci: collect TDs from done list
* js2x: more fixes
* js2x: Fix build of takeover image
* js2x: use new usb stack
* usb-ohci: Use proper memory barriers always
* usb: Fix a couple of warnings
* Fix $cat-instance-unit
* Cache phandle of /chosen
* Use root.fs on qemu as well
* usb-ehci: Add ehci handshake
* usb: add mb for write accessors
* usb-ohci: add missing memory barriers
* usb-ohci: suspend the controller in exit code path
* usb-ohci: Add a reset when closing the OHCI
* usb: Use proper accessors for MMIO and separate in-memory endian swap
* Use a global definition of sync() and mb()
* net-snk: Remove exception handling
* usb: unmap buffers
* slof: call quiesce on closing of stdin
* usb-kbd: accept "s" to drop to OF prompt
* USB storage driver
* usb-ohci: add Bulk transfer support
* usb-ehci: Add bulk support
* usb-core: add usb bulk support
* USB generic hub device driver
* usb-ehci: setup new device
* usb-ehci: Check ehci ports
* usb-ehci: initialize controller
* USB keyboard driver
* usb-core: setup new device
* usb-core: create dev pool allocation
* usb-ohci: implement ohci send control
* usb-core: usb send control
* usb-core: implement usb_{get,put}_pipe routines
* usb-ohci: allocate pipe pool
* usb-ohci: reset, init and check-ports
* Add standard header stdbool.h
* usb-slof: forth support routines for C
* usb-ehci: Add USB EHCI skeleton
* usb-core: Add register accessor functions
* Use __builtin_bswap routines for endianness swapping
* usb-core: hcd registration and query routines
* usb-core: adding generic dev-hci.fs
* usb-core: registration and makefiles
* Add new USB code
* Remove old usb code
* vga: fix hcall-invert-screen and hcall-blink-screen
* Enumerate disk/cdrom aliases for multiple disks or cdroms
* scsi: unify scsi probing code
* vscsi: generalizing probe code
* virtio-scsi: iterate through targets
* scsi: unify and use make-disk-alias
* nvram: remove unnecessary prints
* Add hack to client interface finddevice of "/memory"
* scsi: Fix cdrom boot crash when no medium present
* Look for /memory@0, not just /memory
* Fix instance>qname crashing when displaying instance arguments
* Fix js2x build
* scsi-disk: Bound check read-blocks
* Fix off by one error in scsi-disk get-capacity
* scsi: fix report-luns handling
* SLOF: virtio-scsi block driver code
* scsi: Move bits of vio-vscsi.fs to a common helpers file
* scsi: Move scsi-disk.fs to a generic place
* SLOF: virtio-scsi helper routines
* SLOF: virtio-scsi - add pci device file
* iso9660: Don't constantly reallocate the read buffer
* vscsi: Sanitize interface between scsi-disk.fs and vio-vscsi.fs
* vio-vscsi: Rework vio-vscsi support
* virtio: Add a virtio-set-qaddr helper
* disk-label: Allocate 4096 bytes for 4k block devices
* disk-label: Increase the max size of the PReP boot partition
* Make load-base a real environment variable
* vio-vscsi: Switch to using a wildcard "disk" node and make scsi-disk
generic
* Fix disk-label package to use proper instance path
* Increase size of catpad
* Fix instance>path to contain unit address for wildcard nodes
* Fix handling of wildcard nodes in open-dev
* vio-vscsi: Get CRQ on open and release on close
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab6f2bbb2871db8a7ed2457328e864cdf2e2fc82
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 24 20:24:43 2013 +0200
qemu-iotests: Test for loading VM state from qcow2
Add a test for saving a VM state from a qcow2 image and loading it back
(with having restarted qemu in between); this should work without any
problems.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ec426ff808cd421036f81ab34c0d5884743982aa
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Sun May 5 11:06:37 2013 +0200
hw/microblaze: Add support for loading initrd images
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit d0b022a0e9dcf574d56243f6039d675ba80dba16
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Sun May 5 10:52:41 2013 +0200
hw/microblaze: Indentation cleanups
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 11a7621763e7c91fef5169942a90e30bfd66a837
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Wed Oct 23 16:54:31 2013 +0200
microblaze: At swx, check that the reserved word is unmodified
This improves the reservation check for system emulation, making
it possible to catch stores that modify reserved word.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 4a536270454cc6e59960857a4e4a7c1ebb7fdd4b
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Wed Oct 23 16:44:08 2013 +0200
microblaze: Turn res_addr into a tcg global
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 536446e914caa8702053efb506b4f4d92128d7e6
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Wed Oct 23 13:58:08 2013 +0200
microblaze: Move the saving of the reservation addr into gen_load
No functional change.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 09b9f113ad9e2bad57b41f6c67228353972ad1af
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 19:18:28 2013 +0200
microblaze: Improve src
Microblaze carry is mirrored in MSR[31], pick it directly from
there. Also, no need to mask cpu_R[dc->ra] when calling
write_carry.
15% improvement in linux-user src loops.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit bb3cb951ef530da7d248051347c974e4d20e6ea0
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 19:03:44 2013 +0200
microblaze: Improve srl
write_carry only looks at bit zero, no need to mask out the others.
Meassured a 12% speed improvement in linux-user srl loops.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a235900e225d21237a13333eaff40198974bc861
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 18:49:46 2013 +0200
microblaze: Simplify andn by using tcg_gen_andc
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 65ab5eb4ede9859b83a35c24c0d36936e62e76a2
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 12:49:05 2013 +0200
microblaze: Make write_carryi input a boolean
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 04ec7df7085b71894f18668c5164370547eb2e76
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 22:31:22 2013 +0200
microblaze: Clarify expected input of write_carry
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit fb8fe35f63a56170cf1bf92b1991d0056385b901
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 09:16:03 2013 +0200
block/vpc: check that the image has not been truncated
this adds a check that a dynamic VHD file has not been
accidently truncated (e.g. during transfer or upload).
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fefddf951b6dfe51c28d41f86669bfffb68c7a15
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 08:53:34 2013 +0200
qemu-img: add special exit code if bdrv_check is not supported
currently it is not possible to distinguish by exitcode if there
has been an error or if bdrv_check is not supported by the image
format. Change the exitcode from 1 to 63 for the latter case.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6e13610aa454beba52944e8df6d93158d68ab911
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sun Oct 20 21:52:35 2013 +0200
qcow2: Unset zero_beyond_eof in save_vmstate
Saving the VM state is done using bdrv_pwrite. This function may perform
a read-modify-write, which in this case results in data being read from
beyond the end of the virtual disk. Since we are actually trying to
access an area which is not a part of the virtual disk, zero_beyond_eof
has to be set to false before performing the partial write, otherwise
the VM state may become corrupted.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit eedff66f21e542650d895801549ce05ac108278b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sun Oct 20 20:28:20 2013 +0200
qcow2: Restore total_sectors value in save_vmstate
Since df2a6f29a5, bdrv_co_do_writev increases the total_sectors value of
a growable block devices on writes after the current end. This leads to
the virtual disk apparently growing in qcow2_save_vmstate, which in turn
affects the disk size captured by the internal snapshot taken directly
afterwards through e.g. the HMP savevm command. Such a "grown" snapshot
cannot be loaded after reopening the qcow2 image, since its disk size
differs from the actual virtual disk size (writing a VM state does not
actually increase the virtual disk size).
Fix this by restoring total_sectors at the end of qcow2_save_vmstate.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b4350deed67b95651896ddb60cf9f765093a4848
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Oct 9 21:33:44 2013 +0200
audio: honor QEMU_AUDIO_TIMER_PERIOD instead of waking up every *nano*
second
Now that we no longer have MIN_REARM_TIMER_NS a bug in the audio subsys
has
clearly shown it self by trying to make a timer fire every nano second.
Note we have a similar problem in 1.6, 1.5 and older but there
MIN_REARM_TIMER_NS limits the wakeups caused by audio being active to
4000 times / second. This still causes a host cpu load of 50 % for simply
playing audio, where as with this patch git master is at 13%, so we should
backport this to 1.5 and 1.6 too.
Note this will not apply to 1.5 and 1.6 as is.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c90daa1c109348099088c1cc954c1e9f3392ae03
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:12 2013 +0200
usb-hcd-xhci: Update endpoint context dequeue pointer for streams too
With streams the endpoint context dequeue pointer should point to the
dequeue value for the currently active stream.
At least Linux guests expect it to point to value set by an set_ep_dequeue
upon completion of the set_ep_dequeue (before kicking the ep).
Otherwise the Linux kernel will complain (and things won't work):
xhci_hcd 0000:00:05.0: Mismatch between completed Set TR Deq Ptr command
& xHCI internal state.
xhci_hcd 0000:00:05.0: ep deq seg = ffff8800366f0880, deq ptr =
ffff8800366ec010
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 582d6f4aba0ff24604a82b48aee2db17b100d4b4
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:11 2013 +0200
usb-hcd-xhci: Report completion of active transfer with CC_STOPPED on ep
stop
As we should per the XHCI spec "4.6.9 Stop Endpoint".
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8de1838afed4b5b05d18cc42a3e5a6fe9b19f29b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:10 2013 +0200
usb-hcd-xhci: Remove unused cancelled member from XHCITransfer
Since qemu's USB model is geared towards emulated devices cancellation
is instanteneous, so no need to wait for cancellation to complete, as
such there is no wait for cancellation code, and the cancelled bool
as well as the bogus comment about it can be removed.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 946ff2c0c353e4bf493f6ff2bcc308adddee4a4c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:09 2013 +0200
usb-hcd-xhci: Remove unused sstreamsm member from XHCIStreamContext
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f34d5c750897abb3853910ce73f63d88d74dc827
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:08 2013 +0200
usb-host-libusb: Detach kernel drivers earlier
If we detach the kernel drivers on the first set_config, then they will
be still attached when the device gets its initial reset. Causing the
drivers
to re-initialize the device after the reset, dirtying the device state.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1294ca797c6bee39d4dbc3e92010873ce4047e0e
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:07 2013 +0200
usb-host-libusb: Configuration 0 may be a valid configuration
Quoting from: linux/Documentation/ABI/stable/sysfs-bus-usb:
Note that some devices, in violation of the USB spec, have a
configuration with a value equal to 0. Writing 0 to
bConfigurationValue for these devices will install that
configuration, rather then unconfigure the device.
So don't compare the configuration value against 0 to check for
unconfigured
devices, instead check for a LIBUSB_ERROR_NOT_FOUND return from
libusb_get_active_config_descriptor().
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5af35d7feccaa7d26b72c6c3d14116421d736b36
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:06 2013 +0200
usb-host-libusb: Fix reset handling
The guest will issue an initial device reset when the device is attached,
but
since the current usb-host-libusb code only actually does the reset when
udev->configuration != 0, and on attach the device is not yet configured,
the reset gets ignored. This means that the device gets passed to the
guest
in an unknown state, which is not good.
The udev->configuration check is there because of the release / claim
interfaces done around the libusb_device_reset call, but these are not
necessary. If interfaces are claimed when libusb_device_reset gets called
libusb will release + reclaim them itself.
The usb_host_ep_update call also is not necessary. If the reset succeeds
the
original config and interface alt settings will be restored.
Last if the reset fails, that means the device has either disconnected or
morphed into an another device and has been completely re-enumerated,
so it is treated by the host as a new device and our handle is invalid,
so on reset failure we need to call usb_host_nodev().
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc94712b9ec93d1301eea1fb8f1b08589c7e242e
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Sat Oct 19 17:52:33 2013 +0100
qapi: fix documentation example
The QMP wire format uses "", not '', around strings.
* docs/qapi-code-gen.txt: Fix typo.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c20b7fa4b2fedd979bcb0cc974bb5d08a10e3448
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 16 19:17:08 2013 +0200
monitor: eliminate monitor_event_state_lock
This lock does not protect anything that the BQL does not already
protect. Furthermore, with -nodefaults and no monitor, the mutex
is not initialized but monitor_protocol_event_queue is called
anyway, which causes a crash under mingw (and only works by luck.
under Linux or other POSIX OSes).
Reported-by: Orx Goshen <orx.goshen@xxxxxxxxx>
Cc: Daniel Berrange <berrange@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fc8ead74674b7129e8f31c2595c76658e5622197
Merge: 3551643 7174e54
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:03:24 2013 -0700
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Paolo Bonzini (2) and Jan Kiszka (1)
# Via Gleb Natapov
* qemu-kvm/uq/master:
kvmvapic: Prevent reading beyond the end of guest RAM
x86: cpuid: reconstruct leaf 0Dh data
x86: fix migration from pre-version 12
Message-id: 1382108641-4862-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3551643eb7198398017829a7d26646de1710b0b6
Merge: 1da9772 23c37c3
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:02:48 2013 -0700
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong
# Via Stefan Hajnoczi
* stefanha/net:
net/rtl8139: update network information when macaddr is changed in guest
net/e1000: update network information when macaddr is changed in guest
net: update nic info during device reset
Message-id: 1382103314-21608-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1da9772d83576cef463b88adb7c390f978ef4ea3
Merge: 9896449 dbbcaa8
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:02:14 2013 -0700
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (3) and others
# Via Stefan Hajnoczi
* stefanha/block:
vmdk: fix VMFS extent parsing
vmdk: Only read cid from image file when opening
virtio: Remove unneeded memcpy
block/raw-win32: Always use -errno in hdev_open
blockdev: fix cdrom read_only flag
sd: Avoid access to NULL BlockDriverState
hmp: drop bogus "[not inserted]"
Message-id: 1382105915-27735-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 989644915c281ac83f06f65923d716272ede1ed8
Merge: 1cb9b64 041603f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:49 2013 -0700
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (10) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
exec: remove qemu_safe_ram_ptr
icount: make it thread-safe
icount: document (future) locking rules for icount
icount: prepare the code for future races in calling qemu_clock_warp
icount: reorganize icount_warp_rt
icount: use cpu_get_icount() directly
timer: add timer_mod_anticipate and timer_mod_anticipate_ns
timer: extract timer_mod_ns_locked and timerlist_rearm
timer: make qemu_clock_enable sync between disable and timer's cb
qemu-thread: add QemuEvent
timer: protect timers_state's clock with seqlock
seqlock: introduce read-write seqlock
vga: Mark relevant portio lists regions as coalesced MMIO flushing
cirrus: Mark vga io region as coalesced MMIO flushing
portio: Allow to mark portio lists as coalesced MMIO flushing
compatfd: switch to QemuThread
memory: fix 128 arithmetic in info mtree
Message-id: 1382024935-28297-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1cb9b64df380f232bcd142ab27c085cff0add1d8
Merge: c21611a 2324841
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:37 2013 -0700
Merge remote-tracking branch 'bonzini/configure' into staging
# By Peter Maydell (3) and �kos Kovács (2)
# Via Paolo Bonzini
* bonzini/configure:
ui/Makefile.objs: delete unnecessary cocoa.o dependency
default-configs/: CONFIG_GDBSTUB_XML removed
Makefile.target: CONFIG_NO_* variables removed
rules.mak: New string testing functions
rules.mak: New logical functions for handling y/n values
commit c21611ab8d0d6e0b3f3e5483777b5c929fb5a96c
Merge: cd22e32 9fa0328
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:21 2013 -0700
Merge remote-tracking branch 'spice/spice.v75' into staging
# By Gerd Hoffmann (2) and others
# Via Gerd Hoffmann
* spice/spice.v75:
spice: fix multihead support
spice-display: add display channel id to the debug messages.
Fix VNC SASL authentication when using a QXL device
spice: replace use of deprecated API
Message-id: 1382006760-19388-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd22e320a01b790d158d915a45d930f9d0a4bc91
Merge: 1680d48 ca529f8
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:08 2013 -0700
Merge remote-tracking branch 'filippov/tags/20131015-xtensa' into staging
xtensa queue 2013-10-15
# gpg: Signature made Tue 15 Oct 2013 06:27:41 AM PDT using RSA key ID
F83FA044
# gpg: Can't check signature: public key not found
# By Max Filippov
# Via Max Filippov
* filippov/tags/20131015-xtensa:
target-xtensa: add in_asm logging
Message-id: 1381844297-1728-1-git-send-email-jcmvbkbc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbbcaa8d4358fdf3c42bf01e9e2d687300e84770
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 18 15:07:33 2013 +0800
vmdk: fix VMFS extent parsing
The VMFS extent line in description file doesn't have start offset as
FLAT lines does, and it should be defaulted to 0. The flat_offset
variable is initialized to -1, so we need to set it in this case.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c338b6ad609699cf352c8dd6338360b7e3895ad0
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 18 13:17:19 2013 +0800
vmdk: Only read cid from image file when opening
Previously cid of parent is parsed from image file for every IO request.
We already have L1/L2 cache and don't have assumption that parent image
can be updated behind us, so remove this to get more efficiency.
The parent CID is checked only for once after opening.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 23c37c37f0280761072c23bf67d3a4f3c0ff25aa
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Oct 17 15:02:50 2013 +0800
net/rtl8139: update network information when macaddr is changed in guest
rtl8139 has same problem as e1000, nic info isn't updated when macaddr
is changed in guest.
This patch updates the nic info when the last bit of macaddr is written.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7c36507c2b8776266f50c5e2739bd18279953b93
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Oct 17 15:02:49 2013 +0800
net/e1000: update network information when macaddr is changed in guest
If we change macaddr in guest by 'ifconfig eth0 hw ether
12:12:12:34:35:36',
the mac register of e1000 is already updated, but we don't update
network information in qemu. Therefor, the information in monitor
is wrong.
This patch updates nic info when the second part of macaddr is written.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 655d3b63b036b70714adbdae685055f1bda0f8f1
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Oct 17 16:38:34 2013 +0800
net: update nic info during device reset
macaddr is reset during device reset, but nic info
isn't updated, this problem exists in e1000 & rtl8139
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b432779a9fe9c2a1bb8cbd98feb341af6e32f892
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Oct 17 21:23:26 2013 +0200
virtio: Remove unneeded memcpy
Report from valgrind:
==19521== Source and destination overlap in memcpy(0x31d38938,
0x31d38938, 64)
==19521== at 0x4A0A343: memcpy@@GLIBC_2.14 (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==19521== by 0x42774E: virtio_blk_device_init (virtio-blk.c:686)
==19521== by 0x46EE9E: virtio_device_init (virtio.c:1158)
==19521== by 0x25405E: device_realize (qdev.c:178)
==19521== by 0x2559B5: device_set_realized (qdev.c:699)
==19521== by 0x3A819B: property_set_bool (object.c:1315)
==19521== by 0x3A6CE0: object_property_set (object.c:803)
Valgrind is right: blk == &s->blks, so it is a memcpy of 64 byte with
source == destination which can be removed.
Reported-by: Dave Airlie <airlied@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 041603fe5d4537cd165941f96bd76a31f7f662fd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 9 17:49:45 2013 +0200
exec: remove qemu_safe_ram_ptr
This is not needed since the RAM list is not modified anymore by
qemu_get_ram_ptr. Replace it with qemu_get_ram_block.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 17a15f1b768fe2aab8c5f360b05c0daddf0c438b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 3 15:17:25 2013 +0200
icount: make it thread-safe
This lets threads other than the I/O thread use vm_clock even in -icount
mode.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a3270e19ccf05603dfaf09e1f18510f7c93095e0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:18:15 2013 +0200
icount: document (future) locking rules for icount
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ce78d18ced118b03e821135e702ba1d513c8b2a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:30:02 2013 +0200
icount: prepare the code for future races in calling qemu_clock_warp
Computing the deadline of all vm_clocks is somewhat expensive and calls
out to qemu-timer.c; two reasons not to do it in the seqlock's write-side
critical section. This however opens the door for races in setting and
reading vm_clock_warp_start.
To plug them, we need to cover the case where a new deadline slips in
between the call to qemu_clock_deadline_ns_all and the actual modification
of the icount_warp_timer. Restrict changes to vm_clock_warp_start and
the icount_warp_timer's expiration time, to only move them back (which
would simply cause an early wakeup).
If a vm_clock timer is cancelled while CPUs are idle, this might cause the
icount_warp_timer to fire unnecessarily. This is not a problem, after it
fires the timer becomes inactive and the next call to timer_mod_anticipate
will be precise.
In addition to this, we must deactivate the icount_warp_timer _before_
checking whether CPUs are idle. This way, if the "last" CPU becomes idle
during the call to timer_del we will still set up the icount_warp_timer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8ed961d95708ee6cadac22fba7762724d533a5b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:26:07 2013 +0200
icount: reorganize icount_warp_rt
To prepare for future code changes, move the increment of qemu_icount_bias
outside the "if" statement.
Also, hoist outside the if the check for timers that expired due to the
"warping". The check is redundant when !runstate_is_running(), but
doing it this way helps because the code that increments qemu_icount_bias
will be a critical section.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 468cc7cf3b85dd20a833773e6bde9f720f2df677
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:21:51 2013 +0200
icount: use cpu_get_icount() directly
This will help later when we will have to place these calls in
a critical section, and thus call a version of cpu_get_icount()
that does not take the lock.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit add40e9777de139fb317ca6b1fb0dc142601cfcd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 3 15:11:43 2013 +0200
timer: add timer_mod_anticipate and timer_mod_anticipate_ns
These let a user anticipate the deadline of a timer, atomically with
other sites that call the function. This helps avoiding complicated
lock hierarchies.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0f809e5fbebb36788aea3523be7f93c04f2c7f8c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 3 15:06:39 2013 +0200
timer: extract timer_mod_ns_locked and timerlist_rearm
These will be reused in timer_mod_anticipate functions.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3c05341157f4d08dc3cc8ffa675a0aaa4818d028
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Wed Sep 25 14:21:00 2013 +0800
timer: make qemu_clock_enable sync between disable and timer's cb
After disabling the QemuClock, we should make sure that no QemuTimers
are still in flight. To implement that with light overhead, we resort
to QemuEvent. The caller of disabling will wait on QemuEvent of each
timerlist.
Note, qemu_clock_enable(foo,false) can _not_ be called from timer's cb.
Also, the callers of qemu_clock_enable() should be protected by the BQL.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c7c4d063f50f0de980d99f02e055722227d703bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 25 14:20:59 2013 +0800
qemu-thread: add QemuEvent
This emulates Win32 manual-reset events using futexes or conditional
variables. Typical ways to use them are with multi-producer,
single-consumer data structures, to test for a complex condition whose
elements come from different threads:
for (;;) {
qemu_event_reset(ev);
... test complex condition ...
if (condition is true) {
break;
}
qemu_event_wait(ev);
}
Or more efficiently (but with some duplication):
... evaluate condition ...
while (!condition) {
qemu_event_reset(ev);
... evaluate condition ...
if (!condition) {
qemu_event_wait(ev);
... evaluate condition ...
}
}
QemuEvent provides a very fast userspace path in the common case when
no other thread is waiting, or the event is not changing state.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb365646a942ed58aae053064b2048a415337ba2
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Wed Sep 25 14:20:58 2013 +0800
timer: protect timers_state's clock with seqlock
QEMU_CLOCK_VIRTUAL may be read outside BQL. This will make its
foundation, i.e. cpu_clock_offset exposed to race condition.
Using private lock to protect it.
After this patch, reading QEMU_CLOCK_VIRTUAL is thread safe
unless use_icount is true, in which case the existing callers
still rely on the BQL.
Lock rule: private lock innermost, ie BQL->"this lock"
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ea753d81e8b085d679f13e4a6023e003e9854d51
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 25 14:20:57 2013 +0800
seqlock: introduce read-write seqlock
Seqlock implementation for QEMU. Usage idiom
reader:
do {
start = seqlock_read_begin(&sl);
...
} while (seqlock_read_retry(&sl, start));
writer:
seqlock_write_lock(&sl);
...
seqlock_write_unlock(&sl);
initialization:
seqlock_init(QemuSeqLock *sl, QemuMutex *mutex)
mutex could be NULL if the caller will provide its own protection
for concurrent write sides (typically using the BQL).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c46860ea53854a96b11af0d6e23b623ce199e95e
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 21:37:40 2013 +0200
vga: Mark relevant portio lists regions as coalesced MMIO flushing
This allows to remove the explicit qemu_flush_coalesced_mmio_buffer
calls.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eb25a1d9d4e88f4dd41702e35199ce4bbd7d1cee
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 21:19:02 2013 +0200
cirrus: Mark vga io region as coalesced MMIO flushing
This allows to remove the explicit qemu_flush_coalesced_mmio_buffer
calls - the memory core will invoke them now.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c76bc480e2d70762d02373678942c98fb193b9e5
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 20:22:37 2013 +0200
portio: Allow to mark portio lists as coalesced MMIO flushing
This will enable us to remove all remaining explicit calls of
qemu_flush_coalesced_mmio_buffer in IO handlers.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 518420dfec2f082cfecbc6eec79fcc91388cf751
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Thu May 2 10:21:18 2013 +0200
compatfd: switch to QemuThread
qemu_thread_create already does signal blocking and detaching for us.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a66670c79c5c7d530d818430ffcdaa25cbf2c2ab
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Aug 30 18:10:38 2013 +1000
memory: fix 128 arithmetic in info mtree
mtree_print_mr() calls int128_get64() in 3 places but only 2 places
handle 2^64 correctly.
This fixes the third call of int128_get64().
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 45d57f6e718e44e55780bcf1d09fa140dce7ec08
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 14:30:16 2013 +0200
block/raw-win32: Always use -errno in hdev_open
On one occasion, hdev_open() returned -1 in case of an unknown error
instead of a proper -errno value. Adjust this to match the behavior of
raw_open() (in raw-win32), which is to return -EINVAL in this case.
Also, change the call to error_setg*() to match the one in raw_open() as
well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0624c7f916b4d97f17726d9b295d6a6b0dc5076d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Oct 10 10:30:27 2013 +0200
e820: pass high memory too.
We have a fw_cfg entry to pass e820 entries from qemu to the firmware.
Today it's used to pass reservations only. This patch makes qemu pass
entries for RAM too.
This allows to pass RAM sizes larger than 1TB to the firmware and it
will also allow to pass non-contignous memory ramges should we decide
to implement that some day, say for our virtual numa nodes.
Obviously this needs some extra care to not break existing firware.
SeaBIOS loads the entries and happily adds them without looking at the
type. Which is problematic for memory below 4g as this will overwrite
reservations added for bios memory etc. For memory above 4g it works
just fine, seabios will merge the entry derived from cmos with the one
loaded from fw_cfg.
OVMF doesn't look at the fw_cfg e820 table.
coreboot doesn't look at the fw_cfg e820 table.
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-By: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 9fa032866daae68357d99abc725c18fe9ed4b61b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Oct 11 22:39:59 2013 +0200
spice: fix multihead support
This patch fixes spice display initialization to handle
multihead properly.
spice-core now keeps track of which QemuConsole has a spice
display channel attached to it and which has not. It also
manages display channel ids.
spice-display looks at all QemuConsoles and will pick up any
graphic console not yet bound to a spice channel (which in practice
are all non-qxl graphic devices).
Result is that
(a) you'll get a spice client window for each graphical device
now (first only without this patch), and
(b) mixing qxl and non-qxl vga cards works properly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 35b2122db446a03be9b88f540e865930efd01d6a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Oct 17 12:11:43 2013 +0200
spice-display: add display channel id to the debug messages.
And s/__FUNCTION__/__func__/ while being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 764eb39d1b6f614e9734ea3ed1b7dcf6c3aaa260
Author: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Date: Wed Oct 16 17:52:33 2013 +0200
Fix VNC SASL authentication when using a QXL device
ui/vnc.c:vnc_display_open() and spice-server/server/reds.c:do_spice_init()
are both calling sasl_server_init(). If spice_server_set_sasl_appname()
hasn't been called, spice-server will call it with "spice" as an appname,
causing cyrus-sasl to try to use a /etc/sasl2/spice.conf config file
rather
than the /etc/sasl2/qemu.conf file that QEMU uses.
When using -spice sasl on the command line, QEMU properly calls
spice_server_set_sasl_appname() to set the SASL appname as "qemu",
but when using a QXL device without using SPICE, spice_server_init()
is called from qemu_spice_add_interface() without setting the appname
to "qemu", which then causes the VNC code to try to use spice.conf
instead of qemu.conf.
Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 26defe81f6a878f33e0aaeb1df4d0d7022c929ca
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Fri Oct 4 13:10:46 2013 +0200
spice: replace use of deprecated API
hose API are deprecated since 0.11, and qemu depends on 0.12 already.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a7fdbcf0e6e52d935ebff6d849fe4b5473e5860d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 15 17:45:50 2013 +0800
blockdev: fix cdrom read_only flag
Since 0ebd24e0, cdrom doesn't have read-only on by default, which will
error out when using an read only image. Fix it by setting the default
value when parsing opts.
Reported-by: Edivaldo de Araujo Pereira <edivaldoapereira@xxxxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 794cbc26eb94ce13c75d105eea9ff0afff56e2c2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 16 15:24:01 2013 +0200
sd: Avoid access to NULL BlockDriverState
Commit 4f8a066b5fc254eeaabbbde56ba4f5b29cc68fdf (blockdev: Remove IF_*
check for read-only blockdev_init) added a usage of bdrv_is_read_only()
to sd_init(), which is called for versatilepb, versatileab and
xilinx-zynq-a9 machines among others with NULL argument by default,
causing the new qom-test to fail.
Add a check to prevent this.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 684b25447c10b9171e5aa9305075b830885fe6e3
Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Date: Wed Oct 16 23:16:01 2013 -0400
hmp: drop bogus "[not inserted]"
Commit 3e9fab690d59ac15956c3733fe0794ce1ae4c4af ("block: Add support for
throttling burst max in QMP and the command line.") introduced bogus
"[not inserted]" output, possibly due to a merge failure. Remove this
artifact.
Output of 'info block'
scsi0-hd0: /images/f18-ppc64.qcow2 (qcow2)
[not inserted]
scsi0-cd2: [not inserted]
Removable device: not locked, tray closed
floppy0: [not inserted]
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
There will be no additional lines between scsi0-hd0 and
scsi0-cd2.
At the same time, scsi0-hd0 already inserted, but still has
'[not inserted]' flag. This line should be removed.
This patch is to solve this.
Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2324841c0275f31505168e7a6ceb71bcede92d33
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Oct 10 19:26:09 2013 +0800
ui/Makefile.objs: delete unnecessary cocoa.o dependency
Delete an unnecessary dependency for cocoa.o; we already have
a general rule that tells Make that we can build a .o file
from a .m source using an ObjC compiler, so this specific
rule is unnecessary. Further, it is using the dubious construct
"$(SRC_PATH)/$(obj)" to get at the source directory, which will
break when $(obj) is redefined as part of the preparation for
per-object library support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b77abd95a9484ca5ffd7fb4cda25155bb8677bfb
Author: �kos Kovács <akoskovacs@xxxxxxx>
Date: Fri Sep 13 18:25:54 2013 +0100
default-configs/: CONFIG_GDBSTUB_XML removed
Makefile.target: Build gdbstub-xml.o only when
TARGET_XML_FILES is not empty.
Signed-off-by: �kos Kovács <akoskovacs@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cf01ba9eef81d828c8292eacab70c67c81ca4501
Author: �kos Kovács <akoskovacs@xxxxxxx>
Date: Fri Sep 13 18:25:53 2013 +0100
Makefile.target: CONFIG_NO_* variables removed
CONFIG_NO_* variables replaced with the lnot logical function
Signed-off-by: �kos Kovács <akoskovacs@xxxxxxx>
[PMM: fixed a few CONFIG_NO_* uses that were missed]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9ef622e31e7168a9a2c80f95d245c2ad156e3fa7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Sep 13 18:25:52 2013 +0100
rules.mak: New string testing functions
Add new string testing functions which return a y/n result:
eq : are two strings equal (ignoring leading/trailing space)?
ne : are two strings unequal?
isempty : is a string empty?
notempty : is a string non-empty?
Based on an idea by �kos Kovács <akoskovacs@xxxxxxx>.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 837a2e267f9c01cd9204d5b701712d6d26a5220e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Sep 13 18:25:51 2013 +0100
rules.mak: New logical functions for handling y/n values
Add new logical functions for handling y/n values like those we
use in CONFIG_FOO variables:
lnot : logical NOT
land : logical AND
lor : logical OR
lxor : logical XOR
leqv : logical equality, inverse of lxor
lif : like Make's $(if) but with an eq-like test
Based on an idea by �kos Kovács <akoskovacs@xxxxxxx>.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ca529f8e13557cc2feb2eee3872d422712d9bcb0
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sat Aug 17 12:30:57 2013 +0400
target-xtensa: add in_asm logging
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 1680d485777ecf436d724631ea8722cc0c66990e
Merge: ded77da f8da40a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Oct 14 09:59:59 2013 -0700
Merge remote-tracking branch 'rth/tcg-ldst-6' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-ldst-6:
target-alpha: Convert to new ldst opcodes
tcg-ppc64: Support new ldst opcodes
tcg-ppc: Support new ldst opcodes
tcg-ppc64: Convert to le/be ldst helpers
tcg-ppc: Convert to le/be ldst helpers
tcg-ppc64: Use TCGMemOp within qemu_ldst routines
tcg-ppc: Use TCGMemOp within qemu_ldst routines
tcg-arm: Improve GUEST_BASE qemu_ld/st
tcg-arm: Convert to new ldst opcodes
tcg-arm: Tidy variable naming convention in qemu_ld/st
tcg-arm: Convert to le/be ldst helpers
tcg-arm: Use TCGMemOp within qemu_ldst routines
tcg-i386: Support new ldst opcodes
tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
tcg-i386: Tidy softmmu routines
tcg-i386: Use TCGMemOp within qemu_ldst routines
tcg: Use TCGMemOp for TCGLabelQemuLdst.opc
Message-id: 1381620683-4568-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ded77da3cd6b6bcd201a4e36abb3294d725be644
Merge: 08683cb 6ef8263
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Oct 14 09:15:47 2013 -0700
Merge remote-tracking branch 'jliu/or32' into staging
# By Sebastian Macke
# Via Jia Liu
* jliu/or32:
target-openrisc: Removes a non-conforming behavior for the first page
of the memory
target-openrisc: Correct handling of page faults.
Message-id: 1380789702-18935-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08683cb53286848913d4b58afb3f975a29d93535
Merge: 575ddeb b1c50c5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Oct 14 09:14:30 2013 -0700
Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20131010.0'
into staging
vfio-pci updates include:
- Forgotten MSI affinity patch posted several months ago
- Lazy option ROM loading to delay load until after device/bus resets
- Error reporting cleanups
- PCI hot reset support introduced with Linux v3.12 development kernels
- Debug build fix for int128
The lazy ROM loading and hot reset should help VGA assignment as we can
now do a bus reset when there are multiple devices on the bus, ex.
multi-function graphics and audio cards.
# gpg: Signature made Thu 10 Oct 2013 11:26:39 AM PDT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson (7) and Alexey Kardashevskiy (1)
# Via Alex Williamson
* awilliam/tags/vfio-pci-for-qemu-20131010.0:
vfio-pci: Fix endian issues in vfio_pci_size_rom()
vfio-pci: Add dummy PCI ROM write accessor
vfio: Fix debug output for int128 values
vfio-pci: Implement PCI hot reset
vfio-pci: Cleanup error_reports
vfio-pci: Lazy PCI option ROM loading
vfio-pci: Test device reset capabilities
vfio-pci: Add support for MSI affinity
Message-id: 20131010184122.31667.28382.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 575ddeb459f622a114cbfe37d220c0519ec9c2a4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 29 20:56:45 2013 +0200
exec: Fix prototype of phys_mem_set_alloc and related functions
phys_mem_alloc and its assigned values qemu_anon_ram_alloc and
legacy_s390_alloc must have identical argument lists.
legacy_s390_alloc uses the size parameter to call mmap, so size_t is
good enough for all of them.
This patch fixes compiler errors on i686 Linux hosts:
CC alpha-softmmu/exec.o
exec.c:752:51: error:
initialization from incompatible pointer type [-Werror]
exec.c: In function 'qemu_ram_alloc_from_ptr':
exec.c:1139:32: error:
comparison of distinct pointer types lacks a cast [-Werror]
exec.c: In function 'qemu_ram_remap':
exec.c:1283:21: error:
comparison of distinct pointer types lacks a cast [-Werror]
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1380481005-32399-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 742f5d2ed578bb53b2130b6da2c66de9929f4821
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Sep 27 17:15:41 2013 +0300
ssdt-proc: update generated file
Update generated ssdt proc hex file (used for systems
lacking IASL) after P_BLK length change.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6ec80ef1502e90d19b90f021514debe32c8689a8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Sep 27 01:15:14 2013 +0300
ssdt: fix PBLK length
We don't really support CPU throttling, so supply 0 PBLK length.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 72c194f7e75cb64b2558111cb111adb49fbf4097
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:14 2013 +0300
i386: ACPI table generation code from seabios
This adds C code for generating ACPI tables at runtime,
imported from seabios git tree
commit 51684b7ced75fb76776e8ee84833fcfb6ecf12dd
Although ACPI tables come from a system BIOS on real hw,
it makes sense that the ACPI tables are coupled with the
virtual machine, since they have to abstract the x86 machine to
the OS's.
This is widely desired as a way to avoid the churn
and proliferation of QEMU-specific interfaces
associated with ACPI tables in bios code.
Notes:
As BIOS can reprogram devices prior to loading
ACPI tables, we pre-format ACPI tables but defer loading
hardware configuration there until tables are loaded.
The code structure was intentionally kept as close
to the seabios original as possible, to simplify
comparison and making sure we didn't lose anything
in translation.
Minor code duplication results, to help ensure there are no functional
regressions, I think it's better to merge it like this and do more code
changes in follow-up patches.
Cross-version compatibility concerns have been addressed:
ACPI tables are exposed to guest as FW_CFG entries.
When running with -M 1.5 and older, this patch disables ACPI
table generation, and doesn't expose ACPI
tables to guest.
As table content is likely to change over time,
the following measures are taken to simplify
cross-version migration:
- All tables besides the RSDP are packed in a single FW CFG entry.
This entry size is currently 23K. We round it up to 64K
to avoid too much churn there.
- Tables are placed in special ROM blob (not mapped into guest memory)
which is automatically migrated together with the guest, same
as BIOS code.
- Offsets where hardware configuration is loaded in ACPI tables
are also migrated, this is in case future ACPI changes make us
rearrange the tables in memory.
This patch reuses some code from SeaBIOS, which was originally under
LGPLv2 and then relicensed to GPLv3 or LGPLv3, in QEMU under GPLv2+. This
relicensing has been acked by all contributors that had contributed to the
code since the v2->v3 relicense. ACKs approving the v2+ relicensing are
listed below. The list might include ACKs from people not holding
copyright on any parts of the reused code, but it's better to err on the
side of caution and include them.
Affected SeaBIOS files (GPLv2+ license headers added)
<http://thread.gmane.org/gmane.comp.bios.coreboot.seabios/5949>:
src/acpi-dsdt-cpu-hotplug.dsl
src/acpi-dsdt-dbug.dsl
src/acpi-dsdt-hpet.dsl
src/acpi-dsdt-isa.dsl
src/acpi-dsdt-pci-crs.dsl
src/acpi.c
src/acpi.h
src/ssdt-misc.dsl
src/ssdt-pcihp.dsl
src/ssdt-proc.dsl
tools/acpi_extract.py
tools/acpi_extract_preprocess.py
Each one of the listed people agreed to the following:
> If you allow the use of your contribution in QEMU under the
> terms of GPLv2 or later as proposed by this patch,
> please respond to this mail including the line:
>
> Acked-by: Name <email address>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Jason Baron <jbaron@xxxxxxxxxx>
Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Acked-by: Dave Frodin <dave.frodin@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Kevin O'Connor <kevin@xxxxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>
Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Acked-by: Magnus Christensson <magnus.christensson@xxxxxxxxx>
Acked-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Acked-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1a4b2666dfbd6fbd9b5623a8e0ed6035cd0854fe
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 7 22:12:00 2013 +0300
pc: use new api to add builtin tables
At this point the only builtin table we have is
the DSDT used for Q35.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 60de1163d5b5013fe964ac0792e9a64a823e73a3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 7 14:41:40 2013 +0300
acpi: add interface to access user-installed tables
Also add a new API to install builtin tables, so
that we can distinguish between the two.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 64e9df8d34e493e59c1920358257a7576a560a1a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:13 2013 +0300
hpet: add API to find it
Add API to find HPET using QOM.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 309cd62d6b2628b4f0e2850b42011077f40956c7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:12 2013 +0300
pvpanic: add API to access io port
Add API to find pvpanic device and get its io port.
Will be used to fill in guest info structure.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f1426ab0fad715bccbad60e976ebf420442006c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:10 2013 +0300
ich9: APIs for pc guest info
This adds APIs that will be used to fill in
acpi tables, implemented using QOM,
to various ich9 components.
Some information is still missing in QOM,
so we fall back on lookups by type instead.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 277e9340e6a1b0a0e8e988d2f0ac82b18b695c0b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:11 2013 +0300
piix: APIs for pc guest info
This adds APIs that will be used to fill in guest acpi tables.
Some required information is still lacking in QOM, so we
fall back on lookups by type and returning explicit types.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f854ecc79957e588bed8ed7e8c1c24ded55fc1e9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 16 18:09:11 2013 +0300
acpi/piix: add macros for acpi property names
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b20c9bd5f6d8860856f6078836d197c6c2e27ef1
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:09 2013 +0300
i386: define pc guest info
This defines a structure that will be used to fill in acpi tables
where relevant properties are not yet available using QOM.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d916b46494a2a477636a59900ab1609de192f47a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:08 2013 +0300
loader: allow adding ROMs in done callbacks
Don't abort if machine done callbacks add ROMs.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bc70232918ad3fb45c2b5423455a5de6bc7efdef
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:06 2013 +0300
i386: add bios linker/loader
This adds a dynamic bios linker/loader.
This will be used by acpi table generation
code to:
- load each table in the appropriate memory segment
- link tables to each other
- fix up checksums after said linking
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 35c12e60c840bc4840cbbe3f6ca514a53b2e36bc
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:05 2013 +0300
loader: use file path size from fw_cfg.h
Avoid a bit of code duplication, make
max file path constant reusable.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 544d2bfa84c43f9d4c70ca2202a6113d686b8999
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Sep 27 17:16:32 2013 +0300
acpi: ssdt pcihp: updat generated file
update generated file, not sure what changed
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d512d0d723cc3a08ac0409e1ab13edfa1cc04c70
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:04 2013 +0300
acpi: pre-compiled ASL files
Add pre-compiled ASL files. Useful for systems that
do not have IASL.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a31a864273bb501851a4d52a366c645d06a53991
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:03 2013 +0300
acpi: add rules to compile ASL source
Detect presence of IASL compiler and use it
to process ASL source. If not there, use pre-compiled
files in-tree. Add script to update the in-tree files.
Note: distros are known to silently update iasl
so detect correct iasl flags for the installed version on each run as
opposed to at configure time.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 74523b850189afc23b608918c458b9242757f6d9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:02 2013 +0300
i386: add ACPI table files from seabios
This adds ASL code as well as scripts for processing it,
imported from seabios git tree
commit 51684b7ced75fb76776e8ee84833fcfb6ecf12dd
Will be used for runtime acpi table generation.
Note:
This patch reuses some code from SeaBIOS, which was originally under
LGPLv2 and then relicensed to GPLv3 or LGPLv3, in QEMU under GPLv2+. This
relicensing has been acked by all contributors that had contributed to the
code since the v2->v3 relicense. ACKs approving the v2+ relicensing are
listed below. The list might include ACKs from people not holding
copyright on any parts of the reused code, but it's better to err on the
side of caution and include them.
Affected SeaBIOS files (GPLv2+ license headers added)
<http://thread.gmane.org/gmane.comp.bios.coreboot.seabios/5949>:
src/acpi-dsdt-cpu-hotplug.dsl
src/acpi-dsdt-dbug.dsl
src/acpi-dsdt-hpet.dsl
src/acpi-dsdt-isa.dsl
src/acpi-dsdt-pci-crs.dsl
src/acpi.c
src/acpi.h
src/ssdt-misc.dsl
src/ssdt-pcihp.dsl
src/ssdt-proc.dsl
tools/acpi_extract.py
tools/acpi_extract_preprocess.py
Each one of the listed people agreed to the following:
> If you allow the use of your contribution in QEMU under the
> terms of GPLv2 or later as proposed by this patch,
> please respond to this mail including the line:
>
> Acked-by: Name <email address>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Jason Baron <jbaron@xxxxxxxxxx>
Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Acked-by: Dave Frodin <dave.frodin@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Kevin O'Connor <kevin@xxxxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>
Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Acked-by: Magnus Christensson <magnus.christensson@xxxxxxxxx>
Acked-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Acked-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cbcaf79e3ce1b14084f3e3f4f64365e9bfd70e6a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 10 10:16:02 2013 +0300
q35: expose mmcfg size as a property
Address is already exposed, expose size for symmetry.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 87f65245db4665edff22242c17546954d9d59c82
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 17:59:38 2013 +0300
q35: use macro for MCFG property name
Useful to make it accessible through QOM.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f6d282330a3c85ecbeb54dec5b57282bd177b44
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 10 10:15:00 2013 +0300
pcie_host: expose address format
Callers pass in the address so it's helpful for
them to be able to decode it.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 079e3e7012a0e3ff80b4786e67f5a5d4341dcd51
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 10 08:43:48 2013 +0300
pcie_host: expose UNMAPPED macro
Make it possible to test unmapped status through QMP.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 48354cc5a3744c9a56462e5053e1f267a0ce69de
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Aug 18 17:02:33 2013 +0300
loader: support for unmapped ROM blobs
Support ROM blobs not mapped into guest memory:
same as ROM files really but use caller's buffer.
Support invoking callback on access and
return memory pointer making it easier
for caller to update memory if necessary.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d87072ceeccf4f84a64d4bc59124bcd64286c070
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 1 17:56:20 2013 +0300
fw_cfg: interface to trigger callback on read
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 77d6f4ea7608fe7f47c9d7beddd19191b2e852b2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Oct 1 15:39:13 2013 +0300
pci: fix up w64 size calculation helper
BAR base was calculated incorrectly.
Use existing pci_bar_address to get it right.
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e732ea638705da35445a42dee32691fbe813d3e0
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 22 10:10:17 2013 +0300
qom: add pointer to int property helpers
Make it easy to add read-only helpers for simple
integer properties in memory.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e82df24873970742778e4a960f059ba9f8b1b2a7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 22 10:08:14 2013 +0300
qom: cleanup struct Error references
now that a typedef for struct Error is available,
use it in qom/object.h to match coding style rules.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 008e05662ae5ff314b2b8462508ffd4b40503369
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Oct 1 17:44:32 2013 +0200
cleanup object.h: include error.h directly
qapi/error.h is simple enough to be included in qom/object.h
direcly and prepares qom/object.h to use Error typedef.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c31d04b516b183b02336f8cce65a41bd547f6f6b
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:41 2013 +0300
hw/pci: removed irq field from PCIDevice
Instead of exposing the the irq field,
pci wrappers to qemu_set_irq or qemu_irq_*
can be used.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5a03e708f213c716c9dde11e8ab4b23b8ca5c066
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:40 2013 +0300
hw/pcie: AER and hot-plug events must use device's interrupt
The fields hpev_intx and aer_intx were removed because
both AER and hot-plug events must use device's interrupt.
Assert/deassert interrupts using pci irq wrappers instead.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9e64f8a3fcc88a508990a62ecc5a1269e41272ad
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:39 2013 +0300
hw: set interrupts using pci irq wrappers
pci_set_irq and the other pci irq wrappers use
PCI_INTERRUPT_PIN config register to compute device
INTx pin to assert/deassert.
An irq is allocated using pci_allocate_irq wrapper
only if is needed by non pci devices.
Removed irq related fields from state if not used anymore.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 68919cace8242363edfe8ff9b9c68b5e58c30db4
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:38 2013 +0300
hw/vfio: set interrupts using pci irq wrappers
pci_set_irq and the other pci irq wrappers use
PCI_INTERRUPT_PIN config register to compute device
INTx pin to assert/deassert.
save INTX pin into the config register before calling
pci_set_irq
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c89e3e59368584ae6f34fdfce3c698223b8a918
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:37 2013 +0300
hw/vmxnet3: set interrupts using pci irq wrappers
pci_set_irq uses PCI_INTERRUPT_PIN config register
to compute device INTx pin to assert/deassert.
An assert is used to ensure that intx received
from the quest OS corresponds to PCI_INTERRUPT_PIN.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c008ac0c1cb68dfe8dcfda0e25562fa81c687e50
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:36 2013 +0300
hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init
The PCI_INTERRUPT_PIN will be used by shpc init, so
was moved before the call to shpc_init.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d98f08f54e0882b4da1177345161afabb8d47d94
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:35 2013 +0300
hw/pci: add pci wrappers for allocating and asserting irqs
Interrupt pin is selected and saved into PCI_INTERRUPT_PIN
register during device initialization. Devices should not call
directly qemu_set_irq and specify the INTx pin on each call.
Added pci_* wrappers to replace qemu_set_irq, qemu_irq_raise,
qemu_irq_lower and qemu_irq_pulse, setting the irq
based on PCI_INTERRUPT_PIN.
Added pci_allocate_irq wrapper to be used by devices that
still need PCIDevice infrastructure to assert irqs.
Renamed a static method which was named already pci_set_irq.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a8a9d30bab2fae2e0ab3436fa0a40d89fbb0cf4e
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:34 2013 +0300
hw/core: Add interface to allocate and free a single IRQ
qemu_allocate_irq returns a single qemu_irq.
The interface allows to specify an interrupt number.
qemu_free_irq frees it.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a53ae8e934cd54686875b5bcfc2f434244ee55d6
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Sep 16 11:21:16 2013 +0300
hw/pci: partially handle pci master abort
A MemoryRegion with negative priority was created and
it spans over all the pci address space.
It "intercepts" the accesses to unassigned pci
address space and will follow the pci spec:
1. returns -1 on read
2. does nothing on write
Note: setting the RECEIVED MASTER ABORT bit in the STATUS register
of the device that initiated the transaction will be
implemented in another series
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8002ccd6e4c5c52210c5fc886f7bf88fd707c2df
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Sep 16 11:21:15 2013 +0300
docs/memory: Explictly state that MemoryRegion priority is signed
When memory regions overlap, priority can be used to specify
which of them takes priority. By making the priority values signed
rather than unsigned, we make it more convenient to implement
a situation where one "background" region should appear only
where no other region exists: rather than having to explicitly
specify a high priority for all the other regions, we can let them take
the default (zero) priority and specify a negative priority for the
background region.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a1ff8ae0666ffcbe78ae7e28812dd30db6bb7131
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Sep 16 11:21:14 2013 +0300
memory: Change MemoryRegion priorities from unsigned to signed
When memory regions overlap, priority can be used to specify
which of them takes priority. By making the priority values signed
rather than unsigned, we make it more convenient to implement
a situation where one "background" region should appear only
where no other region exists: rather than having to explicitly
specify a high priority for all the other regions, we can let them take
the default (zero) priority and specify a negative priority for the
background region.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8da40aefbd1b40a0c5ab6fb25987943fe01125c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 13:11:56 2013 -0700
target-alpha: Convert to new ldst opcodes
Or, partially. The fundamental primitives for the port are gen_load_mem
and gen_store_mem, which take a callback to emit the memory operation.
For that, we continue to use the original inline functions that forward
to the new ops, rather than replicate the same thing privately.
That said, all free-standing calls to tcg_gen_qemu_* have been converted.
The 32-bit floating-point references now use _i32 opcodes, eliminating
a truncate or extension.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1768ec0623c1253df3bf1424b07fbccb164e85fb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 10:15:25 2013 -0700
tcg-ppc64: Support new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5dd391604f590938dd9fd335102442f1612e5eed
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 10:00:27 2013 -0700
tcg-ppc: Support new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e349a8d4ffb63e8e16c67d1702dd728d781424d6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 09:05:15 2013 -0700
tcg-ppc64: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 92d0acda271f54a96956b9aef5031e702e12a700
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 08:54:04 2013 -0700
tcg-ppc: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a058557381e6bb4c7688572bba7b3a4c01234955
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 17:05:37 2013 -0700
tcg-ppc64: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f1a16dcdd5d52aa92563c8798d1b3e304c1245f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 17:05:31 2013 -0700
tcg-ppc: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 091d5677713d5e8e48ad670655d6bf1bac0b064d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 15:06:23 2013 -0700
tcg-arm: Improve GUEST_BASE qemu_ld/st
If we pull the code to emit the actual load/store into a subroutine,
we can share the reg+reg addressing mode code between softmmu and
usermode. This lets us load GUEST_BASE into a temporary register
rather than attempting to add it piece-wise to the address.
Which lets us use movw+movt for armv7, rather than (up to) 4 adds.
Code size for pre-armv7 stays the same.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 15ecf6e3946b0d2f0b6deb95c321604b8741a882
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 10:17:45 2013 -0700
tcg-arm: Convert to new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a485cff09c44fffea121401cd3dcea13b8d1fe27
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 09:07:38 2013 -0700
tcg-arm: Tidy variable naming convention in qemu_ld/st
s/addr_reg2/addrhi/
s/addr_reg/addrlo/
s/data_reg2/datahi/
s/data_reg/datalo/
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0315c51ea954766df8ab6697502dff22f5364f77
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 08:58:33 2013 -0700
tcg-arm: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 099fcf2e3689a702a0948b53f3cd42926bbe044a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 16:16:47 2013 -0700
tcg-arm: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8221a267fdc6e8eebbeb8d810b58efbe3a7d913e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 09:35:37 2013 -0700
tcg-i386: Support new ldst opcodes
No support for helpers with non-default endianness yet,
but good enough to test the opcodes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 08:51:07 2013 -0700
tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
Once we form a combined qemu_st_i32 opcode, we won't be able to
have separate constraints based on size. This one is fairly easy
to work around, since eax is available as a scratch register.
When storing variable data, this tends to merely exchange one mov
for another. E.g.
-: mov %esi,%ecx
...
-: mov %cl,(%edx)
+: mov %esi,%eax
+: mov %al,(%edx)
Where we do have a regression is when storing constant data, in which
we may load the constant into edi, when only ecx/ebx ought to be used.
The proper way to recover this regression is to allow constants as
arguments to qemu_st_i32, so that we never load the constant data into
a register at all, must less the wrong register. TBD.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7352ee546ce0aba261d0e64595eae6e74e75e49d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 08:13:42 2013 -0700
tcg-i386: Tidy softmmu routines
Pass two TCGReg to tcg_out_tlb_load, rather than idx+args.
Move ldst_optimization routines just below tcg_out_tlb_load to avoid
the need for forward declarations.
Use TCGReg enum in preference to int where apprpriate.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 37c5d0d5d1ad4e603dc50411c85bad6f726357a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 13:54:21 2013 -0700
tcg-i386: Use TCGMemOp within qemu_ldst routines
Step one in the transition, with constants passed down from tcg_out_op.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d257e0d7aeb72f4280666590f81ca5f0a38697f8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Oct 11 14:32:06 2013 -0700
tcg: Use TCGMemOp for TCGLabelQemuLdst.opc
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1cdae4573d7613149348d834c605bfbe3c7d405b
Merge: ab1eb72 0106dc4
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 11 09:38:07 2013 -0700
Merge remote-tracking branch 'mdroth/qga-pull-2013-10-10' into staging
# By Mark Wu (2) and Tomoki Sekiyama (1)
# Via Michael Roth
* mdroth/qga-pull-2013-10-10:
qemu-ga: Extend 'guest-info' command to expose flag 'success-response'
qemu-ga: Add interface to traverse the qmp command list by QmpCommand
qemu-ga: execute fsfreeze-freeze in reverse order of mounts
Message-id: 1381435782-25524-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab1eb72b1db1740093d52207887a2cfc8665bad6
Merge: a3400ae 867b320
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 11 09:36:52 2013 -0700
Merge remote-tracking branch 'rth/tcg-pull' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-pull:
exec: Add both big- and little-endian memory helpers
tcg: Add qemu_ld_st_i32/64
tcg: Add TCGMemOp
configure: Remove CONFIG_QEMU_LDST_OPTIMIZATION
tcg: Add tcg-be-ldst.h
tcg: Add tcg-be-null.h
exec: Delete is_tcg_gen_code and GETRA_EXT
tcg-aarch64: Update to helper_ret_*_mmu routines
tcg: Merge tcg_register_helper into tcg_context_init
tcg: Add tcg-runtime.c helpers to all_helpers
tcg: Put target helper data into an array.
tcg: Remove stray semi-colons from target-*/helper.h
tcg: Move helper registration into tcg_context_init
target-m68k: Rename helpers.h to helper.h
tcg: Use a GHashTable for tcg_find_helper
tcg: Delete tcg_helper_get_name declaration
tcg-hppa: Remove tcg backend
Message-id: 1381440525-6666-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3400aeede46c6c30b6fefb20fc90a43f1f6e7b2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Oct 10 15:00:21 2013 +0200
qdev-monitor: Group "device_add help" and "info qdm" by category
Output is a long, unsorted list. Not very helpful. Print one list
per device category instead, with a header line identifying the
category, plus a list of uncategorized devices. Print each list in
case-insenitive alphabetical order.
Devices with multiple categories are listed multiple times.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1381410021-1538-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1fc224b4b6d195fb7802d5ba1a0846a4e7a1e2af
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Oct 10 15:00:20 2013 +0200
Mostly revert "qemu-help: Sort devices by logical functionality"
This reverts most of commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5.
The commit claims to sort the output of "-device help" "by
functionality rather than alphabetical". Issues:
* The output was unsorted before, not alphabetically sorted.
Misleading, but harmless enough.
* The commit doesn't just sort the output of "-device help" as it
claims, it adds categories to each line of "-device help", and it
prints devices once per category. In particular, devices without a
category aren't shown anymore. Maybe such devices should not exist,
but they do. Regression.
* Categories are also added to the output of "info qdm". Silent
change, not nice. Output remains unsorted, unlike "-device help".
I'm going to reimplement the feature we actually want, without the
warts. Reverting the flawed commit first should make it easier to
review. However, I can't revert it completely, since DeviceClass
member categories has been put to use. So leave that part in.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1381410021-1538-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 859389810910f232188675d2f10b15f1aad77660
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Oct 11 14:52:38 2013 +0200
Use qemu-project.org domain name
qemu.org is held by a third-party and no core community contributor has
access to the DNS configuration. This leaves the website exposed to
outages due to DNS issues or IP address changes. For example, if the
web server IP address needs to change we cannot guarantee qemu.org will
point to it!
The newer qemu-project.org domain name is owned by Anthony Liguori
<anthony@xxxxxxxxxxxxx>. You can confirm this by querying the whois
information. Also note that the #qemu IRC channel topic already
references qemu-project.org.
Short of having a dedicated legal entity to hold the domain name on
behalf of the community, qemu-project.org seems like the safest bet.
Let's replace references to qemu.org with qemu-project.org.
Note that git-submodule(1) does not detect URL changes. The following
commands clear out and re-initialize all submodules to ensure you are
using the latest URLs:
$ git submodule deinit . # you'll be warned if you have local changes
$ rm -rf .git/modules # also clear cached .git/ directories
$ git submodule update --init
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1381495958-8306-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33c6cae44eccea5e627c2dc5cbf31456db90fc38
Merge: 39c153b 34eeb82
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 11 09:29:58 2013 -0700
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (30) and others
# Via Kevin Wolf
* kwolf/for-anthony: (61 commits)
qemu-iotests: Add test for inactive L2 overlap
qemu-io: Let "open" pass options to block driver
vmdk: Fix vmdk_parse_extents
blockdev: blockdev_init() error conversion
blockdev: Don't disable COR automatically with blockdev-add
blockdev: Remove 'media' parameter from blockdev_init()
qemu-iotests: Check autodel behaviour for device_del
blockdev: Remove IF_* check for read-only blockdev_init
blockdev: Move virtio-blk device creation to drive_init
blockdev: Move bus/unit/index processing to drive_init
blockdev: Move parsing of 'boot' option to drive_init
blockdev: Moving parsing of geometry options to drive_init
blockdev: Move parsing of 'if' option to drive_init
blockdev: Move parsing of 'media' option to drive_init
blockdev: Pass QDict to blockdev_init()
blockdev: Separate ID generation from DriveInfo creation
blockdev: 'blockdev-add' QMP command
blockdev: Introduce DriveInfo.enable_auto_del
qapi-types/visit.py: Inheritance for structs
qapi-types/visit.py: Pass whole expr dict for structs
...
Message-id: 1381503951-27985-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 34eeb82de65ce9f83081a3357b0afe80a6a1d86a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 14:02:11 2013 +0200
qemu-iotests: Add test for inactive L2 overlap
Extend 060 by a test which creates a corrupted image with an active L2
entry pointing to an inactive L2 table and writes to the corresponding
guest offset.
Also, use overlap-check=all for all tests in 060.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b543c5cdcb818ffed90cfc97aa8e297214650d84
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 14:02:10 2013 +0200
qemu-io: Let "open" pass options to block driver
Add an option to the open command to specify runtime options for the
block driver used.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 899f1ae219d5eaa96a53c996026cb0178d62a86d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 19:48:29 2013 +0800
vmdk: Fix vmdk_parse_extents
An extra 'p++' after while loop when *p == '\n' will move p to unknown
data position, risking parsing junk data or memory access violation.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b681072d2005911b79835d2a6af208eba3983a48
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 20 11:33:11 2013 +0200
blockdev: blockdev_init() error conversion
This gives us meaningful error messages for the blockdev-add QMP
command.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0ebd24e0a203cf2852c310b59fbe050190dc6c8c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Sep 19 15:12:18 2013 +0200
blockdev: Don't disable COR automatically with blockdev-add
If a read-only device is configured with copy-on-read=on, the old code
only prints a warning and automatically disables copy on read. Make it
a real error for blockdev-add.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e34ef046412431acf5b4e30762390b4048187bb8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Sep 19 14:24:10 2013 +0200
blockdev: Remove 'media' parameter from blockdev_init()
The remaining users shouldn't be there with blockdev-add and are easy to
move to drive_init().
Bonus bug fix: As a side effect, CD-ROM drives can now use block drivers
on the read-only whitelist without explicitly specifying read-only=on,
even if a format is explicitly specified.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit a9b43397a9782d028f45b63fb4affee164f85948
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 18 16:47:41 2013 +0200
qemu-iotests: Check autodel behaviour for device_del
Block devices creates with -drive and drive_add should automatically
disappear if the guest device is unplugged. blockdev-add ones shouldn't.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 4f8a066b5fc254eeaabbbde56ba4f5b29cc68fdf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 13 15:51:47 2013 +0200
blockdev: Remove IF_* check for read-only blockdev_init
IF_NONE allows read-only, which makes forbidding it in this place
for other types pretty much pointless.
Instead, make sure that all devices for which the check would have
errored out check in their init function that they don't get a read-only
BlockDriverState. This catches even cases where IF_NONE and -device is
used.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 394c7d4d6bd06386308e2fef0cf1c613a10e0d23
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 13 14:09:17 2013 +0200
blockdev: Move virtio-blk device creation to drive_init
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 87a899c5090c7864fc7dcff3ea0ac34153ea621b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Sep 10 15:48:13 2013 +0200
blockdev: Move bus/unit/index processing to drive_init
This requires moving the automatic ID generation at the same time, so
let's do that as well.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 26929298023b0592dc6ac8bc15163b5a24341670
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Sep 9 17:01:03 2013 +0200
blockdev: Move parsing of 'boot' option to drive_init
It's already ignored and only prints a deprecation message. No use in
making it available in new interfaces.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b41a7338cfdeeb913ee4846d79a3f7e221350aed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Sep 9 16:49:49 2013 +0200
blockdev: Moving parsing of geometry options to drive_init
This moves all of the geometry options (cyls/heads/secs/trans) to
drive_init so that they can only be accessed using legacy functions, but
never with anything blockdev-add related.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 593d464bd43900c2a0c8800b76212f6a93e99a0d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 17:24:51 2013 +0200
blockdev: Move parsing of 'if' option to drive_init
It's always IF_NONE for blockdev-add.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 33cb7dc8b7a26ccdff2f054056d3f2e487cbb4cd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 17:00:13 2013 +0200
blockdev: Move parsing of 'media' option to drive_init
This moves as much as possible of the processing of the 'media' option
to drive_init so that it can only be accessed using legacy functions,
but never with anything blockdev-add related.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f298d071662af6cf5dc221ee3e3bd0154035e570
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Sep 10 12:01:20 2013 +0200
blockdev: Pass QDict to blockdev_init()
Working on a QDict instead of a QemuOpts that accepts anything is more
in line with bdrv_open(). A QDict is what qmp_blockdev_add() already has
anyway, so this saves additional conversions. And last, but not least,
it allows later patches to easily extract legacy options into a
separate, typed QemuOpts for drive_init() (the untyped QemuOpts that
drive_init already has doesn't allow access to numbers, only strings,
and is therefore useless without conversion).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 326642bc7f0ff95a0c08db527861a9a114a109da
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jul 11 12:52:34 2013 +0200
blockdev: Separate ID generation from DriveInfo creation
blockdev-add shouldn't automatically generate IDs, but will keep most of
the DriveInfo creation code.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d26c9a15738147a8dccc451c6f6d1ddc2305713d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Sep 23 15:26:03 2013 +0200
blockdev: 'blockdev-add' QMP command
For examples see the changes to qmp-commands.hx.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2d246f01d374c1a10c48c45aa931aa18f0a56634
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 18 15:14:47 2013 +0200
blockdev: Introduce DriveInfo.enable_auto_del
BlockDriverStates shouldn't be affected by an unplugged guest device,
except if created with the legacy -drive command line option or the
drive_add HMP command.
Make the automatic deletion as well as cancelling of jobs conditional on
an enable_auto_del boolean that is only set in drive_init().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
commit 622f557f5aaea1326c94ca4cddfa4eafeade3723
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Sep 19 11:56:36 2013 +0200
qapi-types/visit.py: Inheritance for structs
This introduces a new 'base' key for struct definitions that refers to
another struct type. On the JSON level, the fields of the base type are
included directly into the same namespace as the fields of the defined
type, like with unions. On the C level, a pointer to a struct of the
base type is included.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 14d36307ffdf949df9c1dd7f435e138b36f63bb0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 18 17:22:02 2013 +0200
qapi-types/visit.py: Pass whole expr dict for structs
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 52c8d629cac27ad16dd51507b4733d46fa4efc55
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 15:43:23 2013 +0800
vmdk: refuse enabling zeroed grain with flat images
This is a header flag and we needs sparse for the header.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4823970bcb882cd5b7e9c9a21fa6573190035050
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 15:43:22 2013 +0800
vmdk: convert error code to use errp
Convert "fprintf(stderr,..." and standardize error messages:
Remove a few local_error's and use errp.
Remove "VMDK:" or "Vmdk:" prefixes in error message and fix to upper
case.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2cdfb12332e885c8ce36f520d2a2a9200101e183
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 08:42:56 2013 +0800
build: add command check-clean
This command will package the clean operations in tests. Now root Makefile
simply calls the command and do not care the details of it any more.
Original
the built binaries for test will not be removed, now they will be deleted
in clean operation.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 22ee5a557acc820109a9948620a26f66e4fa3a8f
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 08:42:55 2013 +0800
tests: build the helper program by default
Usually we may configure and make, then goto ./tests/qemu-iotest,
check. In this case an error will happen since helper program
was not built. This patch simply build it by default. A better way
may be introducing Makefile in ./tests/qemu-iotest, but it is more
complicate to handle out of tree case, and a bit overkill
for a single file now, we can do that when more files come.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e428e439df4d92ac42cb913a1dd19b86155eae86
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 11:37:01 2013 +0200
block/raw-posix: Employ error parameter
Make use of the error parameter in the opening and creating functions in
block/raw-posix.c.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5dd75f9afbea2e4e370c96676d34676e6f6b95b7
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 14:59:49 2013 +0800
qemu-iotests: move blank lines of output in case 059
Move the blank line to above the test step banner, so it looks clearer
in blocks.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ca2884087a36c60d592aa0e8e327bf1579972077
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:04 2013 +0200
blkverify: Employ error parameter
Make use of the error parameter in blkverify_open.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 10ffa72faed7e02805d7911d58d429efe6f95f93
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:03 2013 +0200
blkdebug: Employ error parameter
Make use of the error parameter in blkdebug_open.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c6252b7cea0dfa893cf1f49de3a58f222e910783
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:02 2013 +0200
block/raw-win32: Employ error parameter
Make use of the error parameter in the opening and creating functions in
block/raw-win32.c.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 92f1deec317230575726a8e0ab5c110781d30ec0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:00 2013 +0200
block/raw_bsd: Employ error parameter
Propagate errors in raw_create rather than directly reporting and
afterwards discarding them.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1fa5cc839aa6068c9182ad8d611f844c58f95f42
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:28 2013 +0200
qcow2: Evaluate overlap check options
Evaluate the runtime overlap check options and set
BDRVQcowState.overlap_check appropriately.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4a273c398b0c96985d56fed8156e19876b2e3c9e
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:27 2013 +0200
qcow2: Add more overlap check bitmask macros
Introduces the macros QCOW2_OL_CONSTANT and QCOW2_OL_ALL in addition to
the already existing QCOW2_OL_CACHED, signifying all metadata overlap
checks that can be performed in constant time (regardless of image size
etc.) and truly all available overlap checks, respectively.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4092e99d935fe26fd53631cc9e170f9a19e3ee4a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:26 2013 +0200
qcow2: Array assigning options to OL check bits
Add an array which assigns the option string to its corresponding
overlap check bit.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 05de7e86cab3ed3830de38b38b39bbc711bc1158
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:25 2013 +0200
qcow2: Add overlap-check options
Add runtime options to tune the overlap checks to be performed before
write accesses.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3e3553905cfc814d59de6d1a634c3a991b2a9257
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:24 2013 +0200
qcow2: Make overlap check mask variable
Replace the QCOW2_OL_DEFAULT macro by a variable overlap_check in
BDRVQcowState.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 231bb267644ee3a9ebfd9c7f42d5d41610194b45
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:23 2013 +0200
qcow2: Use negated overflow check mask
In qcow2_check_metadata_overlap and qcow2_pre_write_overlap_check,
change the parameter signifying the checks to perform from its current
positive form to a negative one, i.e., it will no longer explicitly
specify every check to perform but rather a mask of checks not to
perform.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8f94a6e40e46cbc8e8014da825d25824b1803b34
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Oct 10 11:45:55 2013 +0200
block: Improve driver whitelist checks
The main intent of this patch is to consolidate the whitelist checks to
a single point in the code instead of spreading it everywhere. This adds
a nicer error message for read-only whitelisting, too, in places where
it was still missing.
The patch also contains a bonus bug fix: By finding the format first in
bdrv_open() and then independently checking against the whitelist only
later, we avoid the case that use of a non-whitelisted format results in
probing rather than an error message. Previously, this could happen when
using the driver=... option.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
commit 00c49b21e7af1dd8d2167c1b019619ac186dad14
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:42:47 2013 +0200
qcow2: Use better type for numerical snapshot ID
When trying to find a new snapshot ID, the existing ones are converted
to integers using strtoul. This function returns an unsigned long,
therefore its result should be saved in an unsigned long as well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 84757f7e67cda3df8b04e06fbdeecc266415d2f3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:42:00 2013 +0200
qcow2: Fix snapshot restoration in snapshot_create
If the new snapshot table could not be written in qcow2_snapshot_create,
the old snapshot table has to be restored in memory and the new one
released. This should include restoration of the old snapshot count as
well, which is added by this patch.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f9bff971436b5924ca3c3203c6a3dcd6437bd430
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:41:28 2013 +0200
qcow2: Remove wrong metadata overlap check
In qcow2_write_compressed, if the compression fails, a normal cluster is
written to disk. This is done through bdrv_write on the qcow2 BDS
itself (using the guest offset), thus it is wrong to do a metadata
overlap check before.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9e3f08923a14ba0655c6797edd9ffef44bb8cbf2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:40:48 2013 +0200
qcow2: Add missing space in error message
The error message in qcow2_downgrade about an unsupported refcount
order is missing a space. This patch adds it.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 89e911816a1d5cdbc9480d5464c571d216cf5ea8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Sep 27 08:48:15 2013 -0400
block: qemu-iotests for vhdx, read sample dynamic image
This adds the VHDX format to the qemu-iotests format, and adds
a read test. The test reads from an existing sample image, that
was created with Hyper-V under Windwos Server 2012.
The image file is a 1GB dynamic image, with 32MB blocks.
The pattern 0xa5 exists from 0MB-33MB (past a block size boundary)
The pattern 0x96 exists from 33MB-66MB (past another block boundary,
and leaving a partial blank block)
From 66MB-1024MB, all reads should return 0.
Although 1GB dynamic image with 66MB of data, the bzip2'ed image
file size is only 874 bytes.
This also adds in the IMGFMT_GENERIC flag, so r/o images can be
tested (e.g. ./check -vhdx) without failing tests that assume
r/w support.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 13164591f30ad95ae24f9892cf2caf779271a29b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 29 00:09:35 2013 +0300
ahci: set ahci mode on reset
ATM we set AHCI mode on 1st GHC write.
Spec says we should set it on reset.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 975a93c082452db9aa1397a797ca8f13ba367393
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 12:07:33 2013 +0200
qemu-iotests: Discard preallocated zero clusters
Add a new test case for discarding preallocated zero clusters; doing
this should not result in any leaks.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f6186f49e2c98d91f22027d8c62996df4fcf3f92
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Wed Oct 2 14:33:48 2013 +0200
block: Add BlockDriver.bdrv_check_ext_snapshot.
This field is used by blkverify to disable external snapshots creation.
It will also be used by block filters like quorum to disable external
snapshot creation.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 92bc50a5ad7fbc9a0bd17240eaea5027a100ca79
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Oct 8 14:43:14 2013 +0200
block/get_block_status: avoid redundant callouts on raw devices
if a raw device like an iscsi target or host device is used
the current implementation makes a second call out to get
the block status of bs->file.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 88fb15351284868b70fa1d5b101e809057fcc5aa
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:51:06 2013 +0200
qcow2: Assert against snapshot name/ID overflow
qcow2_write_snapshots relies on the length of every snapshot ID and name
fitting into an unsigned 16 bit integer. This is currently ensured by
QEMU through generally only allowing 128 byte IDs and 256 byte names.
However, if this should change in the future, the length written to the
image file should not be silently truncated (though the name itself
would be written completely).
Since this is currently not an issue but might require attention due to
internal QEMU changes in the future, an assert ensuring sanity is enough
for now.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9186ad9658cc597937fbc03ad66bceb3a0515d99
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:51:05 2013 +0200
qcow2: Free allocated snapshot table on error
If an error occurs during qcow2_write_snapshots, the newly allocated
snapshot table clusters are leaked and should thus be freed.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 37d41f0a04e5017d37906728a806d7944e867a2a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:51:04 2013 +0200
qcow2: Always use error path on writing snapshots
qcow2_write_snapshots does contain a fail label and there is no reason
not to use it on some errors; therefore, we should always jump there on
error.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8f730dd24edd2576ecbd596de7ea4361296b129c
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:44:28 2013 +0200
qcow2: Free preallocated zero clusters
In qcow2_free_any_clusters, preallocated zero clusters should be freed
just as normal clusters are.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 998b959c1e59044f5d5f64c482f4ce8facc8e0bc
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:42:56 2013 +0200
qcow2: Use pread for inactive L1 in overlap check
Currently, qcow2_check_metadata_overlap uses bdrv_read to read inactive
L1 tables from disk. The number of sectors to read is calculated through
a truncating integer division, therefore, if the L1 table size is not a
multiple of the sector size, the final entries will not be read and
their entries in memory remain undefined (from the g_malloc).
Using bdrv_pread fixes this.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f252080453ec081ba653bba4e0c1ca86c52cf19f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:34:10 2013 +0200
qcow2: Alignment of snapshot table entries
The qcow2 specification does not explicitly state so far that every
snapshot table entry is aligned to 8 bytes. QEMU, in contrast, does this
alignment, thus it should be properly documented (which this patch
does).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3677e6f6252542cbab85674d97d051d95e91693b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:20 2013 +0200
qemu-iotests: Additional info from qemu-img info
Add a test for the additional information now provided by qemu-img info
when used on qcow2 images. It also tests the qemu QMP output from the
query-block command when running qemu with different runtime options
than specified in the image (ImageInfoSpecific should always refer to
the image).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4c2e946500c45685fdec61b3d929311dc26a2ad5
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:19 2013 +0200
qemu-iotests: Discard specific info in _img_info
In _img_info, filter out additional information specific to the image
format provided by qemu-img info, since tests designed for multiple
image formats would produce different outputs for every image format
otherwise.
In a human-readable dump, that new information will always be last for
each "image information block" (multiple blocks are emitted when
inspecting the backing file chain). Every block is separated by an empty
line. Therefore, in this case, everything starting with the line "Format
specific information:" up to that empty line (or EOF, if it is the last
block) has to be stripped.
The JSON dump will always emit pretty JSON data. Therefore, the opening
and closing braces of every object will be on lines which are indented
by exactly the same amount, and all lines in between will have more
indentation. Thus, in this case, everything starting with a line
matching the regular expression /^ *"format-specific": {/ until /^ *},?/
has to be stripped, where the number of spaces at the beginning of the
respective lines is equal.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 37764dfb71c4d0d058b71ba33340c6beab7d5a66
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:18 2013 +0200
qcow2: Add support for ImageInfoSpecific
Add a new ImageInfoSpecificQCow2 type as a subtype of ImageInfoSpecific.
This contains the compatibility level as a string and an optional
lazy_refcounts boolean (optional means mandatory for compat >= 1.1 and
not available for compat == 0.10).
Also, add qcow2_get_specific_info, which returns this information.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a8d8ecb77fc16da49ea2c1edae267dc9d0c01dfd
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:17 2013 +0200
block/qapi: Human-readable ImageInfoSpecific dump
Add a function for generically dumping the ImageInfoSpecific information
in a human-readable format to block/qapi.c.
Use this function in bdrv_image_info_dump and qemu-io-cmds.c:info_f to
allow qemu-img info resp. qemu-io -c info to print that format specific
information.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit eae041fe6f4314962e873615134eefb32cf8ba61
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:16 2013 +0200
block: Add bdrv_get_specific_info
Add a function for retrieving an ImageInfoSpecific object from a block
driver.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f2bb8a8a47597634b74c161c44b9980c7f4e50ac
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:15 2013 +0200
qapi: Add ImageInfoSpecific type
Add a new type ImageInfoSpecific as a union for image format specific
information in ImageInfo.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 79e14bf7782d861d3d773a67680de07a8f354f4e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 8 17:29:40 2013 +0800
qapi: make use of new BlockJobType
Switch the string to enum type BlockJobType in BlockJobDriver.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2cb5b22286a7546226d9e9363aaee543fcba6b61
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 8 17:29:39 2013 +0800
qapi: Introduce enum BlockJobType
This will replace the open coded block job type string for mirror,
commit and backup.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3fc4b10af09b75a1cb811b61abc9d8c90771dfb2
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 8 17:29:38 2013 +0800
blockjob: rename BlockJobType to BlockJobDriver
We will use BlockJobType as the enum type name of block jobs in QAPI,
rename current BlockJobType to BlockJobDriver, which will eventually
become a set of operations, similar to block drivers.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 867b3201a333e35a91bea9febc66cce689a765c4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 11:45:20 2013 -0700
exec: Add both big- and little-endian memory helpers
Step three in the transition: helpers not tied to the target
"default" endianness. To be used when the guest uses a memory
operation with non-default endianness.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f713d6ad7b9f52129695d5e3e63541abcd0375c0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 08:11:05 2013 -0700
tcg: Add qemu_ld_st_i32/64
Step two in the transition, adding the new ldst opcodes. Keep the old
opcodes around until all backends support the new opcodes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39c153b80f890dc5f02465dc59992e195abd5f40
Merge: e8f2f59 51fb256
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:16:25 2013 -0700
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* Fix for X86CPU model field of qemu32/qemu64 CPU models
* Bug fix for longjmp on FreeBSD
* Removal of unused function
* Confinement of clone syscall infrastructure to linux-user
# gpg: Signature made Wed 09 Oct 2013 03:40:51 AM PDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (2) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
cpu: Drop cpu_model_str from CPU_COMMON
cpu: Move cpu_copy() into linux-user
cputlb: Remove dead function tlb_update_dirty()
cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec()
target-i386: Set model=6 on qemu64 & qemu32 CPU models
commit e8f2f59aaf2978641b7e073ba623bd4b4a9e864d
Merge: 88b70e5 386a5a1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:16:02 2013 -0700
Merge remote-tracking branch 'amit/char-remove-watch-on-unplug' into
staging
# By Amit Shah
# Via Amit Shah
* amit/char-remove-watch-on-unplug:
char: remove watch callback on chardev detach from frontend
char: use common function to disable callbacks on chardev close
char: move backends' io watch tag to CharDriverState
Message-id: 20131004154802.GA25646@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 88b70e56b969142c88f240434f392b9348600ef5
Merge: e572398 c236f45
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:15:46 2013 -0700
Merge remote-tracking branch 'otubo/seccomp' into staging
# By Eduardo Otubo
# Via Eduardo Otubo
* otubo/seccomp:
seccomp: fine tuning whitelist by adding times()
Message-id: 1380047458-21673-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e572398de14c2173d5701d1f7771689764356b68
Merge: f2c6bcf ad98acb
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:00:03 2013 -0700
Merge remote-tracking branch 'mcayland/qemu-openbios' into staging
* mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0106dc4f05231b44f54fae5d0ee42031298588bd
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Wed Oct 9 10:37:26 2013 +0800
qemu-ga: Extend 'guest-info' command to expose flag 'success-response'
Now we have several qemu-ga commands not returning response on success.
It has been documented in qga/qapi-schema.json already. This patch exposes
the 'success-response' flag by extending 'guest-info' command. With this
change, the clients can handle the command response more flexibly.
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*fixed up commit subject
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8dc4d915dd6ea347a47557f5aa75a648555fe253
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Wed Oct 9 11:25:07 2013 +0800
qemu-ga: Add interface to traverse the qmp command list by QmpCommand
In the original code, qmp_get_command_list is used to construct
a list of all commands' name. To get the information of all qga
commands, it traverses the name list and search the command info
with its name. So it can cause O(n^2) in the number of commands.
This patch adds an interface to traverse the qmp command list by
QmpCommand to replace qmp_get_command_list. It can decrease the
complexity from O(n^2) to O(n).
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
*fix up commit subject
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e5d9adbdab972a2172815c1174aed3fabcc448f1
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Tue Oct 1 17:09:53 2013 -0400
qemu-ga: execute fsfreeze-freeze in reverse order of mounts
Currently, fsfreeze-freeze may cause deadlock if a guest has loopback
mounts
of image files in its disk; e.g.:
# mount | grep ^/
/dev/vda1 / type ext4 (rw,noatime,seclabel,data=ordered)
/tmp/disk.img on /mnt type ext4 (rw,relatime,seclabel)
To avoid the deadlock, this freezes filesystems in reverse order of
mounts.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
*fix up commit msg
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6c5f4ead649dd876c5762c468b205563288d5ecd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 13:52:19 2013 -0700
tcg: Add TCGMemOp
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ec9135cd6e5e448a3a5c1d75cac611c655ebb3d5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 3 14:58:00 2013 -0500
configure: Remove CONFIG_QEMU_LDST_OPTIMIZATION
No longer used.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9ecefc84dd12af07394575a75f0689dc748eea78
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 3 14:51:24 2013 -0500
tcg: Add tcg-be-ldst.h
Move TCGLabelQemuLdst and related stuff out of tcg.h.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3cf246f0d402fdb80bfa2b3c0a20131f394c349d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 3 14:04:46 2013 -0500
tcg: Add tcg-be-null.h
This is a no-op backend data implementation, for those targets that
are not currently using the load/store optimization path.
This is prepatory to always requiring these functions in all backends.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dbdbe0cd3124a3e9afa2d1c11da7c6476097bb9d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 14:24:58 2013 -0700
exec: Delete is_tcg_gen_code and GETRA_EXT
All implementations now boil down to GETRA.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 023261ef851b22a04f6c5d76da870051031757a6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Oct 1 13:47:38 2013 -0700
tcg-aarch64: Update to helper_ret_*_mmu routines
A minimal update to use the new helpers with the return address argument.
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 84fd9dd3f78ced9d41e1160d43862bb620cb462a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 16:44:31 2013 -0700
tcg: Merge tcg_register_helper into tcg_context_init
Eliminates the repeated checks for having created
the s->helpers hash table.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4953ee62711bd11a55e58b26c8c71b302198363c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 16:06:50 2013 -0700
tcg: Add tcg-runtime.c helpers to all_helpers
For the few targets that actually use these, we'd not report
them symbolicly in the tcg opcode logs.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 100b5e0170e86661aaf830869be930a1a201ed08
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 15:57:22 2013 -0700
tcg: Put target helper data into an array.
One call inside of a loop to tcg_register_helper instead of hundreds
of sequential calls.
Presumably more icache and branch prediction friendly; resulting binary
size mostly unchanged on x86_64, as we're trading 32-bit rip-relative
references in .text for full 64-bit pointers in .rodata.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f5daeec412b9624ba902bdba26edff88a1694ea6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 15:38:30 2013 -0700
tcg: Remove stray semi-colons from target-*/helper.h
During GEN_HELPER=1, these are actually stray top-level semi-colons
which are technically invalid ISO C, but GCC accepts as an extension.
If we added enough __extension__ markers that we could dare use
-Wpedantic, we'd see
warning: ISO C does not allow extra â??;â?? outside of a function
This will become a hard error in the next patch, wherein those ; will
appear in the middle of a data structure.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5cd8f6210f83db15702e81b91e40e7079608e6f3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 15:09:39 2013 -0700
tcg: Move helper registration into tcg_context_init
No longer needs to be done on a per-target basis.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e5e84d22a3c31a674f9bb1d9ffcb92c111e13421
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 14:41:34 2013 -0700
target-m68k: Rename helpers.h to helper.h
This brings the m68k target in line with all other targets.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e085f72c6d331fb0e9fc69e3061cd1e5893d9e4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 14:37:06 2013 -0700
tcg: Use a GHashTable for tcg_find_helper
Slightly changes the interface, in that we now return name
instead of a TCGHelperInfo structure, which goes away.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7c57df0d852a9a9faf9068ff235886c8b28b113e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 14:29:35 2013 -0700
tcg: Delete tcg_helper_get_name declaration
The function was deleted in 4dc81f2822187f4503d4bdb76785cafa5b28db0b.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 802b5081233a6b643a8b135a5facaf14bafaa77d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 25 12:11:31 2013 -0700
tcg-hppa: Remove tcg backend
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2c6bcfc2e15e1dc5c69c3e579ff2063068ecb85
Merge: 634ebf4 33876df
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 10:03:38 2013 -0700
Merge remote-tracking branch 'sstabellini/xen-2013-10-10' into staging
# By Matthew Daley (1) and Roger Pau Monné (1)
# Via Stefano Stabellini
* sstabellini/xen-2013-10-10:
qemu/xen: make use of xenstore relative paths
xen_disk: mark ioreq as mapped before unmapping in error case
commit 634ebf4b177723f2cf329a719f31913cf9ce5de6
Merge: c4ca690 8464243
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 10:03:00 2013 -0700
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Asias He (1) and Peter Lieven (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
scsi: Allocate SCSITargetReq r->buf dynamically [CVE-2013-4344]
block/iscsi: reenable iscsi_co_get_block_status
Message-id: 1381332391-8781-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c4ca6901582c00a2d13368520779e4948b184071
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 09:56:25 2013 -0700
Update email address
Amazon is now funding my work as QEMU maintainer so update addresses
accordingly.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33876dfad64bc481f59c5e9ccf60db78624c4b93
Author: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Date: Thu Oct 10 14:25:52 2013 +0000
qemu/xen: make use of xenstore relative paths
Qemu has several hardcoded xenstore paths that are only valid on Dom0.
Attempts to launch a Qemu instance (to act as a userspace backend for
PV disks) will fail because Qemu is not able to access those paths
when running on a domain different than Dom0.
Instead make the xenstore paths relative to the domain where Qemu is
actually running.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit a76f48e53382e6f039db6278443e3ce437653302
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 846424350b292f16b732b573273a5c1f195cd7a3
Author: Asias He <asias@xxxxxxxxxx>
Date: Wed Oct 9 15:41:03 2013 +0800
scsi: Allocate SCSITargetReq r->buf dynamically [CVE-2013-4344]
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>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a107170537abdfec7221c1e0d424c82f5faf2ebe
Merge: 80dfc87 d4cea8d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:54:42 2013 -0700
Merge remote-tracking branch 'stefanha/block' into staging
# By Max Reitz (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
block: use correct filename
qemu-iotests: Correct 026 output
qcow2: Free allocated L2 cluster on error
qcow2: Switch L1 table in a single sequence
block: vhdx - add migration blocker
block: use correct filename for error report
qcow2: CHECK_OFLAG_COPIED is obsolete
qcow2: Correct endianness in overlap check
Message-id: 1381145289-6591-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 80dfc87394ed10f47918299a5192f337a85333d8
Merge: 576e81b 387eede
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:54:20 2013 -0700
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (5) and others
# Via Michael Tokarev
* mjt/trivial-patches:
migration: Fix compiler warning ('caps' may be used uninitialized)
util/path: Fix type which is longer than 8 bit for MinGW
hw/9pfs: Fix errno value for xattr functions
vl: Clean up unnecessary boot_order complications
qemu-char: Fix potential out of bounds access to local arrays
pci-ohci: Add missing 'break' in ohci_service_td
sh4: Fix serial line access for Linux kernels later than 3.2
hw/alpha: Fix compiler warning (integer constant is too large)
target-i386: Fix compiler warning (integer constant is too large)
block: Remove unused assignment (fixes warning from clang)
exec: cleanup DEBUG_SUBPAGE
tests: Fix schema parser test for in-tree build
tests: Update .gitignore for test-int128 and test-bitops
.gitignore: ignore tests/qemu-iotests/socket_scm_helper
Message-id: 1381051979-25742-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 576e81be39ee195b9fd7c948fed16ed6846cef3a
Merge: 9e8f8b1 ee06e23
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:52:57 2013 -0700
Merge remote-tracking branch 'rth/tcg-arm-pull' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-arm-pull:
tcg-arm: Move the tlb addend load earlier
tcg-arm: Remove restriction on qemu_ld output register
tcg-arm: Return register containing tlb addend
tcg-arm: Move load of tlb addend into tcg_out_tlb_read
tcg-arm: Use QEMU_BUILD_BUG_ON to verify constraints on tlb
tcg-arm: Use strd for tcg_out_arg_reg64
tcg-arm: Rearrange slow-path qemu_ld/st
tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64
Message-id: 1380663109-14434-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9e8f8b1cd8e1b85dc93c367c4745f9944079a37b
Merge: dfe2279 04fd1c7
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:52:21 2013 -0700
Merge remote-tracking branch 'sweil/mingw' into staging
# By Sebastian Ottlik
# Via Stefan Weil
* sweil/mingw:
util: call socket_set_fast_reuse instead of setting SO_REUSEADDR
slirp: call socket_set_fast_reuse instead of setting SO_REUSEADDR
net: call socket_set_fast_reuse instead of setting SO_REUSEADDR
gdbstub: call socket_set_fast_reuse instead of setting SO_REUSEADDR
util: add socket_set_fast_reuse function which will replace setting
SO_REUSEADDR
Message-id: 1380735690-24009-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit dfe22799751818115ed6d36bedc8a55b2026de3a
Merge: ce079ab ee6ee83
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:52:11 2013 -0700
Merge remote-tracking branch 'kraxel/chardev.8' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.8:
chardev: handle qmp_chardev_add(KIND_MUX) failure
Message-id: 1380708925-6721-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit ce079abb410d685d48c1285bc6749d9b23c78c5c
Merge: 0e19885 3df2b8f
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:50:37 2013 -0700
Merge remote-tracking branch 'sweil/tci' into staging
# By Stefan Weil
# Via Stefan Weil
* sweil/tci:
misc: Use new rotate functions
bitops: Add rotate functions (rol8, ror8, ...)
tci: Add implementation of rotl_i64, rotr_i64
Message-id: 1380137693-3729-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 24c7608a5d973e5d562715998e9887f74deac794
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Oct 2 13:52:08 2013 +0200
block/iscsi: reenable iscsi_co_get_block_status
Commit f35c934a accidently disabled iscsi_co_get_block_status for all
libiscsi versions. Its not possible to check for enumeration constants
in the C preprocessor. This patch changes the check to the preprocessor
constant LIBISCSI_FEATURE_IOVECTOR which was introduced shortly after
get_lba_status support was added to libiscsi.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d4cea8dfb99153803164915c7a1109549ad3da9c
Author: Dunrong Huang <riegamaths@xxxxxxxxx>
Date: Thu Oct 3 01:31:27 2013 +0800
block: use correct filename
The content filename point to may be erased by qemu_opts_absorb_qdict()
in raw_open_common() in drv->bdrv_file_open()
So it's better to use bs->filename.
Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5c1fa87708d5f226bfd96e8eef8c905fb6895ae3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 2 16:45:31 2013 +0200
qemu-iotests: Correct 026 output
Because l2_allocate now frees the unused L2 cluster on error, the
according test cases in 026 don't result in one leaked cluster anymore.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e3b21ef9e016e6d91fd71e44af5e23fb359e18f9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 16:37:19 2013 +0200
qcow2: Free allocated L2 cluster on error
If an error occurs in l2_allocate, the allocated (but unused) L2 cluster
should be freed.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 51fb256ab5ebc3e1879eb1df9c828866a2ef8141
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 18:26:11 2013 +0200
cpu: Drop cpu_model_str from CPU_COMMON
Since this is only read in cpu_copy() and linux-user has a global
cpu_model, drop the field from generic code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 30ba0ee52d1519b717089782ef1caf0480a01dc3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 17:43:21 2013 +0200
cpu: Move cpu_copy() into linux-user
It is only used there and is deemed very fragile if not incorrect in its
current memcpy() form. Moving it into linux-user will allow to move
parts into target_cpu.h headers and only copy what the ABI mandates.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 812586405c5d165aae791d3806a9bbb8312ec2ac
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Sep 3 15:05:17 2013 +0800
cputlb: Remove dead function tlb_update_dirty()
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6c78f29a2424622bfc9c30dfbbc13404481eacb6
Author: Juergen Lock <qemu-l@xxxxxxxxxxxxxxxxxx>
Date: Thu Oct 3 16:09:37 2013 +0200
cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec()
Local variable CPUClass *cc needs to be reloaded after return from
longjmp,
too. (This fixes a mips-softmmu crash observed on FreeBSD when QEMU is
built with clang.)
Reported-by: Dimitry Andric <dim@xxxxxxxxxxx>
Signed-off-by: Juergen Lock <nox@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 387eedebf60a463ba30833588f10123da296ba4d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Oct 5 13:18:28 2013 +0400
migration: Fix compiler warning ('caps' may be used uninitialized)
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
commit ddd23638d7eebd7419148ba8db65f0d53a1920ab
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Oct 2 22:40:29 2013 +0200
util/path: Fix type which is longer than 8 bit for MinGW
While dirent->d_type is 8 bit for most systems, it is 32 bit for MinGW.
Reducing it to 8 bit results in a compiler warning because the macro
is_dir_maybe compares that 8 bit value with 32 bit constants.
Using 'unsigned' instead of 'unsigned char' matches the declaration for
MinGW and does not harm the other systems.
MinGW-w64 is not affected: it does not declare d_type.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8af00205445eb901f17ca5b632d976065187538e
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Tue Oct 1 12:28:17 2013 +0100
hw/9pfs: Fix errno value for xattr functions
If there is no operation driver for the xattr type the
functions return '-1' and set errno to '-EOPNOTSUPP'.
When the calling code sets 'ret = -errno' this turns
into a large positive number.
In Linux 3.11, the kernel has switched to using 9p
version 9p2000.L, instead of 9p2000.u, which enables
support for xattr operations. This on its own is harmless,
but for another change which makes it request the xattr
with a name 'security.capability'.
The result is that the guest sees a succesful return
of 95 bytes of data, instead of a failure with errno
set to 95. Since the kernel expects a maximum of 20
bytes for an xattr return this gets translated to the
unexpected errno ERANGE.
This all means that when running a binary off a 9p fs
in 3.11 kernels you get a fun result of:
# ./date
sh: ./date: Numerical result out of range
The only workaround is to pass 'version=9p2000.u' when
mounting the 9p fs in the guest, to disable all use of
xattrs.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e3fdc535f25b471e55ac3c8b9f0b504957015bbe
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Oct 1 13:47:22 2013 +0200
vl: Clean up unnecessary boot_order complications
Messed up in commit 8281abd.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 49aa4058ac6dd0081aaa45776f07c98df397ca5e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Sep 30 23:04:49 2013 +0200
qemu-char: Fix potential out of bounds access to local arrays
Latest gcc-4.8 supports a new option -fsanitize=address which activates
an AddressSanitizer. This AddressSanitizer stops the QEMU system emulation
very early because two character arrays of size 8 are potentially written
with 9 bytes.
Commit 6ea314d91439741e95772dfbab98b4135e04bebb added the code.
There is no obvious reason why width or height could need 8 characters,
so reduce it to 7 characters which together with the terminating '\0'
fit into the arrays.
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Alex Bennée <alex@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b1c50c5f248805be747e96e89efbe784ee99f764
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Oct 4 12:50:51 2013 -0600
vfio-pci: Fix endian issues in vfio_pci_size_rom()
VFIO is always little endian so do byte swapping of our mask on the
way in and byte swapping of the size on the way out.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
commit 64fa25a0efcadda6e8197e8ea578f6117d01bb4b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Oct 4 08:51:36 2013 -0600
vfio-pci: Add dummy PCI ROM write accessor
Just to be sure we don't jump off any NULL pointer cliffs.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7174e54cf14290233f4ae3e989ebc7b507636e77
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Sep 30 12:35:13 2013 +0200
kvmvapic: Prevent reading beyond the end of guest RAM
rom_state_paddr is guest provided (caller address of outw(VAPIC_PORT) +
writen 16-bit value) and can be influenced to point beyond the end of
the host memory backing the guest's RAM. Make sure we do not use this
pointer to actually read beyond the limits.
Reading arbitrary guest bytes is harmless, the guest kernel has to
manage access to this I/O port anyway.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 1d5bf692e55ae22b59083741d521e27db704846d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Oct 3 09:10:09 2013 -0600
vfio: Fix debug output for int128 values
Memory regions can easily be 2^64 byte long and therefore overflow
for just a bit but that is enough for int128_get64() to assert.
This takes care of debug printing of huge section sizes.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 6ef8263ead779e1eecfaf1e0388f4c3941ea7ec3
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Thu Oct 3 16:16:14 2013 +0800
target-openrisc: Removes a non-conforming behavior for the first page of
the memory
Where *software* leaves 0x0000 - 0x2000 unmapped, the hardware should
still allow for this area to be mapped.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Signed-off-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
commit bf961b52785061e1802214c9e03a1c65b261f7c1
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Thu Oct 3 16:04:46 2013 +0800
target-openrisc: Correct handling of page faults.
The result of (rw & 0) is always zero and therefore a logic false.
The whole comparison will therefore never be executed, it is a obvious
bug,
we should use !(rw & 1) here.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
commit ad98acb9b1d610c4d243f53d9fb380e500d4abbe
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Thu Oct 3 00:04:20 2013 +0100
Update OpenBIOS images
Update OpenBIOS images to SVN r1229 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit f16f39c3fc973c5d7cbc2224eefb4ef5eb1e64ff
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 13:51:00 2013 -0600
vfio-pci: Implement PCI hot reset
Now that VFIO has a PCI hot reset interface, take advantage of it.
There are two modes that we need to consider. The first is when only
one device within the set of devices affected is actually assigned to
the guest. In this case the other devices are are just held by VFIO
for isolation and we can pretend they're not there, doing an entire
bus reset whenever the device reset callback is triggered. Supporting
this case separately allows us to do the best reset we can do of the
device even if the device is hotplugged.
The second mode is when multiple affected devices are all exposed to
the guest. In this case we can only do a hot reset when the entire
system is being reset. However, this also allows us to track which
individual devices are affected by a reset and only do them once.
We split our reset function into pre- and post-reset helper functions
prioritize the types of device resets available to us, and create
separate _one vs _multi reset interfaces to handle the distinct cases
above.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 4b351a0f212769deda960da44e299f44d5da0737
Author: Ján Veselý <jano.vesely@xxxxxxxxx>
Date: Sat Sep 21 16:26:41 2013 -0400
pci-ohci: Add missing 'break' in ohci_service_td
Device communication errors need to be reported to driver.
Add a debug message while at it.
Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 84faf7c3927ca7f3013362e38c58c02a7e733c0c
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Sun Sep 8 00:39:05 2013 -0700
sh4: Fix serial line access for Linux kernels later than 3.2
With Linux kernel version 3.3 or later, qemu fails with the following
message:
sh_serial: unsupported read from 0x18
Aborted
Reported-and-analyzed-by: Rob Landley <rob@xxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9b2caaf40bd667492b4e6228dd3d1f5e44083456
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 29 17:51:20 2013 +0200
hw/alpha: Fix compiler warning (integer constant is too large)
From buildbot default_i386_rhel61:
CC alpha-softmmu/hw/alpha/typhoon.o
hw/alpha/typhoon.c: In function 'typhoon_translate_iommu':
hw/alpha/typhoon.c:703: warning: integer constant is too large for 'long'
type
hw/alpha/typhoon.c:703: warning: integer constant is too large for 'long'
type
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 00fdef658675ac2d019005769c426c275bceec6f
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 29 17:55:56 2013 +0200
target-i386: Fix compiler warning (integer constant is too large)
From buildbot default_i386_rhel61:
CC i386-softmmu/target-i386/arch_memory_mapping.o
target-i386/arch_memory_mapping.c: In function 'walk_pde':
target-i386/arch_memory_mapping.c:110: warning:
integer constant is too large for 'long' type
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3a6f2703268c99f2f2f0a93f2fbacec7b039fd36
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Sep 28 11:55:14 2013 +0200
block: Remove unused assignment (fixes warning from clang)
blockdev.c:1929:13: warning: Value stored to 'ret' is never read
ret = 0;
^ ~
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 016e9d62fe66d40eff09d069714f3ccfd2066d79
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Sep 27 09:25:38 2013 +0800
exec: cleanup DEBUG_SUBPAGE
Touched some error after enabling DEBUG_SUBPAGE.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d8039e58b1ecfdc9af171502c83e3949f6dafb95
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Sep 24 09:43:39 2013 +0200
tests: Fix schema parser test for in-tree build
Commit 4f193e3 added the test, but screwed up in-tree builds
(SRCDIR=.): the tests's output overwrites the expected output, and is
thus compared to itself.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8fbf47c3a8a7f37a11268a07290d20a325ba4cb6
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Cleanup error_reports
Remove carriage returns and tweak formatting for error_reports.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 6f864e6ec8812d5a5525a7861ca599c6bcabdebe
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Lazy PCI option ROM loading
During vfio-pci initfn, the device is not always in a state where the
option ROM can be read. In the case of graphics cards, there's often
no per function reset, which means we have host driver state affecting
whether the option ROM is usable. Ideally we want to move reading the
option ROM past any co-assigned device resets to the point where the
guest first tries to read the ROM itself.
To accomplish this, we switch the memory region for the option rom to
an I/O region rather than a memory mapped region. This has the side
benefit that we don't waste KVM memory slots for a BAR where we don't
care about performance. This also allows us to delay loading the ROM
from the device until the first read by the guest. We then use the
PCI config space size of the ROM BAR when setting up the BAR through
QEMU PCI.
Another benefit of this approach is that previously when a user set
the ROM to a file using the romfile= option, we still probed VFIO for
the parameters of the ROM, which can result in dmesg errors about an
invalid ROM. We now only probe VFIO to get the ROM contents if the
guest actually tries to read the ROM.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit befe5176ef7a0004ba23517c97c804e292273635
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Test device reset capabilities
Not all resets are created equal. PM reset is not very reliable,
especially for GPUs, so we might want to opt for a bus reset if a
standard reset will only do a D3hot->D0 transition. We can also
use this to tell if the standard reset will do a bus reset (if
neither has_pm_reset or has_flr is probed, but the device still
supports reset).
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit c7679d450ee021eb0826be65e4e018884443643a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Add support for MSI affinity
When MSI is accelerated through KVM the vectors are only programmed
when the guest first enables MSI support. Subsequent writes to the
vector address or data fields are ignored. Unfortunately that means
we're ignore updates done to adjust SMP affinity of the vectors.
MSI SMP affinity already works in non-KVM mode because the address
and data fields are read from their backing store on each interrupt.
This patch stores the MSIMessage programmed into KVM so that we can
determine when changes are made and update the routes.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 04fd1c789677fe121cb9546c652d088c994477fb
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:16 2013 +0200
util: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit aad1239a7e15f42c0b8a802433582c48417a4541
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:15 2013 +0200
slirp: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit bcbe92fb080420551125994f3b15c139019da694
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:14 2013 +0200
net: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
An exception to this rule are multicast sockets where it is sensible to
have
multiple sockets listen on the same ip and port and we should set
SO_REUSEADDR
on windows.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 6669ca13c39a8515cc634695698d3dea5f39be1c
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:13 2013 +0200
gdbstub: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 606600a176c981addcfedb0698f13fd0f2f4446e
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:12 2013 +0200
util: add socket_set_fast_reuse function which will replace setting
SO_REUSEADDR
If a socket is closed it remains in TIME_WAIT state for some time. On
operating
systems using BSD sockets the endpoint of the socket may not be reused
while in
this state unless SO_REUSEADDR was set on the socket. On windows on the
other
hand the default behaviour is to allow reuse (i.e. identical to
SO_REUSEADDR on
other operating systems) and setting SO_REUSEADDR on a socket allows it
to be
bound to a endpoint even if the endpoint is already used by another socket
independently of the other sockets state. This can even result in
undefined
behaviour.
Many sockets used by QEMU should not block the use of their endpoint
after being
closed while they are still in TIME_WAIT state. Currently QEMU sets
SO_REUSEADDR
for such sockets, which can lead to problems on Windows. This patch
introduces
the function socket_set_fast_reuse that should be used instead of setting
SO_REUSEADDR when fast socket reuse is desired and behaves correctly on
all
operating systems.
As a failure of this function can only be caused by bad QEMU internal
errors, an
assertion handles these situations. The return value is still passed on,
to
minimize changes in client code and prevent unused variable warnings if
NDEBUG
is defined.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 0e19885e736938c3f6bd8c139eca00728bb24384
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 2 12:09:12 2013 -0500
Update MAINTAINERS
All of Paul's emails are bouncing and he hasn't been active for
some time.
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 2560f19f426aceb4f2e809d860b93e7573cb1c4e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 2 17:54:57 2013 +0200
x86: cpuid: reconstruct leaf 0Dh data
The data in leaf 0Dh depends on information from other feature bits.
Instead of passing it blindly from the host, compute it based on
whether these feature bits are enabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit c74f41bbcc83d12787ac42f2c74fc2be54e9f222
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 13 15:55:57 2013 +0200
x86: fix migration from pre-version 12
On KVM, the KVM_SET_XSAVE would be executed with a 0 xstate_bv,
and not restore anything.
Since FP and SSE data are always valid, set them in xstate_bv at reset
time. In fact, that value is the same that KVM_GET_XSAVE returns on
pre-XSAVE hosts.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit f8e6a11aecc96e9d8a84f17d7c07019471714e20
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Sep 10 17:48:59 2013 -0300
target-i386: Set model=6 on qemu64 & qemu32 CPU models
There's no Intel CPU with family=6,model=2, and Linux and Windows guests
disable SEP when seeing that combination due to Pentium Pro erratum #82.
In addition to just having SEP ignored by guests, Skype (and maybe other
applications) runs sysenter directly without passing through ntdll on
Windows, and crashes because Windows ignored the SEP CPUID bit.
So, having model > 2 is a better default on qemu64 and qemu32 for two
reasons: making SEP really available for guests, and avoiding crashing
applications that work on bare metal.
model=3 would fix the problem, but it causes CPU enumeration problems
for Windows guests[1]. So let's set model=6, that matches "Athlon
(PM core)" on AMD and "P2 with on-die L2 cache" on Intel and it allows
Windows to use all CPUs as well as fixing sysenter.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=508623
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fda74f826baec78d685e5a87fd8a95bfb7bb2243
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 30 17:57:21 2013 +0200
qcow2: Switch L1 table in a single sequence
Switching the L1 table in memory should be an atomic operation, as far
as possible. Calling qcow2_free_clusters on the old L1 table on disk is
not a good idea when the old L1 table is no longer valid and the address
to the new one hasn't yet been written into the corresponding
BDRVQcowState field. To be more specific, this can lead to segfaults due
to qcow2_check_metadata_overlap trying to access the L1 table during the
free operation.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5641bf405608cc89578fafed8ec689a19046285a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Oct 1 11:59:20 2013 -0400
block: vhdx - add migration blocker
This blocks migration for VHDX image files, until the
functionality can be supported.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2fa9aa59cfc472c16309c4e84547aa873423b2f5
Author: Dunrong Huang <riegamaths@xxxxxxxxx>
Date: Tue Sep 24 18:14:01 2013 +0800
block: use correct filename for error report
The content filename point to will be erased by qemu_opts_absorb_qdict()
in raw_open_common() in drv->bdrv_file_open()
So it's better to use bs->filename.
Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db0749012b3d1cf655bddb3cc79052a0fd4dc97b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 30 09:21:07 2013 +0200
qcow2: CHECK_OFLAG_COPIED is obsolete
CHECK_OFLAG_COPIED as a parameter to check_refcounts_l1 and
check_refcounts_l2 is obselete now, since the OFLAG_COPIED consistency
check is actually no longer performed by these functions (but by
check_oflag_copied).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e242b5544a48bc43eca9c637dc91ec06bcf3a31
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 30 08:59:28 2013 +0200
qcow2: Correct endianness in overlap check
If an inactive L1 table is loaded from disk, its entries are in big
endian and have to be converted to host byte order before using them.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee06e23051251c00778edf54fb930198df0e873a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 09:48:56 2013 -0700
tcg-arm: Move the tlb addend load earlier
There are free scheduling slots between the sequence of
comparison instructions. This requires changing the
register in use to avoid conflict with those compares.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 66c2056fb83b873df0a3a4bda3a679bf53d082a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 09:12:32 2013 -0700
tcg-arm: Remove restriction on qemu_ld output register
The main intent of the patch is to allow the tlb addend register
to be changed, without tying that change to the constraint. But
the most common side-effect seems to be to enable usage of ldrd
with the r0,r1 pair.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3e440bef2783b7b2ebc210a0717c36351506b8c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 08:45:53 2013 -0700
tcg-arm: Return register containing tlb addend
Preparatory to rescheduling the tlb load, and changing said register.
Continues to use R1 for now.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d0ebde228415c6d89ad61270a461717fbb04915c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 08:16:00 2013 -0700
tcg-arm: Move load of tlb addend into tcg_out_tlb_read
This allows us to make more intelligent decisions about the relative
offsets of the tlb comparator and the addend, avoiding any need of
writeback addressing.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2488736371ae902f345cf9270d141f0a6797731
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 14:40:52 2013 -0700
tcg-arm: Use QEMU_BUILD_BUG_ON to verify constraints on tlb
One of the two constraints we already checked via #if, but
the tlb offset distance was only checked at runtime.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e5e2e4a74b75b41f72e1e3b3bac8c2a6b02896c2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 11:16:16 2013 -0700
tcg-arm: Use strd for tcg_out_arg_reg64
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9f4dde4a6d34f14509664edc262016f21be5aac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Jul 27 14:09:47 2013 -1000
tcg-arm: Rearrange slow-path qemu_ld/st
Use the new helper_ret_*_mmu routines. Use a conditional call
to arrange for a tail-call from the store path, and to load the
return address for the helper for the load path.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 23bbc25085ceac827e1da9bebead058f436f66a6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Jul 27 08:42:51 2013 -1000
tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9dbb52e862458935c250bac9e71d5a87da4e33e9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Sep 24 09:43:40 2013 +0200
tests: Update .gitignore for test-int128 and test-bitops
Forgotten in commit 6046c62 and 3464700.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d1c295f5721f206d55315405baa2c299acec7d76
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Sun Sep 22 20:49:19 2013 +0800
.gitignore: ignore tests/qemu-iotests/socket_scm_helper
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia<xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ee6ee83de29923483b4905b35f18abf5333f6ea9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 13 12:48:47 2013 +0200
chardev: handle qmp_chardev_add(KIND_MUX) failure
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a684f3cf9b9b9c3cb82be87aafc463de8974610c
Merge: 349cd52 1cf9412
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:15:27 2013 -0500
Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.3.2:
update seabios from 1.7.2.2 to 1.7.3.2
Message-id: 1380533055-24960-1-git-send-email-kraxel@xxxxxxxxxx
commit 349cd52c708eb7974d4517f40151685e09a069f6
Merge: eb322b8 774e80e
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:15:18 2013 -0500
Merge remote-tracking branch 'kraxel/roms.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/roms.1:
roms: add support for building sgabios
roms: enable parallel seabios / seavgabios builds
roms: enable ipxe cross builds
roms: add rules to build slof
roms: rewrite scripts/refresh-pxe-roms.sh
roms: parallel ipxe builds
roms: build lgplvgabios isavga variant
roms: enable parallel builds for 'make lgplvgabios'
roms: add 'make clean'
Message-id: 1380532378-22138-1-git-send-email-kraxel@xxxxxxxxxx
commit eb322b8155120166fa259a8e96040f76ba4fde64
Merge: 4235d77 e26d3e7
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:15:01 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups and enhancements,
and a virtio-net bugfix related to softmac programming.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 29 Sep 2013 01:51:16 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (8) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
smbios: Factor out smbios_maybe_add_str()
smbios: Make multiple -smbios type= accumulate sanely
smbios: Improve diagnostics for conflicting entries
smbios: Convert to QemuOpts
smbios: Normalize smbios_entry_add()'s error handling to exit(1)
virtio-net: fix up HMP NIC info string on reset
pci: remove explicit check to 64K ioport size
piix4: disable io on reset
piix: use 64 bit window programmed by guest
q35: use 64 bit window programmed by guest
pci: add helper to retrieve the 64-bit range
range: add min/max operations on ranges
range: add Range to typedefs
q35: make pci window address/size match guest cfg
Message-id: 1380437951-21788-1-git-send-email-mst@xxxxxxxxxx
commit 4235d77349e93e7157555f20f1892088f55edff4
Merge: 3469a60 6165300
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:14:49 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (10) and others
# Via Kevin Wolf
* kwolf/for-anthony: (30 commits)
qcow2: Remove useless count_contiguous_clusters() parameter
qcow2: COMPRESSED on count_contiguous_clusters
qcow2: count_contiguous_clusters and compression
qcow2: Free only newly allocated clusters on error
qcow2: Always use error path in l2_allocate
qcow2: Don't put invalid L2 table into cache
qemu-iotests: Preallocated zero clusters in 061
qcow2: Correct bitmap size in zero expansion
qemu-iotests: Quote $TEST_IMG* and $TEST_DIR usage
qemu-iotests: Add basic ability to use binary sample images
qemu-iotests: fix qmp.py search path
block: use DIV_ROUND_UP in bdrv_co_do_readv
qcow2: Assert against currently impossible overflow
block: qed - use QEMU_PACKED for on-disk structures
block: qcow2 - used QEMU_PACKED for on-disk structures
block: vpc - use QEMU_PACKED for on-disk structures
block: vdi - use QEMU_PACKED for on-disk structures
rbd: avoid qemu_rbd_snap_list() memory leaks
qdict: Extract qdict_extract_subqdict
block: Fix compiler warning (-Werror=uninitialized)
...
Message-id: 1380296370-14523-1-git-send-email-kwolf@xxxxxxxxxx
commit 3469a60d9f6f7ba6fca3fe0788391f7285ead631
Merge: 28b9d47 594278d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:14:10 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-09-25' into staging
# By Anthony PERARD (2) and Liu, Jinsong (2)
# Via Stefano Stabellini
* sstabellini/xen-2013-09-25:
xen: Enable cpu-hotplug on xenfv machine.
xen: Fix vcpu initialization.
qemu: Add qemu xen logic for Xen HVM S3 resume
qemu: Adjust qemu wakeup
Message-id: alpine.DEB.2.02.1309251749180.5498@xxxxxxxxxxxxxxxxxxxxxxx
commit 28b9d47db61a96d2630c7ffa6cbfdcdd1536f7cb
Merge: 8429d63 7f12d64
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:14:01 2013 -0500
Merge remote-tracking branch 'rth/tcg-ppc-pull' into staging
# By Richard Henderson (19) and Paolo Bonzini (2)
# Via Richard Henderson
* rth/tcg-ppc-pull: (21 commits)
tcg-ppc64: Implement CONFIG_QEMU_LDST_OPTIMIZATION
tcg-ppc64: Add _noaddr functions for emitting forward branches
tcg-ppc64: Streamline tcg_out_tlb_read
tcg-ppc64: Implement tcg_register_jit
tcg-ppc64: Handle long offsets better
tcg-ppc64: Tidy register allocation order
tcg-ppc64: Look through a constant function descriptor
tcg-ppc64: Fold constant call address into descriptor load
tcg-ppc64: Don't load the static chain from TCG
tcg-ppc64: Avoid code for nop move
tcg-ppc64: Use tcg_out64
tcg-ppc64: Use TCG_REG_Rn constants
tcg-ppc64: More use of TAI and SAI helper macros
tcg-ppc64: Reformat tcg-target.c
tcg-ppc: Fix and cleanup tcg_out_tlb_check
tcg-ppc: Use conditional branch and link to slow path
tcg-ppc: Cleanup tcg_out_qemu_ld/st_slow_path
tcg-ppc: Avoid code for nop move
tcg-ppc: use new return-argument ld/st helpers
tcg-ppc: fix qemu_ld/qemu_st for AIX ABI
...
Message-id: 1380126458-3247-1-git-send-email-rth@xxxxxxxxxxx
commit 8429d63b0e5671f112cb4cbf8ab6d697a676ccc4
Merge: d7f0efc d613a56
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:13:43 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Isaku Yamahata (4) and others
# Via Juan Quintela
* quintela/migration.next:
migration: ram_handle_compressed
arch_init: make is_zero_page accept size
migration: Fix debug print type
migration: add version supporting macros for struct pointer
rdma: constify ram_chunk_{index, start, end}
rdma: clean up of qemu_rdma_cleanup()
arch_init: right return for ram_save_iterate
savevm: fix wrong initialization by ram_control_load_hook
savevm: add comments for qemu_file_get_error()
Message-id: 1380024203-25897-1-git-send-email-quintela@xxxxxxxxxx
commit d7f0efcb229bc1c3e458c6968efe4a6644f24740
Merge: 1b365b2 19b0dfc
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:13:32 2013 -0500
Merge remote-tracking branch 'kraxel/audio.1' into staging
# By Bandan Das (3) and Gerd Hoffmann (1)
# Via Gerd Hoffmann
* kraxel/audio.1:
audio: remove CONFIG_MIXEMU configure option
hda-codec: make mixemu selectable at runtime
hda-codec: refactor common definitions into a header file
audio maintainers update
Message-id: 1380011943-15083-1-git-send-email-kraxel@xxxxxxxxxx
commit 1b365b2eb629d033b3650acc9f46fc132ef0981c
Merge: 53d09b7 6a444f8
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:13:18 2013 -0500
Merge remote-tracking branch 'borntraeger/tags/s390-next-20130924' into
staging
This is a bunch of fixes/changes for the s390 architecture. It also
contains the fixes from the previous pull request, which did not make
it yet.
Overall it contains
- a fix for kexec without kdump (which uses diag308 subcode 0 instead of
1)
- several sclp related fixes
- some initial sclp migration code
- the sclp line mode console
- A fix for a boot problem with the virtio ccw ipl bios
- zeroed out padding bytes for the notes section of dump-guest-memory
- some cleanups
# gpg: Signature made Tue 24 Sep 2013 02:18:44 AM CDT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
# By Christian Borntraeger (6) and others
# Via Christian Borntraeger
* borntraeger/tags/s390-next-20130924:
s390/sclplmconsole: Add support for SCLP line-mode console
s390/ebcdic: Move conversion tables to header file
s390/eventfacility: allow childs to handle more than 1 event type
s390/eventfacility: remove unused event_type variable
s390/eventfacility: Fix receive/send masks
s390/eventfacility: fix multiple Read Event Data sources
s390/sclp: add reset() functions
s390/sclpquiesce: Add code to support live migration
s390/sclpconsole: Add code to support live migration for sclpconsole
s390/sclpconsole: modify definition of input buffer
s390/kexec: Implement diag308 subcode 0
s390/ioinst: Moved the CC setting to the IO instruction handlers
s390/cpu: Make setcc() function available to other files
s390/ipl: Update the s390-ccw.img rom
s390/ipl: Fix waiting for virtio processing
s390/dump: zero out padding bytes in notes sections
s390/kvm: Add check for priviledged SCLP handler
Message-id: 1380007671-18976-1-git-send-email-borntraeger@xxxxxxxxxx
commit 1cf9412b3b583b59a1ac131609cbf673662ee7eb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 30 11:17:57 2013 +0200
update seabios from 1.7.2.2 to 1.7.3.2
'git shortlog d4f7d90f..ece025f5' says:
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 (6):
config: allow DEBUG_IO for !QEMU
coreboot: add qemu detection
tweak coreboot qemu detection
apm: fix shutdown
ahci: add missing check for allocation failure
fix buildversion.sh
Hu Tao (1):
Add pvpanic device driver
Kevin O'Connor (101):
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.
Fix USB EHCI detection that was broken in hlist conversion of
PCIDevices.
Fix bug in CBFS file walking with compressed files.
Laszlo Ersek (1):
Enable VGA output when setting Cirrus-specific mode
Michael S. Tsirkin (2):
acpi: make default DSDT optional
acpi: sync FADT flags from PIIX4 to Q35
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 774e80ea1d080c608ab06a3b68d9f583644b8d85
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 24 15:46:52 2013 +0200
roms: add support for building sgabios
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95f7c6803c71ca6f74e8d59da3fd189230d1c466
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 24 15:38:28 2013 +0200
roms: enable parallel seabios / seavgabios builds
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 779fa9d7060c547059ff1993dd38bea565d7f2e7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 23 11:05:48 2013 +0200
roms: enable ipxe cross builds
commit bcf06c15e7beb31a9839951ee24a809b6919a85e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 14:51:10 2013 +0200
roms: add rules to build slof
Add some logic to detect cross compilers. Add support for "make slof",
which should JustWork[tm] if you are on a ppx64 machine or have a ppc64
cross compiler installed somewhere in your path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 93a2b3c470cbf1523478e8272816e3a22400775d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 23 10:24:10 2013 +0200
roms: rewrite scripts/refresh-pxe-roms.sh
Just use the Makefile in roms/
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 46ef7f33a200a903dfcf7174ef5db4a09dc84f06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 15:26:26 2013 +0200
roms: parallel ipxe builds
Enable parallel ipxe builds. Reduce the recursive make calls. Call
recursive make properly using $(MAKE) $(MAKEFLAGS).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5a7bd33385f25ccd09725899b380e0c62f6d5733
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 14:35:31 2013 +0200
roms: build lgplvgabios isavga variant
Add logic to also build+install the isavga vgabios variant.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1ede4dd04b4f16a281a92d6a44905c63fb1635cf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 14:29:29 2013 +0200
roms: enable parallel builds for 'make lgplvgabios'
Recurse into vgabios once, adjust dependencies, call make using
$(MAKE) $(MAKEFLAGS) so jobserver mode works.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6887581728c9eddf858e7458b6eacbfe3ac68302
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 15:34:27 2013 +0200
roms: add 'make clean'
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e26d3e734650640fabd7d95ace4f3a6f88725e0b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:32 2013 +0200
smbios: Factor out smbios_maybe_add_str()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fc3b32958a80bca13309e2695de07b43dd788421
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:31 2013 +0200
smbios: Make multiple -smbios type= accumulate sanely
Currently, -smbios type=T,NAME=VAL,... adds one field (T,NAME) with
value VAL to fw_cfg for each unique NAME. If NAME occurs multiple
times, the last one's VAL is used (before the QemuOpts conversion, the
first one was used).
Multiple -smbios can add multiple fields with the same (T, NAME).
SeaBIOS reads all of them from fw_cfg, but uses only the first field
(T, NAME). The others are ignored.
"First one wins, subsequent ones get ignored silently" isn't nice. We
commonly let the last option win. Useful, because it lets you
-readconfig first, then selectively override with command line
options.
Clean up -smbios to work the common way. Accumulate the settings,
with later ones overwriting earlier ones. Put the result into fw_cfg
(no more useless duplicates).
Bonus cleanup: qemu_uuid_parse() no longer sets SMBIOS system uuid by
side effect.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ec2df8c10a4585ba4641ae482cf2f5f13daa810e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:30 2013 +0200
smbios: Improve diagnostics for conflicting entries
We allow either tables or fields for the same type. Makes sense,
because SeaBIOS uses fields only when no tables are present.
We do this by searching the SMBIOS blob for a previously added table
or field. Error messages look like this:
qemu-system-x86_64: -smbios type=1,serial=42: SMBIOS type 1 table
already defined, cannot add field
User needs to know that "table" is defined by -smbios file=..., and
"field" by -smbios type=...
Instead of searching the blob, record additions of interest, and check
that. Simpler, and makes better error messages possible:
qemu-system-x86_64: -smbios file=smbios_type_1.bin: Can't mix file=
and type= for same type
qemu-system-x86_64: -smbios type=1,serial=42,serial=99: This is the
conflicting setting
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4f953d2fc806f1ba6fa76f01dfd121fe7d0dc4a7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:29 2013 +0200
smbios: Convert to QemuOpts
So that it can be set in config file for -readconfig.
This tightens parsing of -smbios, and makes it more consistent with
other options: unknown parameters are rejected, numbers with trailing
junk are rejected, when a parameter is given multiple times, last
rather than first wins, ...
MST: drop one chunk to fix build errors
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 351a6a73ca7a9123f0dfd6c6f85fd01e82fe3741
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:28 2013 +0200
smbios: Normalize smbios_entry_add()'s error handling to exit(1)
It exits on all error conditions but one, where it returns -1.
Normalize, and return void.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 61653008adad45026464f962759112995802fe01
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 27 13:36:11 2013 +0200
qcow2: Remove useless count_contiguous_clusters() parameter
All callers pass start = 0, and it's doubtful if any other value would
actually do what you expect. Remove the parameter.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
commit 22f0dd29afd6011b2b7a94bf860502eafce4ddd5
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 27 12:14:16 2013 +0200
qcow2: COMPRESSED on count_contiguous_clusters
Compressed clusters can never be contiguous, therefore the corresponding
flag does not need to be given explicitly to count_contiguous_clusters.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15684a474286cc2c6106c756ddd095a21d058970
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 27 12:14:15 2013 +0200
qcow2: count_contiguous_clusters and compression
The function is not intended to be used on compressed clusters and will
not work correctly, if used anyway, since L2E_OFFSET_MASK is not the
right mask for determining the offset of compressed clusters. Therefore,
assert that the first cluster is not compressed and always include the
compression flag in the mask of significant flags, i.e., stop the search
as soon as a compressed cluster occurs.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 320c70666687db4dd4df8165f9fe6960de782ca9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 27 10:21:48 2013 +0200
qcow2: Free only newly allocated clusters on error
In expand_zero_clusters_in_l1, a new cluster is only allocated if it was
not already preallocated. On error, such preallocated clusters should
not be freed, but only the newly allocated ones.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit be0b742ee320d1139d57062fa18490e7aa485f2a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 16:37:20 2013 +0200
qcow2: Always use error path in l2_allocate
Just returning -errno in some cases prevents
trace_qcow2_l2_allocate_done from being executed (and, in one case, also
the unused allocated L2 table from being freed). Always going down the
error path fixes this.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8585afd8133eed037dde9c14106e7eb8d7c46968
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 16:37:18 2013 +0200
qcow2: Don't put invalid L2 table into cache
In l2_allocate, the fail path is executed if qcow2_cache_flush fails.
However, the L2 table has not yet been fetched from the L2 table cache.
The qcow2_cache_put in the fail path therefore basically gives an
undefined argument as the L2 table address (in this case).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fd9e03e6060b3a64099d17e4a886421b21dd7341
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 12:07:23 2013 +0200
qemu-iotests: Preallocated zero clusters in 061
Add a test case for zero cluster expansion on an image completely filled
with preallocated zero clusters to test 061.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e390cf5a9722d3f3cc54efb505f6ff37fa554b11
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 12:07:22 2013 +0200
qcow2: Correct bitmap size in zero expansion
Since the expanded_clusters bitmap is addressed using host offsets in
the underlying image file, the correct size to use for allocating the
bitmap is not determined by the guest disk image but by the underlying
host image file.
Furthermore, this size may change during the expansion due to cluster
allocations on growable image files. In this case, the bitmap needs to
be resized as well to reflect the growth.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fef9c19139f4d69a080d99b8cbade163d0bbf0fc
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 08:12:22 2013 -0400
qemu-iotests: Quote $TEST_IMG* and $TEST_DIR usage
A lot of image filename and paths are used unquoted. Quote these to
make sure that directories / filenames with spaces are not problematic.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 85edbd375b9ab451c6769011cb6b3e0287dc71e4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 08:12:20 2013 -0400
qemu-iotests: Add basic ability to use binary sample images
For image formats that are not "QEMU native", but supported for
compatibility, it is useful to verify that an image created with
the 'gold standard' native tool can be read / written to successfully
by QEMU.
In addition to testing non-native images, this could also be useful to
test against image files created by older versions of QEMU.
This provides a directory to store small sample images, for use by
scripts in tests/qemu-iotests.
Image files should be compressed with bzip2.
To use a sample image from a bash script, the _use_sample_img function
will copy and decompress the image into $TEST_DIR, and set $TEST_IMG to
be the decompressed sample image copy. To cleanup, call
_cleanup_test_img as normal.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 212774c5a5036b327dc10a0dd3e5fe194b509a18
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Sep 26 19:57:34 2013 +0800
qemu-iotests: fix qmp.py search path
QMP/qmp.py is renamed to scripts/qmp/qmp.py, fix the search path in
iotests.py.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d055a1fec37ec84fd3e87d48a0e766a9ff8369c4
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Sep 26 19:55:33 2013 +0800
block: use DIV_ROUND_UP in bdrv_co_do_readv
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c01dbccbad647be5784be39eb8fa0144732295db
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 17:48:55 2013 +0200
qcow2: Assert against currently impossible overflow
If qcow2_alloc_cluster_link_l2 is called with a QCowL2Meta describing a
request crossing L2 boundaries, a buffer overflow will occur. This is
impossible right now since such requests are never generated (every
request is shortened to L2 boundaries before) and probably also
completely unintended (considering the name "QCowL2Meta"), however, it
is still worth an assertion.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3df2b8fde949be86d8a78923c992fdd698d4ea4c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 21:13:13 2013 +0200
misc: Use new rotate functions
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 6aa25b4a7bb10c48c3054f268d5be98e42ea42c0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 21:13:12 2013 +0200
bitops: Add rotate functions (rol8, ror8, ...)
These functions were copies from include/linux/bitopts.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d285bf784b6234e994ce73c05c82c9fb6429df00
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 21:13:11 2013 +0200
tci: Add implementation of rotl_i64, rotr_i64
It is used by qemu-ppc64 when running Debian's busybox-static.
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 687fb89366366ce654a17c15af48adfe8c4ce70a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:51 2013 -0400
block: qed - use QEMU_PACKED for on-disk structures
QEDHeader is read, and written, directly from on-disk images
via bdrv_pread()/write(). To avoid any unintentional padding,
these structs should be packed.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c4217f645dfdfd405cd0c50af953515e1114436a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:50 2013 -0400
block: qcow2 - used QEMU_PACKED for on-disk structures
QCowHeader and QCowExtension are structs that reside in the on-disk
image format, and are read and written directly via bdrv_pread()/write(),
and as such should be packed to avoid any unintentional struct padding.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e54835c06d1f4896941c1505a86532aa1403ebe8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:49 2013 -0400
block: vpc - use QEMU_PACKED for on-disk structures
The VHD footer and header structs (vhd_footer and vhd_dyndisk_header)
are on-disk structures for the image format, and as such should be
packed.
Go ahead and make these typedefs as well, with the preferred QEMU
naming convention, so that the packed attribute is used consistently
with the struct.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8368febd81cbf3cc71f5b0e92ef36e482dff37ca
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:48 2013 -0400
block: vdi - use QEMU_PACKED for on-disk structures
The header struct VdiHeader is an on-disk structure for the image
format, and as such should be packed.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 594278d9f251222675f1c24f5fbb1b05560b8711
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>
commit 1cd25a889687ab199944b98c1bdc59216ea81487
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>
commit 11addd0ab9371af2b6ec028c7fe4e4c4992252fc
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>
commit 4bc78a877252d772b983810a7d2c0be00e9be70e
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>
commit 7f12d6497f9c4907c1ce4ef296392aef305ed587
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 16:15:18 2013 -0700
tcg-ppc64: Implement CONFIG_QEMU_LDST_OPTIMIZATION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c7ca6a2b75f3867dd723c214fac08aa6cbf8cf94
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 17:58:10 2013 -0700
tcg-ppc64: Add _noaddr functions for emitting forward branches
... rather than open-coding this stuff through the file.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fedee3e7fda16e2ca438d2de6e76e4d434bcd3bb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 15:11:44 2013 -0700
tcg-ppc64: Streamline tcg_out_tlb_read
Less conditional compilation. Merge an add insn with the indexed
memory load insn. Load the tlb addend earlier. Avoid the address
update memory form.
Fix a bug in not allowing large enough tlb offsets for some guests.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fa94c3be7a3fc7f1beaa3b031da7199ae3c5ddc8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 04:44:21 2013 -0700
tcg-ppc64: Implement tcg_register_jit
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b18d5d2b80ba0fd33edabae72fd7e7ad6f20316a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 11:36:42 2013 -0700
tcg-ppc64: Handle long offsets better
Previously we'd only handle 16-bit offsets from memory operand without
falling
back to indexed, but it's easy to use ADDIS to handle full 32-bit offsets.
This also lets us unify code that existed inline in tcg_out_op for
handling
addition of large constants.
The new R2 temporary was marked reserved for the AIX calling convention,
but
the register really is call-clobbered and since tcg generated code has no
use
for a TOC, it's available for use.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e1702b0742b7cc88e85dfe76c3ba5d1432312aa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 10:18:49 2013 -0700
tcg-ppc64: Tidy register allocation order
Remove conditionalization from tcg_target_reg_alloc_order, relying on
reserved_regs to prevent register allocation that shouldn't happen.
So R11 is now present in reg_alloc_order for __APPLE__, but also now
reserved.
Sort reg_alloc_order into call-saved, call-clobbered, and parameters.
This reduces the effect of values getting spilled and reloaded before
function calls.
Whether or not it is reserved, R2 (TOC) is always call-clobbered.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b0940da012c4c80145fdcf1730620f28ce80c2d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 06:30:45 2013 -0700
tcg-ppc64: Look through a constant function descriptor
Especially in the user-only configurations, a direct branch into
the executable may be in range.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d40f3cb1128208d901b6224b52ff36ff05680d28
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 06:13:49 2013 -0700
tcg-ppc64: Fold constant call address into descriptor load
Eliminates one insn per call:
: lis r2,4165
-: ori r2,r2,59616
-: ld r0,0(r2)
+: ld r0,-5920(r2)
: mtctr r0
-: ld r2,8(r2)
+: ld r2,-5912(r2)
: bctrl
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad94e1a9db52de4ddfd9940324249518e0265902
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 23:14:19 2013 -0700
tcg-ppc64: Don't load the static chain from TCG
There are no helpers that require the static chain.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f8b84129073d600cef20d526814b9bdd15c2e1ba
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 18:26:04 2013 -1000
tcg-ppc64: Avoid code for nop move
While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e0f40cfedecfbc2a0608d75e8a8d22173f23431
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:46:25 2013 -0700
tcg-ppc64: Use tcg_out64
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8327a470df78cb41de95f6be0133a59e0a721e2c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:41:45 2013 -0700
tcg-ppc64: Use TCG_REG_Rn constants
Instead of bare N, for clarity. The only (intentional) exception made
is for insns that encode R|0, i.e. when R0 encoded into the insn is
interpreted as zero not the contents of the register.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 29b69198690f4b2754338c7c01f8ebe004b2efac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:23:23 2013 -0700
tcg-ppc64: More use of TAI and SAI helper macros
Finish conversion of all memory operations.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 541dd4ceaacb92d93ceae87d4d521ae8bd381559
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:14:53 2013 -0700
tcg-ppc64: Reformat tcg-target.c
Whitespace and brace changes only.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8f50c841b374dc90ea604888ca92c37f469c428a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 09:32:20 2013 -0700
tcg-ppc: Fix and cleanup tcg_out_tlb_check
The fix is that sparc has so many mmu modes that the last one overflowed
the 16-bit signed offset we assumed would fit. Handle this, and check
the new assumption at compile time.
Load the tlb addend earlier for the fast path.
Remove the explicit address + addend and make use of index addressing.
Adjust constraints for qemu_ld64 such that we don't clobber the address
register or tlb addend before loading both values.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5b1c985b7e4d3f430769925c1775c9e8836272df
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 9 16:49:36 2013 -0700
tcg-ppc: Use conditional branch and link to slow path
Saves one insn per slow path. Note that we can no longer use
a tail call into the store helper.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d10cf9886429d17d22e233081697ef27465dca3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 10:07:24 2013 -0700
tcg-ppc: Cleanup tcg_out_qemu_ld/st_slow_path
Coding style fixes. Use TCGReg enumeration values instead of raw
numbers. Don't needlessly pull the whole TCGLabelQemuLdst struct
into local variables. Less conditional compilation.
No functional changes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4b2b114d8cc0f0f59bc20855bf287fb3df55b553
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 15:51:08 2013 -0700
tcg-ppc: Avoid code for nop move
While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 619f90ba62e27c674b1a9af8c0ae68eef8d64a92
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 5 10:22:09 2013 +0200
tcg-ppc: use new return-argument ld/st helpers
These use a 32-bit load-of-immediate to save a mflr+addi+mtlr sequence.
Tested with a Windows 98 guest (pretty much the most recent thing I
could run on my PPC machine) and kvm-unit-tests's sieve.flat. The
speed up for sieve.flat is as high as 10% for qemu-system-i386, 25%
(no kidding) for qemu-system-x86_64 on my PowerBook G4.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a115579883e6c0e56394bf7aaabd04260e11233
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 5 10:22:08 2013 +0200
tcg-ppc: fix qemu_ld/qemu_st for AIX ABI
For the AIX ABI, the function pointer and small area pointer need
to be loaded in the trampoline. The trampoline instead is called
with a normal BL instruction.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9e6337d0818650362149b734d53edf9489f3acaa
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>
commit 5726d872f3c7a78a6c17ff5a6e47e01cff0a5e55
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Wed Sep 25 13:30:01 2013 +0200
qdict: Extract qdict_extract_subqdict
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c3e4f43a99549daa6e9b87350922e8339341c2ab
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 22 08:19:10 2013 +0200
block: Fix compiler warning (-Werror=uninitialized)
The patch fixes a warning from gcc (Debian 4.6.3-14+rpi1) 4.6.3:
block/stream.c:141:22: error:
â??copyâ?? may be used uninitialized in this function
[-Werror=uninitialized]
This is not a real bug - a better compiler would not complain.
Now 'copy' has always a defined value, so the check for ret >= 0
can be removed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 030be32184034261da14693b69e9582f6fe4af9d
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Tue Sep 24 17:07:04 2013 +0200
block: introduce BlockDriver.bdrv_needs_filename to enable some drivers.
Some drivers will have driver specifics options but no filename.
This new bool allow the block layer to treat them correctly.
The .bdrv_needs_filename is set in drivers not having
.bdrv_parse_filename and
not having .bdrv_open.
The first exception to this rule will be the quorum driver.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2fe2e2907163f6d86b6bbced776ec8f9319ca83f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Sep 25 17:45:51 2013 +0800
qemu-iotests: add monolithicFlat creation test to 059
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fc7ce63fb101ffb56027a04e89c8c6a38031bfc3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Sep 25 17:45:50 2013 +0800
qemu-iotests: fix test case 059
Since commit "block: Error parameter for open functions", error output
is more verbose. Update test case output file to follow the change.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 301c7d38a0c359b91526391d13617386f3d9bb29
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>
commit 1f9db2243c1b987c834fe559a8e73b3178f50c2b
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Sep 24 15:35:09 2013 +0200
block/get_block_status: avoid segfault if there is no backing_hd
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3e0a233d869e74e78b516be34715b91528508cfc
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Sep 24 15:35:08 2013 +0200
block/get_block_status: set *pnum = 0 on error
if the call is invoked through bdrv_is_allocated the caller might
expect *pnum = 0 on error. however, a new implementation of
bdrv_get_block_status might only return a negative exit value on
error while keeping *pnum untouched.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7454d600457f75f4fda6bf7be027fd3bcf7d5220
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 24 13:50:46 2013 +0200
qcow2: Don't shadow return value
When trying to update the refcounts for a snapshot, the return value of
update_refcount on a compressed cluster was pretty much ignored,
cancelling the update on error but returning 0. This is caused by an
inner "ret" variable shadowing the outer one (the latter is used in the
return statement).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ff42308f30e05155efc78a1f00f53943ca51e4f9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 23 16:38:33 2013 +0200
qemu-iotests: Do not execute 052 with -nocache
Test 052 uses qemu-io -s which will result in bdrv_open trying to create
a temporary snapshot file in /tmp. However, since O_DIRECT and tmpfs
do not work well together, disable this test for -nocache.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4db9c980027447816cfd00703070a7672cb8e482
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Sun Sep 22 20:05:07 2013 +0800
qemu-iotests: add test for backing file overriding
Test that backing.file.filename option can be parsed and override the
backing file from image (backing file reflected with "info block").
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dbecebddfa4932d1c83915bcb9b5ba5984eb91be
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Sun Sep 22 20:05:06 2013 +0800
block: fix backing file overriding
Providing backing.file.filename doesn't override backing file as expected:
$ x86_64-softmmu/qemu-system-x86_64 -drive \
file=/tmp/child.qcow2,backing.file.filename=/tmp/fake.qcow2
qemu-system-x86_64: -drive \
file=/tmp/child.qcow2,backing.file.filename=/tmp/fake.qcow2:
could not
open disk image /tmp/child.qcow2: Can't specify 'file' and
'filename'
options at the same time
With
$ qemu-img info /tmp/child.qcow2
image: /tmp/child.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 196K
cluster_size: 65536
backing file: /tmp/fake.qcow2
This fixes it by calling bdrv_get_full_backing_filename only if
backing.file.filename is not provided. Also save the backing file name
to bs->backing_file so the information is correct with HMP "info block".
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e3608d66cea318698a2c4361d4e11a0e224c36db
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 15:48:21 2013 -0700
configure: Allow command-line configure for ppc32
Similar to manually selecting i386 for an x86_64 host.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c236f4519c9838801798f3705c17dce9ab9e3b9d
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Tue Sep 24 14:50:44 2013 -0300
seccomp: fine tuning whitelist by adding times()
This was causing Qemu process to hang when using -sandbox on as
discribed on RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1004175
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Tested-by: Paul Moore <pmoore@xxxxxxxxxx>
Acked-by: Paul Moore <pmoore@xxxxxxxxxx>
commit d613a56f845788412a442c6b5aff88b38244f99a
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Sep 21 01:23:37 2013 +0900
migration: ram_handle_compressed
ram_handle_compressed() should be aware of size > TARGET_PAGE_SIZE.
migration-rdma can call it with larger size.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dc3c26a479e5bd19c1b3c04f696b8f70ad57f0b7
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Sep 21 01:23:36 2013 +0900
arch_init: make is_zero_page accept size
Later is_zero_page will be used for non TARGET_PAGE_SIZE
range.
And rename it to is_zero_range as it isn't page size any more.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5016e2df569bc7d67637060103dd360ed2f0d557
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Aug 23 10:34:16 2013 -0700
migration: Fix debug print type
The printf args are uint64_t and with -Werr QEMU doesn't compile with
migration debugging turned on unless this is fixed. Fix it.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7102400d40be7fcfb017c8f211d6a37ecead2a2f
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Sep 4 14:35:26 2013 +1000
migration: add version supporting macros for struct pointer
This adds version supporting macros VMSTATE_STRUCT_POINTER_TEST_V
and VMSTATE_STRUCT_POINTER_V in addition to the already existing
VMSTATE_STRUCT_POINTER and VMSTATE_STRUCT_POINTER_TEST macros.
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dd286ed700c6ca2768ac3452bc5b79af1709296a
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 11:32:19 2013 +0900
rdma: constify ram_chunk_{index, start, end}
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5a91337cdf343b94474f8bbecab85a8c00f6d2a1
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Tue Aug 13 11:12:43 2013 +0900
rdma: clean up of qemu_rdma_cleanup()
- It can't be determined by RDMAContext::cm_id != NULL if the connection
is established or not.
- RDMAContext::cm_id is leaked and not destroyed because it is set to NULL
too early.
- RDMAContext::qp is created by rdma_create_qp() so that it should be
destroyed
by rdma_destroy_qp(). not ibv_destroy_qp()
Cc: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6cd0beda2c3c21fd7575e944764f392be7ef50c1
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:02:36 2013 +0800
arch_init: right return for ram_save_iterate
qemu_file_rate_limit() never return negative value since the refactor
by Commit 1964a39, this patch gets rid of the negative check for it,
adjust bytes_transferred and return value correspondingly in
ram_save_iterate().
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c77a5f2daa1ccbd825d59b95c70207c0a196bb94
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:02:35 2013 +0800
savevm: fix wrong initialization by ram_control_load_hook
It should set negative error value rather than 0 in QEMUFile
if there has been an error.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 675fd0a7daa484a2011895583249c88ef2a27921
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:02:34 2013 +0800
savevm: add comments for qemu_file_get_error()
Add comments for qemu_file_get_error(), as its return value
is not very clear.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 19b0dfc19c0d911c322a03899806c59bc2f593c9
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Sat Sep 7 00:54:00 2013 -0400
audio: remove CONFIG_MIXEMU configure option
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2690e61e8e313461428334586ed9dbf56531dae9
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Sat Sep 7 00:53:59 2013 -0400
hda-codec: make mixemu selectable at runtime
Define PARAM so that we have two versions of the "desc_codec
and family" structs. Add a property called "mixer" whose default
value depends on whether CONFIG_MIXEMU is defined or not which
will help us call the appropriate instance init functions.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7953793c033343dbea97836645edbe4e61754b11
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Sat Sep 7 00:53:58 2013 -0400
hda-codec: refactor common definitions into a header file
Move common defines and structs to a header file.
The next commit will include it twice, once for a device with a
mixer, and once for device without a mixer.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9f575846673f9f4e4f46b5710d1025af44762f92
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 24 10:26:24 2013 +0200
audio maintainers update
av1474@xxxxxxxx bounces, and I havn't seen malc @ qemu-devel for quite a
while (anyone knows what is up?). Adding myself as audio maintainer, so
audio patches don't fall through the cracks that easily.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 53d09b761f032f50c4424e8649396a9041070bae
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Mon Sep 23 14:11:53 2013 +0200
linux-user: Handle SOCK_CLOEXEC/NONBLOCK if unavailable on host
If the host lacks SOCK_CLOEXEC, bail out with -EINVAL.
If the host lacks SOCK_ONONBLOCK, try to emulate it with fcntl()
and O_NONBLOCK.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 89aaf1a6ad91c4cb3224fcca461d71dac9fa3fa6
Author: Riku Voipio <riku.voipio@xxxxxxxxxx>
Date: Wed Jul 24 09:44:26 2013 +0300
[v2] linux-user: implement m68k atomic syscalls
With nptl enabled, atomic_cmpxchg_32 and atomic_barrier
system calls are needed. This patch enabled really dummy
versions of the system calls, modeled after the m68k
kernel code.
With this patch I am able to execute m68k binaries
with qemu linux-user (busybox compiled for coldfire).
[v2] que an segfault instead of returning a EFAULT
to keep in line with kernel code.
Cc: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1308c464a8414ce3c6f79e172255fb90b5aa313d
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Mon Sep 9 17:36:40 2013 -0700
linux-user: Check type of microMIPS break instruction
microMIPS instructions that cause breakpoint exceptions come in
16-bit and 32-bit variants. When handling exceptions caused by
such instructions, the instruction type needs to be taken into
account when extracting the break code.
The code has also been restructured for better clarity.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit dbf4f7965af974593da596ec12ac877d248efed6
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Sep 13 19:27:29 2013 +0200
linux-user: correct how SOL_SOCKET is converted from target to host and
back
Previous implementation does not take into account that SOL_SOCKET
constant
can be arch specific. This change fixes some issues with sendmsg/recvmsg.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 03cfd8faa7ffb7201e2949b99c2f35b1fef7078b
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:44 2013 +0200
linux-user: add support of binfmt_misc 'O' flag
The binfmt_misc module can calculate the credentials and security
token according to the binary instead of to the interpreter if the
'C' flag is enabled.
To be able to execute non-readable binaries, this flag implies 'O'
flag. When 'O' flag is enabled, bintfmt_misc opens the file for
reading and pass the file descriptor to the interpreter.
References:
linux/Documentation/binfmt_misc.txt ['O' and 'C' description]
linux/fs/binfmt_misc.c linux/fs/binfmt_elf.c [ AT_EXECFD usage ]
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 0d78b3b5b1b5c391aa96b481be106de023810b66
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:43 2013 +0200
linux-user: add some IPV6 commands in setsockop()
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit bd00c74c7fdd8a34d5e22e27931b3a3a77e3b0dd
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:42 2013 +0200
linux-user: allow use of TIOCGSID
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f57d419241e7c7cce5d11172081a5860e86aa8bc
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:41 2013 +0200
linux-user: Add setsockopt(SO_ATTACH_FILTER)
This is needed to be able to run dhclient.
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit de6b9933772c743789808531b3092329faf42496
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:40 2013 +0200
linux-user: convert /proc/net/route when endianess differs
This patch allows to have IP addresses in correct order
in the case of "netstat -nr" when the endianess of the
guest differs from one of the host.
For instance, an m68k guest on an x86_64 host:
WITHOUT this patch:
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
0.0.0.0 1.3.0.10 0.0.0.0 UG 0 0 0
eth0
0.3.0.10 0.0.0.0 0.255.255.255 U 0 0 0
eth0
$ cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric
Mask MTU Window IRTT
eth0 00000000 0103000A 0003 0 0 0
000000000 0 0
eth0 0003000A 00000000 0001 0 0 0
00FFFFFF0 0 0
WITH this patch:
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0
eth0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
eth0
$ cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric
Mask MTU Window IRTT
eth0 00000000 0a000301 0003 0 0 0
000000000 0 0
eth0 0a000300 00000000 0001 0 0 0
ffffff000 0 0
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 868e34d7bdf958963da9582c1c14f2b7930b6d37
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 24 09:50:01 2013 -1000
mips-linux-user: Adjust names in mips_syscall_args
The name field of MIPS_SYS isn't actually used; it's just documentation.
But adjust the umount entries to match mips/syscall_nr.h anyway.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 8070e7be8b2909b48b56b5e965fca209ba5969db
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 24 09:50:00 2013 -1000
alpha-linux-user: Fix umount syscall numbers
It has been pointed out on LKML that the alpha umount syscall numbers
are named wrong, and a patch to rectify that has been posted for 3.11.
Glibc works around this by treating NR_umount as NR_umount2 if
NR_oldumount exists. That's more complicated than we need in QEMU,
given that we control linux-user/*/syscall_nr.h.
This is the last instance of TARGET_NR_oldumount, so delete that from
the strace.list.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f828a4c8faa118e0ebab3e353ac6840f3b2a0318
Merge: feb678c cbf5b96
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:53:22 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Alexey Kardashevskiy
# Via Stefan Hajnoczi
* stefanha/tracing:
kvm: fix traces to use %x instead of %d
Message-id: 1379699931-5837-1-git-send-email-stefanha@xxxxxxxxxx
commit feb678c6f7234d5227610939aff0510878590e83
Merge: 16121fa 97410dd
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:53:11 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Aurelien Jarno (1) and Vincenzo Maffione (1)
# Via Stefan Hajnoczi
* stefanha/net:
e1000: NetClientInfo.receive_iov implemented
pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN
Message-id: 1379699613-5338-1-git-send-email-stefanha@xxxxxxxxxx
commit 16121fa39e1ec17308162af4de5c5f6c01c1cce1
Merge: 2e6ae66 ef5bc96
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:53:05 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
virtio-blk: do not relay a previous driver's WCE configuration to the
current
blockdev: do not default cache.no-flush to true
block: don't lose data from last incomplete sector
qcow2: Correct snapshots size for overlap check
coroutine: fix /perf/nesting coroutine benchmark
coroutine: add qemu_coroutine_yield benchmark
qemu-timer: do not take the lock in timer_pending
qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe
qemu-timer: drop outdated signal safety comments
osdep: warn if open(O_DIRECT) on fails with EINVAL
libcacard: link against qemu-error.o for error_report()
Message-id: 1379698931-946-1-git-send-email-stefanha@xxxxxxxxxx
commit 2e6ae666c8ccaa7fd26d7102c5c9bed24dc02b1d
Merge: 3e4be9c 7a1c0d2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:52:55 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (8) and others
# Via Michael Tokarev
* mjt/trivial-patches:
tests/.gitignore: ignore test-throttle
exec: Fix broken build for MinGW (regression)
kvm: Fix compiler warning (clang)
tcg-sparc: Fix parenthesis warning
Makefile: Remove some more files when cleaning
target-i386: Fix segment cache dump
iov: avoid "orig_len may be used unitialized" warning
vscclient: remove unnecessary use of uninitialized variable
trace-events: Clean up with scripts/cleanup-trace-events.pl again
tci: Fix qemu-alpha on 32 bit hosts (wrong assertions)
*-user: Improve documentation for lock_user function
MAINTAINERS: Add missing entry to filelist for TCI target
translate-all: Fix formatting of dump output
*-user: Fix typo in comment (ulocking -> unlocking)
docs: Fix IO port number for CPU present bitmap.
q35: Fix typo in constant DEFUALT -> DEFAULT.
configure: Undefine _FORTIFY_SOURCE prior using it
Message-id: 1379696296-32105-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
commit 3e4be9c29784df09c364b52a55e826a0b05b950e
Merge: f3ca508 f010bc6
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:52:49 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Alexey Kardashevskiy (3) and others
# Via Paolo Bonzini
* qemu-kvm/uq/master:
target-i386: add feature kvm_pv_unhalt
linux-headers: update to 3.12-rc1
target-i386: forward CPUID cache leaves when -cpu host is used
linux-headers: update to 3.11
kvm: fix traces to use %x instead of %d
kvmvapic: Clear also physical ROM address when entering INACTIVE state
kvmvapic: Enter inactive state on hardware reset
kvmvapic: Catch invalid ROM size
kvm irqfd: support direct msimessage to irq translation
fix steal time MSR vmsd callback to proper opaque type
kvm: warn if num cpus is greater than num recommended
cpu: Move cpu state syncs up into cpu_dump_state()
exec: always use MADV_DONTFORK
Message-id: 1379694292-1601-1-git-send-email-pbonzini@xxxxxxxxxx
commit f3ca508f00fa1cc295334fe8f8010cd6ea45bacd
Merge: 2571f8f f35c934
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:52:32 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Hervé Poussineau (5) and Stefan Weil (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
block/iscsi: Drop iscsi_co_get_block_status for older versions of
libiscsi
lsi: add 53C810 variant
lsi: remove todo
lsi: ignore write accesses to CTEST0 registers
lsi: check ssid versus sdid only if ssid is valid
lsi: use constant name instead of its value
commit 702d66a813dd84afd7c3d1ad8cbdcc8e3449bcd9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 17 11:45:36 2013 +0300
virtio-net: fix up HMP NIC info string on reset
When mac is updated on reset, info string has stale data.
Fix it up.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cbf5b968567dbd5a71165c1d30a0ce351bdca11a
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Sep 4 20:26:25 2013 +1000
kvm: fix traces to use %x instead of %d
KVM request types are normally defined using hex constants but QEMU traces
print decimal values instead, which is not very convenient.
This changes the request type format from %d to %x.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97410dde60fdb66a65268fd9d7b14092efac7614
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Sep 12 10:47:37 2013 +0200
e1000: NetClientInfo.receive_iov implemented
This patch implements the NetClientInfo.receive_iov method for the
e1000 device emulation. In this way a network backend that uses
qemu_sendv_packet() can deliver the fragmented packet without
requiring an additional copy in the frontend/backend network code
(nc_sendv_compat() function).
The existing method NetClientInfo.receive has been reimplemented
using the new method.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a26405b350c0d31d5ef53f3b459aeb6eaaf50db0
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>
commit ef5bc96268ceec64769617dc53b0ac3a20ff351c
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>
commit 1df6fa4bc6754a170cf511a78e2e6fef84eb5228
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>
commit bcb9d66e8590151967e1dbe3724eec7ec71392e0
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Sep 18 19:14:14 2013 +0800
block: don't lose data from last incomplete sector
To read the last sector that is not aligned to sector boundary, current
code for growable backends, since commit 893a8f6 "block: Produce zeros
when protocols reading beyond end of file", drops the data and directly
returns zeroes. That is incorrect.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7a1c0d200f3ca5be48f7034c6ed5458e490f8816
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Sep 16 15:20:40 2013 +0800
tests/.gitignore: ignore test-throttle
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 089f3f761ed99bd577661e7a6335a2529eda2ba3
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Sep 18 07:48:15 2013 +0200
exec: Fix broken build for MinGW (regression)
Commit 3435f39513a104294b5e3bbf3612047028d25cfc reduced the ifdeffery with
this result for MinGW:
exec.c: In function â??qemu_ram_freeâ??:
exec.c:1239:17: warning:
implicit declaration of function â??munmapâ??
[-Wimplicit-function-declaration]
exec.c:1239:17: warning:
nested extern declaration of â??munmapâ?? [-Wnested-externs]
exec.c:1239: undefined reference to `munmap'
Add some ifdeffery again to fix this.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e76d05c2b5028f09f6ac6bd2beee94103f388722
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Sep 17 22:39:55 2013 +0200
kvm: Fix compiler warning (clang)
Report from clang analyzer:
clock.c:42:15: warning:
Value stored to 'cpu' during its initialization is never read
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 387e417666c28bd0cdc33c51036838dbae3bd3a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 13:24:11 2013 -0700
tcg-sparc: Fix parenthesis warning
error: suggest parentheses around comparison in operand of â??&â??
[-Werror=parentheses]
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8b6bfc771133caec7b1579c2bfa8838aec58e249
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 18:24:58 2013 +0200
Makefile: Remove some more files when cleaning
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 469936ae0a9891b2de7e46743f683535b0819bee
Author: Tobias Markus <tobias@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Aug 25 12:20:06 2013 +0200
target-i386: Fix segment cache dump
When in Long Mode, cpu_x86_seg_cache() logs "DS16" because the Default
operation size bit (D/B bit) is not set for Long Mode Data Segments since
there are only Data Segments in Long Mode and no explicit 16/32/64-bit
Descriptors.
This patch fixes this by checking the Long Mode Active bit of the hidden
flags variable and logging "DS" if it is set. (I.e. in Long Mode all Data
Segments are logged as "DS")
Signed-off-by: Tobias Markus <tobias@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2be178a475289286db80de5ddd7830e67e112bdd
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>
commit 69fded480e335ecfe877e2c37de0eff265fced12
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Sep 14 13:10:16 2013 +0400
vscclient: remove unnecessary use of uninitialized variable
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ddd0bd480fc07cc45f9cc7e3d113f23cb58b6082
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Sep 13 10:49:51 2013 +0200
trace-events: Clean up with scripts/cleanup-trace-events.pl again
Event qxl_render_blit_guest_primary_initialized is unused since commit
c58c7b9, drop it.
Commit 42e5b4c moved hw/ppc/xics.c to hw/intc/xics.c without updating
the comment in trace-events.
"scripts/cleanup-trace-events.pl trace-events | diff trace-events" is
now clean again.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 07ac4dc5db22a31e47b149abdbc5ea99013cf4de
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>
commit 6f20f55bccdead8e68c753093f3af6a74cbba883
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 19:57:15 2013 +0200
*-user: Improve documentation for lock_user function
Add a missing "function" and replace "and" by "any".
BSD and Linux use the same documentation here, so fix both.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2b7be8c8f5cecf936b7269ad1664361eee344842
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 20:24:31 2013 +0200
MAINTAINERS: Add missing entry to filelist for TCI target
tci.c is also a maintained part of the TCI implementation.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 227b8175e2c60334c644c7cf7800bef8efbe085b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 20:09:06 2013 +0200
translate-all: Fix formatting of dump output
The page dump writes a table with 3 abi_ulong values in each row.
These values take 8 or 16 characters (depending on sizeof abi_ulong).
Fix the table headings to be aligned with the table columns.
old:
start end size prot
0000000120000000-000000012021e000 000000000021e000 rwx
0000004000000000-0000004000002000 0000000000002000 ---
0000004000002000-0000004000802000 0000000000800000 rw-
new:
start end size prot
0000000120000000-000000012021e000 000000000021e000 rwx
0000004000000000-0000004000002000 0000000000002000 ---
0000004000002000-0000004000802000 0000000000800000 rw-
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 41d1af4de44ac8729a21e4bf233d696861a3c570
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 19:57:41 2013 +0200
*-user: Fix typo in comment (ulocking -> unlocking)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 314b5d4bb6664e236aa90a478dd1e7833a918513
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Tue Sep 10 17:36:18 2013 +0100
docs: Fix IO port number for CPU present bitmap.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Reviewd-By: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 451f7846ec64bbaa8feba03851e6fbb52acbf55c
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Sep 2 14:43:36 2013 +0100
q35: Fix typo in constant DEFUALT -> DEFAULT.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e600cdf3b4ffe3370eb10a8e43ed547ac0f716cf
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Thu Sep 5 12:54:49 2013 +0200
configure: Undefine _FORTIFY_SOURCE prior using it
Currently, we are enforcing the _FORTIFY_SOURCE=2 without any
previous detection if the macro has been already defined, e.g.
by environment, or is just enabled by compiler by default.
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2571f8f5fbaea5dc3bdcd84737f109b459576e90
Merge: ce63e9c 521e759
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Sep 20 08:08:18 2013 -0500
Merge remote-tracking branch 'spice/spice.v74' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* spice/spice.v74:
qxl: compile only once
qxl: simplify page dirtying
qxl: simplify qxl_rom_size
qxl: define qxl operating on 4k pages
Message-id: 1379583534-7831-1-git-send-email-kraxel@xxxxxxxxxx
commit ce63e9c258a05e344f81b28f2b995c530909a3f0
Merge: f54c49e 0ca6db4
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Sep 20 08:08:08 2013 -0500
Merge remote-tracking branch 'kraxel/usb.90' into staging
# By Hans de Goede (6) and Gerd Hoffmann (1)
# Via Gerd Hoffmann
* kraxel/usb.90:
usb: Fix iovec memleak on combined-packet free
usb: Also reset max_packet_size on ep_reset
xhci: Fix memory leak on xhci_disable_ep
xhci: Add xhci_epid_to_usbep helper function
xhci: Init a transfers xhci, slotid and epid member on epctx alloc
xhci: Fix number of streams allocated when using streams
usb: remove old usb-host code
Message-id: 1379583298-7524-1-git-send-email-kraxel@xxxxxxxxxx
commit f54c49e2187976f4c3f6db1029461f3077e9f377
Merge: 92bfedb 7b5ce8d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Sep 20 08:06:38 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino
# Via Luiz Capitulino
* luiz/queue/qmp:
QMP: qmp-events.txt: alphabetical order fix and other minor changes
QMP: Update qmp-spec.txt
QMP: Update README file
QMP: QMP/ -> docs/qmp/
QMP: fix qmp-commands.txt generation path
QMP: add scripts/qmp
Message-id: 1379509422-29115-1-git-send-email-lcapitulino@xxxxxxxxxx
commit 6a444f8507514b3707c8807ed11c176d3fbc5860
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed May 22 14:11:36 2013 +0200
s390/sclplmconsole: Add support for SCLP line-mode console
Add simple support for SCLP line-mode also known as operating
system messages. This can be added in addition to or instead of
the SCLP full screen console with -device sclplmconsole.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 40fa5264f68e04fdeb1fe0367955a98925349efd
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue May 21 17:04:58 2013 +0200
s390/ebcdic: Move conversion tables to header file
Move conversion tables to header file.
- In SCLP line mode processing EBCDIC/ASCII conversion is needed.
- An additional EBCDIC to ASCII conversion function is added.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit c3d9f24a392979cbd6a40d102c71eab018117f3e
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Sep 17 13:07:30 2013 +0200
s390/eventfacility: allow childs to handle more than 1 event type
Currently all handlers (quiesce, console) only handle one event type.
Some drivers will handle multiple (compatible) event types. Rework the
code accordingly.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit 8b8b1138df5e512dc8a89896c44b67d192dd3d7d
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Sep 17 13:01:31 2013 +0200
s390/eventfacility: remove unused event_type variable
The event_type variable is never used. Get rid of it.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit 788be8e9d669c314ad7aef1a71bce31367cfe462
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Sep 17 10:32:54 2013 +0200
s390/eventfacility: Fix receive/send masks
Currently we announce interchanged receive/send masks. This did not
trigger a bug, since the sclp console has the same masks for
send/receive and the Linux guest does not check the sclp mask for simple
events like quiesce. With other event users like the sclp line mode
console, we will have different send/receive bits. Fix it.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit a0c8699b23ea065f8435d3bd04bd23f1783aa454
Author: Ralf Hoppe <rhoppe@xxxxxxxxxx>
Date: Mon Aug 19 09:41:24 2013 +0200
s390/eventfacility: fix multiple Read Event Data sources
Make the handler for SCLP Read Event Data deal with notifications
for multiple sources correctly.
Signed-off-by: Ralf Hoppe <rhoppe@xxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[split bigger patch into smaller independent chunks]
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit 3af6de321f39eda37d60a26559c63029c0d5b4c9
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 12:55:45 2013 +0200
s390/sclp: add reset() functions
Add reset() functions for event-facility, sclpconsole, and sclpquiesce.
The reset() functions perform variable initialization
at IPL and e.g. when monitor system_reset is called.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 7e36b7a3561d685b8fb071b25ab887e890973a4d
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue Sep 11 13:41:26 2012 +0200
s390/sclpquiesce: Add code to support live migration
This patch adds the necessary life migration pieces to sclpquiesce
by using the vmstate_register.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit cb335bebe1f5eadd0188215a9703c3fd90cfe84e
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue Sep 11 13:41:26 2012 +0200
s390/sclpconsole: Add code to support live migration for sclpconsole
This patch adds the necessary life migration pieces to the sclp code
by using vmstate_register.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit ea9ad3e945526c56935c245a268731878c74e570
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Aug 28 16:30:28 2013 +0200
s390/sclpconsole: modify definition of input buffer
To use VMState for migration, we need to adapt some sclp code:
- allocate console buffer as part of the console
- change semantic of sclpconsole offset fields
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit d8b30c830243c5b7180befd9e1921383c9626bf0
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Sep 19 09:32:03 2013 +0200
s390/kexec: Implement diag308 subcode 0
This patch implements subcode 0 of diag 308. This is necessary for kexec
(without kdump). The main difference to subcode 1 is that all CPUs get
a full reset, instead of the architectured CPU reset (which leaves all
registers untouched).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 0f39ac9a07cc10278e37d87076b143008f28aa3b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 19 12:29:15 2013 +0200
qcow2: Correct snapshots size for overlap check
Using s->snapshots_size instead of snapshots_size for the metadata
overlap check in qcow2_write_snapshots leads to the detection of an
overlap with the main qcow2 image header when deleting the last
snapshot, since s->snapshots_size has not yet been updated and is
therefore non-zero. However, the offset returned by qcow2_alloc_clusters
will be zero since snapshots_size is zero. Therefore, an overlap is
detected albeit no such will occur.
This patch fixes this by replacing s->snapshots_size by snapshots_size
when calling qcow2_pre_write_overlap_check.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d9bf1c07c1369ab3506fc82cc65a10f4415d867
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 1 15:44:18 2013 +0200
s390/ioinst: Moved the CC setting to the IO instruction handlers
The IO instruction handlers now take care of setting the CC value on
their own, so that the confusing return code magic in
kvm_handle_css_inst()
is not needed anymore.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 3d0a615fe92501684d8d2dc54326f0241b666bd2
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 2 13:43:38 2013 +0200
s390/cpu: Make setcc() function available to other files
Moved the setcc() function to cpu.h so that it can be used by other
files, too. It now also does not modify the kvm state anymore since
this gets updated during kvm_arch_put_registers() anyway.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 1902269c19a2c8ba852f90f04d6dfde1d1145d6f
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Sep 2 11:05:43 2013 +0200
s390/ipl: Update the s390-ccw.img rom
Rebuild of the virtio-ccw rom containing these patches:
1. s390/ipl: Fix waiting for virtio processing
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 441ea695f9e9d64399f69904c2dd12e59963f1a4
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Aug 29 17:52:43 2013 +0200
s390/ipl: Fix waiting for virtio processing
The guest side must not manipulate the index for the used buffers.
Instead,
remember the state of the used buffer locally and wait until it has moved.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit abd137a1bc72614e1e6ca1cd9502426e4b4f7e6a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Aug 29 12:40:25 2013 +0200
s390/dump: zero out padding bytes in notes sections
The prstatus of an s390x dump contains several padding areas. Zero out
these bytes to make reading the notes section easier with a hexdump.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 3ac85fb66626ea91641f5fb9ad9069aab94754f5
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 29 15:49:16 2013 +0200
s390/kvm: Add check for priviledged SCLP handler
The SCLP instruction is priviledged, so we should make sure that
we generate an exception when it is called from the problem state.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f010bc643a2759e87e989c3e4e85f15ec71ae98f
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Wed Sep 18 16:41:45 2013 +0200
target-i386: add feature kvm_pv_unhalt
I don't know yet if want this feature on by default, so for now I'm
just adding support for "-cpu ...,+kvm_pv_unhalt".
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4f2656079f903efcd0d8224cbc79170ad3ee5b70
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Wed Sep 18 16:41:44 2013 +0200
linux-headers: update to 3.12-rc1
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 787aaf5703a702094f395db6795e74230282cd62
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 17:06:37 2013 +0200
target-i386: forward CPUID cache leaves when -cpu host is used
Some users running cpu intensive tasks checking the cache CPUID leaves at
startup and making decisions based on the result reported that the guest
was
not reflecting the host CPUID leaves when -cpu host is used.
This patch fix this.
Signed-off-by: Benoît Canet <benoit@xxxxxxxxxxx>
[Rename new field to cache_info_passthrough - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c5daeae1b4ddff97d605bd954a7c2a2b2cf6040f
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Sep 3 18:27:37 2013 +1000
linux-headers: update to 3.11
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4fe6e9ecb7f9a221bfb3695079fb87946263a1e0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Sep 4 20:26:25 2013 +1000
kvm: fix traces to use %x instead of %d
KVM request types are normally defined using hex constants but QEMU traces
print decimal values instead, which is not very convenient.
This changes the request type format from %d to %x.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4357930b8a7d2fcff2d8121ec518117428a781e7
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>
commit c056bc3f3464cfae1c94b7dd633d3ec13b13b655
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>
commit 18e5eec4db96a00907eb588a2b803401637c7f67
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>
commit 76fe21dedafb0319306bc993f23e7646b139cfe4
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Sep 3 18:08:25 2013 +1000
kvm irqfd: support direct msimessage to irq translation
On PPC64 systems MSI Messages are translated to system IRQ in a PCI
host bridge. This is already supported for emulated MSI/MSIX but
not for irqfd where the current QEMU allocates IRQ numbers from
irqchip and maps MSIMessages to IRQ in the host kernel.
This adds a new direct mapping flag which tells
the kvm_irqchip_add_msi_route() function that a new VIRQ
should not be allocated, instead the value from MSIMessage::data
should be used. It is up to the platform code to make sure that
this contains a valid IRQ number as sPAPR does in spapr_pci.c.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e5035776df31380a44a1a851850d110b551ecb6
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Sep 3 18:55:16 2013 -0300
fix steal time MSR vmsd callback to proper opaque type
Convert steal time MSR vmsd callback pointer to proper X86CPU type.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 670436ced08738802e15764039d03ab0dbab2bf3
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Fri Aug 23 15:24:37 2013 +0200
kvm: warn if num cpus is greater than num recommended
The comment in kvm_max_vcpus() states that it's using the recommended
procedure from the kernel API documentation to get the max number
of vcpus that kvm supports. It is, but by always returning the
maximum number supported. The maximum number should only be used
for development purposes. qemu should check KVM_CAP_NR_VCPUS for
the recommended number of vcpus. This patch adds a warning if a user
specifies a number of cpus between the recommended and max.
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 97577fd4c31777780a22b77afa4590086ac962c7
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Aug 27 12:19:10 2013 +0100
cpu: Move cpu state syncs up into cpu_dump_state()
The x86 and ppc targets call cpu_synchronize_state() from their
*_cpu_dump_state() callbacks to ensure that up to date state is dumped
when KVM is enabled (for example when a KVM internal error occurs).
Move this call up into the generic cpu_dump_state() function so that
other KVM targets (namely MIPS) can take advantage of it.
This requires kvm_cpu_synchronize_state() and cpu_synchronize_state() to
be moved out of the #ifdef NEED_CPU_H in <sysemu/kvm.h> so that they're
accessible to qom/cpu.c.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 3e469dbfe413c25d48321c3a19ddfae0727dc6e5
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>
commit a9031675b9f757eef0fe8c99284ec0133c032c32
Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Date: Tue Sep 17 18:26:48 2013 +0200
coroutine: fix /perf/nesting coroutine benchmark
The /perf/nesting benchmark is broken because the counters are
not reset after each iteration. Therefore, nesting is done only
on the first iteration, and skipped on every other.
This patch fixes the issue, and reduces the number of iterations
to make it possible to run the benchmark in a reasonable amount of
time.
Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2fcd15eac3223b3907837e8d7f2b3829a16a4c45
Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Date: Tue Sep 17 17:09:39 2013 +0200
coroutine: add qemu_coroutine_yield benchmark
Current coroutine performance benchmarks test only coroutine creation,
either directly or in a nested way. This patch adds a benchmark to
evaluate the performance of qemu_coroutine_yield.
Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0ca6db4f3b3df5c4e5285a48a7709bdced5068de
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:52 2013 +0200
usb: Fix iovec memleak on combined-packet free
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9adbaad318cddd300c42dbbbc88991cdc9cecd99
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:53 2013 +0200
usb: Also reset max_packet_size on ep_reset
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b21da4e504fbdb907543a918b190783dc896d8e1
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:51 2013 +0200
xhci: Fix memory leak on xhci_disable_ep
The USBPacket-s in the transfers need to be cleaned up so that the memory
allocated by the iovec in there gets freed.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 518ad5f2a0754f0a5ce4e478b79f4926ce46111b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:50 2013 +0200
xhci: Add xhci_epid_to_usbep helper function
And use it instead of prying the USBEndpoint out of the packet struct
in various places.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4c5d82ecf1e8fd0720137f7d09fc77d65b51b4d0
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:49 2013 +0200
xhci: Init a transfers xhci, slotid and epid member on epctx alloc
Transfers are part of an epctx, which is part of a slot, which is part of
a xhci. Transfers cannot dynamically be moved from one epctx to another,
so once created their xhci, slotid and epid are constant, so lets set
these
up at creation time, rather then re-initializing them with the same
value each time a transfer gets submitted.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d063c3112c4cd23a479ee18720c2bd119da2d315
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Mon Sep 16 17:04:27 2013 +0200
xhci: Fix number of streams allocated when using streams
According to the xhci spec the total number of streams is
2 ^ (MaxPStreams + 1), and this is also how the Linux xhci driver
uses this field.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b5613fdcb0e03d47852582c252942512f050b5b6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 10 11:02:59 2013 +0200
usb: remove old usb-host code
The usb-host code has been rewritten for qemu 1.5 to use libusb,
the old code has been left in as temporary fallback. Now we are
two releases further out, targeting the 1.7 release. No major
issues with the new code poped up until now. Time to remove it
from tre tree. Should we ever need it again for some reason --
git has a copy for us in the history.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3db1ee7c2af2fbbfe259712e3ce74158bc667ad3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 12 11:02:20 2013 +0200
qemu-timer: do not take the lock in timer_pending
We can deduce the result from expire_time, by making it always -1 if
the timer is not in the active_timers list. We need to check against
negative times passed to timer_mod_ns; clamping them to zero is not
a problem because the only clock that has a zero value at VM startup
is QEMU_CLOCK_VIRTUAL, and it is monotonic so it cannot be non-zero.
QEMU_CLOCK_HOST, instead, is not monotonic but it cannot go to negative
values unless the host time is seriously screwed up and points to
the 1960s.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 978f2205c791de0e02c8802a645bea657408abfd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Sep 12 11:02:19 2013 +0200
qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe
Introduce QEMUTimerList->active_timers_lock to protect the linked list
of active timers. This allows qemu_timer_mod_ns() to be called from any
thread.
Note that vm_clock is not thread-safe and its use of
qemu_clock_has_timers() works fine today but is also not thread-safe.
The purpose of this patch is to eventually let device models set or
cancel timers from a vcpu thread without holding the global mutex.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit da718ceb1730bfe6fea0178df979639b14a0646e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Sep 12 11:02:18 2013 +0200
qemu-timer: drop outdated signal safety comments
host_alarm_handler() is invoked from the signal processing thread
(currently the iothread). Previously we did processing in a real signal
handler with signalfd and therefore needed signal-safe timer code.
Today host_alarm_handler() just marks the alarm timer as expired/pending
and notifies the main loop using qemu_notify_event().
Therefore these outdated comments about signal safety can be dropped.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a5813077aac7865f69b7ee46a594f3705429f7cd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 11:29:03 2013 +0200
osdep: warn if open(O_DIRECT) on fails with EINVAL
Print a warning when opening a file O_DIRECT fails with EINVAL. This
saves users a lot of time trying to figure out the EINVAL error, which
is typical when attempting to open a file O_DIRECT on Linux tmpfs.
Reported-by: Deepak C Shetty <deepakcs@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 975a0015ee380f49a3be744279a6a06ab97e960a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 11:29:02 2013 +0200
libcacard: link against qemu-error.o for error_report()
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b5ce8db600a5d1842b9cb0cf8e8bb7af87fee10
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Wed Sep 11 13:58:12 2013 -0400
QMP: qmp-events.txt: alphabetical order fix and other minor changes
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 715c18600ca770a8ada65d9fd77ad6423ab5fce9
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Wed Sep 11 13:52:51 2013 -0400
QMP: Update qmp-spec.txt
Simplify the text, fix some of the examples.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 52bbff77c4d1c26b5d9f56e1f140523ec931c471
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 17:15:49 2013 -0400
QMP: Update README file
Drop unneeded info, fix some of the examples and rename QEMU Monitor
Protocol to QEMU Machine Protocol.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7537fe0487c3f7991584ca1c4bf9b6c58cd33968
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 17:00:45 2013 -0400
QMP: QMP/ -> docs/qmp/
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d076a2adddece29ad33afcce01e441bfc1c6923d
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 16:56:14 2013 -0400
QMP: fix qmp-commands.txt generation path
This file should be generated in the BUILD_DIR, as all other docs.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 22f3946bc5db2090ffc4ea41f2b83d09e58b665e
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 16:39:23 2013 -0400
QMP: add scripts/qmp
Populate it with all scripts stored in QMP/. Also fixes trailing
whitespaces in qmp-shell and qmp.py.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 521e759cf1ca05fc59a8653e48f18f830edbda7e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:32:07 2013 +0200
qxl: compile only once
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b0297b4a82f5ba39f6e75c024f80bc4c20070d27
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:15:48 2013 +0200
qxl: simplify page dirtying
No need to do target page size calculations here,
memory_region_set_dirty will care for us.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 60b3b2a55f4b3fb72419ce7e4b44378dc56eed28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:08:49 2013 +0200
qxl: simplify qxl_rom_size
Nowdays rom size is fixed at 8192 for live migration compat reasons.
So we can ditch the pointless math trying to calculate the size needed.
Also make the size sanity check fail at compile time not runtime.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9efc2d8d813b94fde0a2bad6c13850bef7636748
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:14:25 2013 +0200
qxl: define qxl operating on 4k pages
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f35c934a5add17eb549e3f7f4b8286605eb21e99
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Sep 17 19:33:49 2013 +0200
block/iscsi: Drop iscsi_co_get_block_status for older versions of libiscsi
Debian wheezy includes libiscsi-dev 1.4.0 which does not provide
SCSI_PROVISIONING_TYPE_DEALLOCATED. Drop iscsi_co_get_block_status
in this case to allow compilation without errors.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 92bfedb0b6071c5c59f97c99a0ff79e3a0856bd4
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 9 14:04:15 2013 -0300
MAINTAINERS: Add myself to MAINTAINERS file
Add myself to the MAINTAINERS file. I'll be looking at qemu-seccomp.c
and include/sysemu/seccomp.h.
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Moore <pmoore@xxxxxxxxxx>
Message-id: 1378746255-2089-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 46663e5eff4be1d79971f46e51c9bb415ec8f5be
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 11:10:47 2013 -0500
hmp: block-stream: fix typo
Found this by enabling C++ errors. The bool and enum arguments
are mistakenly flipped.
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 6c2679fc19560699679200fb42ab4659bcbe7f79
Merge: 5dc1119 426e3e6
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 10:01:24 2013 -0500
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
# By Liu Ping Fan (3) and Jan Kiszka (1)
# Via Jan Kiszka
* kiszka/queues/slirp:
slirp: clean up slirp_update_timeout
slirp: set mainloop timeout with more precise value
slirp: define timeout as macro
slirp: make timeout local
Message-id: cover.1379415024.git.jan.kiszka@xxxxxxxxxxx
commit 5dc11192b23fbb09fab277d58ac3c42b9699a8b0
Merge: ab9cec4 c21bddf
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:51:40 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (16) and others
# Via Kevin Wolf
* kwolf/for-anthony: (33 commits)
qemu-iotests: Fix test 038
block: Assert validity of BdrvActionOps
qemu-iotests: Cleanup test image in test number 007
qemu-img: fix invalid JSON
coroutine: add ./configure --disable-coroutine-pool
qemu-iotests: Adjustments due to error propagation
qcow2: Use Error parameter
qemu-img create: Emit filename on error
block: Error parameter for create functions
block: Error parameter for open functions
bdrv: Use "Error" for creating images
bdrv: Use "Error" for opening images
qemu-iotests: add 057 internal snapshot for block device test case
hmp: add interface hmp_snapshot_delete_blkdev_internal
hmp: add interface hmp_snapshot_blkdev_internal
qmp: add interface blockdev-snapshot-delete-internal-sync
qmp: add interface blockdev-snapshot-internal-sync
qmp: add internal snapshot support in qmp_transaction
snapshot: distinguish id and name in snapshot delete
snapshot: new function bdrv_snapshot_find_by_id_and_name()
...
Message-id: 1379073063-14963-1-git-send-email-kwolf@xxxxxxxxxx
commit ab9cec42bf3ed1d9bb574b7de5f3c61da47b3a81
Merge: 7d41364 bff9328
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:51:23 2013 -0500
Merge remote-tracking branch 'rth/tgt-i386' into staging
# By Paolo Bonzini (1) and Peter Maydell (1)
# Via Richard Henderson
* rth/tgt-i386:
target-i386: Only provide CMOV and friends if feature bit set
target-i386: fix disassembly with PAE=1, PG=0
Message-id: 1379010496-5875-1-git-send-email-rth@xxxxxxxxxxx
commit 7d41364e712f00894759f7dbf2623a8b27b79a0e
Merge: 25afd6e f4ff3b7
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:50:23 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Peter Lieven (3) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
spapr-vscsi: Report error on unsupported MAD requests
spapr-vscsi: Adding VSCSI capabilities
iscsi: split discard requests in multiple parts
iscsi: add .bdrv_get_block_status
iscsi: add logical block provisioning information to iscsilun
hw/scsi/lsi53c895a: Use deposit32 rather than handcoded shift/mask
hw/scsi/lsi53c895a: Use sextract32 for sign-extension
scsi: Fix scsi_bus_legacy_add_drive() scsi-generic with serial
virtio-scsi: Make type virtio-scsi-common abstract
spapr-vscsi: add task management
scsi: prefer UUID to VM name for the initiator name
Message-id: 1378984634-765-1-git-send-email-pbonzini@xxxxxxxxxx
commit 25afd6eb150324c70164875853a9aede08c48aff
Merge: 7f87af3 b0d768c
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:49:43 2013 -0500
Merge remote-tracking branch 'kraxel/chardev.7' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.7:
chardev: fix pty_chr_timer
Message-id: 1378972894-11185-1-git-send-email-kraxel@xxxxxxxxxx
commit 426e3e6ce1abdb0d85faefbfac3cf4dcc7f224a3
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Aug 28 19:12:15 2013 +0200
slirp: clean up slirp_update_timeout
No need to write out the timeout early, keep it local until we are done.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit a42e9c41888bc6a5446ef6bd95745c9fd023f107
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Aug 25 10:01:21 2013 +0800
slirp: set mainloop timeout with more precise value
If slirp needs to emulate tcp timeout, then the timeout value
for mainloop should be more precise, which is determined by
slirp's fasttimo or slowtimo. Achieve this by swap the logic
sequence of slirp_pollfds_fill and slirp_update_timeout.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 9b0ca6cc64d3542be35f1ca6174de2ab6af30ed0
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Aug 25 10:01:20 2013 +0800
slirp: define timeout as macro
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit fe0ff43c9d8ccf45effdade8d40e44aed421187f
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Aug 25 10:01:19 2013 +0800
slirp: make timeout local
Each slirp has its own time to caculate timeout.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit ceae18bd74e8940ff79935a257c72e665b084bcc
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:09 2013 +0200
lsi: add 53C810 variant
Currently, treat it exactly as a 53C895A.
53C895A is a 53C810 with more capabilities, so this should work.
However, this lets us test different code paths on Linux, which
don't use lastest features if it detect a 810, or on some OSes
which only support 810 and not 895A (like very old Windows NT
versions).
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 689f5ff4376c576681ee581f11e710d6711f06b4
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:08 2013 +0200
lsi: remove todo
LSI emulation has been tested with Linux on PPC platform.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0903c35ddeebde56772b39cf08e7a0bae2eb39eb
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:07 2013 +0200
lsi: ignore write accesses to CTEST0 registers
53C895A datasheet says that this register is read/write, and that the
value
returned on read access is dependant of DMA FIFO state. However, nothing
is
said for written value.
53C810A datasheet gives more insight about this register:
"This was a general purpose read/write register in previous SYM53C8XX
family chips. Although it is still a read/write register, Symbios reserves
the right to use these bits for future 53C8XX family enhancements."
This prevents going to the default case, which prints an error message.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c7ac9f403af37439da0ce650b68bbcb13439768e
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:06 2013 +0200
lsi: check ssid versus sdid only if ssid is valid
This prevents some (invalid) error messages on console.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 16b8ed1d09e9535457a09b9faf7a7e6c6e8da255
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:05 2013 +0200
lsi: use constant name instead of its value
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9f1a029abf15751e32a4b1df99ed2b8315f9072c
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Fri Sep 13 13:58:44 2013 +0200
pci: remove explicit check to 64K ioport size
This check is useless, as bigger addresses will be ignored when
added to 'io' MemoryRegion, which has a size of 64K.
However, some architectures don't use the 'io' MemoryRegion, like
the alpha and versatile platforms. They create a PCI I/O region
bigger than 64K, so let them handle PCI I/O BARs in the higher range.
MST: reinstated work-around for BAR sizing.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c046e8c4a26c902ca1b4f5bdf668a2da6bc75f54
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>
commit 2028fdf3791e14c5ad156252afa0e792192a3e92
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 12:58:57 2013 +0300
piix: use 64 bit window programmed by guest
Detect the 64 bit window programmed by firmware
and configure properties accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b42d730e3401084720f4ba59d1e18a0d6c67dc6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 12:57:36 2013 +0300
q35: use 64 bit window programmed by guest
Detect the 64 bit window programmed by firmware
and configure properties accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 438640695723f33be6d0081ac1e690aa40975c39
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 11:37:02 2013 +0300
pci: add helper to retrieve the 64-bit range
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c5a22c4344f17169bb20e122e9d935c62aedc063
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 11:04:39 2013 +0300
range: add min/max operations on ranges
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cfe25e2bcada943984e27ee63918fd75dc4563ac
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 11:41:37 2013 +0300
range: add Range to typedefs
will help simplify header dependencies.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 636228a887c4d5c0dc313bbf936de969b420a91a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 1 13:26:03 2013 +0300
q35: make pci window address/size match guest cfg
For Q35, MMCFG address and size are guest configurable.
Update w32 property to make it behave accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c21bddf27fd8029890e9fc2ee314788919eababf
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 13 10:37:12 2013 +0200
qemu-iotests: Fix test 038
Test 038 uses asynchronous I/O, resulting (potentially) in a different
output for every run (regarding the order of the I/O accesses). This can
be fixed by simply sorting the I/O access messages, since their order is
irrelevant anyway (for this asynchonous I/O).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bff93281a75def2e3197005d72ad5cdc4719383f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 15 18:21:40 2013 +0100
target-i386: Only provide CMOV and friends if feature bit set
The instructions CMOVcc, FCMOVcc and F[U]COMI[P] should only be
present if the CMOV feature bit is set. Add missing feature bit
checks so we correctly fault if emulating a 486 or 586.
This fixes bug LP:1201446.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2f8560c7a5303065a2a3207ec475dfb3a622a0e
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>
commit 7f87af39dc786a979e7ebba338d0781e366060ed
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:12 2013 +0200
pc_sysfw: Fix ISA BIOS init for ridiculously big flash
pc_isa_bios_init() suffers integer overflow for flash larger than
INT_MAX.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1375276272-15988-9-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 39228250ce6cf67eb1c3799791d271f53c5c6347
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:11 2013 +0200
exec: Don't abort when we can't allocate guest memory
We abort() on memory allocation failure. abort() is appropriate for
programming errors. Maybe most memory allocation failures are
programming errors, maybe not. But guest memory allocation failure
isn't, and aborting when the user asks for more memory than we can
provide is not nice. exit(1) instead, and do it in just one place, so
the error message is consistent.
Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1375276272-15988-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e1e84ba050538bae24393e40b737078ecad99747
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:10 2013 +0200
exec: Clean up unnecessary S390 ifdeffery
Another issue missed in commit fdec991 is -mem-path: it needs to be
rejected only for old S390 KVM, not for any S390. Not that I
personally care, but the ifdeffery in qemu_ram_alloc_from_ptr() annoys
me.
Note that this doesn't actually make -mem-path work, as the kernel
doesn't (yet?) support large pages in the host for KVM guests. Clean
it up anyway.
Thanks to Christian Borntraeger for pointing out the S390 kernel
limitations.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1375276272-15988-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 2eb9fbaab56c6350c7d137428f4bd0bc79168214
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:09 2013 +0200
exec: Drop incorrect & dead S390 code in qemu_ram_remap()
Old S390 KVM wants guest RAM mapped in a peculiar way. Commit 6b02494
implemented that.
When qemu_ram_remap() got added in commit cd19cfa, its code carefully
mimicked the allocation code: peculiar way if defined(TARGET_S390X) &&
defined(CONFIG_KVM), else normal way.
For new S390 KVM, we actually want the normal way. Commit fdec991
changed qemu_ram_alloc_from_ptr() accordingly, but forgot to update
qemu_ram_remap(). If qemu_ram_alloc_from_ptr() maps RAM the normal
way, but qemu_ram_remap() remaps it the peculiar way, remapping
changes protection and flags, which it shouldn't.
Fortunately, this can't happen, as we never remap on S390.
Replace the incorrect code with an assertion.
Thanks to Christian Borntraeger for help with assessing the bug's
(non-)impact.
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 91138037cb341a04a66e4c43b6cb31d5d8a43a73
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:08 2013 +0200
exec: Simplify the guest physical memory allocation hook
Make it a generic hook rather than a KVM hook. Less code and
ifdeffery.
Since the only user of the hook is old S390 KVM, there's hope we can
get rid of it some day.
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 3435f39513a104294b5e3bbf3612047028d25cfc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:07 2013 +0200
exec: Reduce ifdeffery around -mem-path
Instead of spreading its ifdeffery everywhere, confine it to
qemu_ram_alloc_from_ptr(). Everywhere else, simply test block->fd,
which is non-negative exactly when block uses -mem-path.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 0628c18267bbe8d44f0faf3e71acf0ae31bea7fd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:06 2013 +0200
exec: Clean up fall back when -mem-path allocation fails
With -mem-path, qemu_ram_alloc_from_ptr() first tries to allocate
accordingly, but when it fails, it falls back to normal allocation.
The fall back allocation code used to be effectively identical to the
"-mem-path not given" code, until it started to diverge in commit
432d268. I believe the code still works, but clean it up anyway: drop
the special fall back allocation code, and fall back to the ordinary
"-mem-path not given" code instead.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit dfeaf2abc73429171ecc5b0b26ac4e5a24c047fc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:05 2013 +0200
exec: Fix Xen RAM allocation with unusual options
Issues:
* We try to obey -mem-path even though it can't work with Xen.
* To implement -machine mem-merge, we call
memory_try_enable_merging(new_block->host, size). But with Xen,
new_block->host remains null. Oops.
Fix by separating Xen allocation from normal allocation.
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1375276272-15988-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit aa3fe714f70654da47d9c2659b2d9ee295a9d930
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 12 14:57:27 2013 +0200
block: Assert validity of BdrvActionOps
In qmp_transaction, assert that the BdrvActionOps to be used is actually
valid.
This assertion failing is very improbable, however, it might happen, if
a new TransactionActionKind is introduced "out of order" and the
actions[] array is not updated.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4aa846f25e7cf14c77f699d8c1dfdfeddb091161
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 12 14:07:59 2013 +0530
qemu-iotests: Cleanup test image in test number 007
qemu-iotests number 007 doesn't do test image cleanup. This will affect
those protocols that expect a clean state before every test. Hence
ensure that test image is cleaned up in this test.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c745bfb4300206280ce6156b4bafe765f610057c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 11 18:47:52 2013 +0200
qemu-img: fix invalid JSON
Single quotes for JSON are a QMP-ism, use real JSON in
qemu-img output.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f4ff3b7ba1bcb77d5b5cdbd6e695df793761170b
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Aug 29 18:13:25 2013 +1000
spapr-vscsi: Report error on unsupported MAD requests
The existing driver just dropped unsupported requests. This adds error
responses to those unhandled requests.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 26573a0c1f0427be168a537abccbcc942e07aa72
Author: Nikunj A. Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 2 10:33:38 2013 +0530
spapr-vscsi: Adding VSCSI capabilities
This implements capabilities exchange between vscsi host and client. As
at the moment no capability is supported, put zero flags everywhere and
return.
Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Nikunj A. Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
commit 65f3e33964bc4bb634d61463814a4ccca794e3c0
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jul 19 09:19:41 2013 +0200
iscsi: split discard requests in multiple parts
Replace .bdrv_aio_discard with .bdrv_co_discard so that discard
requests can be split in multiple parts, each for a small amount
of sectors.
This is useful because we expose a generic API with no limit
on the amount of sectors that can be unmapped in one request.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 70c60c089fdc6bf8a79324e492c13e8c08d55942
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>
commit 2c78857bf6a9b5d06e17533b8f40fee14e087987
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 10 13:59:43 2013 +0200
qemu-iotests: Adjustments due to error propagation
When opening/creating images, propagating errors instead of immediately
emitting them on occurrence results in errors generally being printed on
a single line rather than being split up into multiple ones. This in
turn requires adjustments to some test results.
Also, test 060 used a sed to filter out the test image directory and
format by removing everything from the affected line after a certain
keyword; this now also removes the error message itself, which can be
fixed by using _filter_testdir and _filter_imgfmt.
Finally, _make_test_img in common.rc did not filter out the test image
directory etc. from stderr. This has been fixed through a redirection of
stderr to stdout (which is already done in _check_test_img and
_img_info).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 3ef6c40ad0b350e18c78135ffbdbe209cb479c1f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 09:40:43 2013 +0200
qcow2: Use Error parameter
Employ usage of the new Error ** parameter in qcow2_open, qcow2_create
and associated functions.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit b70d8c237a0e5e829474c3a12c8783893c4e470e
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 6 16:51:03 2013 +0200
qemu-img create: Emit filename on error
bdrv_img_create generally does not emit the target filename, although
this is pretty important information. Therefore, prepend its error
message with the output filename (if an error occurs).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit cc84d90ff54c025190dbe49ec5fea1268217c5f2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 6 17:14:26 2013 +0200
block: Error parameter for create functions
Add an Error ** parameter to bdrv_create and its associated functions to
allow more specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 34b5d2c68eb4082c288e70fb99c61af8f7b96fde
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 14:45:29 2013 +0200
block: Error parameter for open functions
Add an Error ** parameter to bdrv_open, bdrv_file_open and associated
functions to allow more specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit d5124c00d80b4d948509f2c7f6b54228d9981f75
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 14:26:05 2013 +0200
bdrv: Use "Error" for creating images
Add an Error ** parameter to BlockDriver.bdrv_create to allow more
specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 015a1036a74ad29bb6916754911ce25587ff4db3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 14:22:29 2013 +0200
bdrv: Use "Error" for opening images
Add an Error ** parameter to BlockDriver.bdrv_open and
BlockDriver.bdrv_file_open to allow more specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 8023090be592514dea4975428543edd598c65fc3
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:39 2013 +0800
qemu-iotests: add 057 internal snapshot for block device test case
Create in transaction and deletion in single command will be tested.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7a4ed2ee4215eee80d2ae02097bbf63a33748fda
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:38 2013 +0800
hmp: add interface hmp_snapshot_delete_blkdev_internal
It is hard to make both id and name optional in hmp console as qmp
interface, so this interface require user to specify name.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 775ca88e8205248929a3f141925eafe2ec1e3275
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:37 2013 +0800
hmp: add interface hmp_snapshot_blkdev_internal
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 44e3e053af56c1faec79ac9fdd78ef3f0ecd467e
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:36 2013 +0800
qmp: add interface blockdev-snapshot-delete-internal-sync
This interface use id and name as optional parameters, to handle the
case that one image contain multiple snapshots with same name which
may be '', but with different id.
Adding parameter id is for historical compatiability reason, and
that case is not possible in qemu's new interface for internal
snapshot at block device level, but still possible in qemu-img.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f323bc9e8b3b46ad28402995a9dcaaeff3eb5e03
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:35 2013 +0800
qmp: add interface blockdev-snapshot-internal-sync
Snapshot ID can't be specified in this interface.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bbe860104f0544d7863296606e042cc62bf7ab4b
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:34 2013 +0800
qmp: add internal snapshot support in qmp_transaction
Unlike savevm, the qmp_transaction interface will not generate
snapshot name automatically, saving trouble to return information
of the new created snapshot.
Although qcow2 support storing multiple snapshots with same name
but different ID, here it will fail when an snapshot with that name
already exist before the operation. Format such as rbd do not support
ID at all, and in most case, it means trouble to user when he faces
multiple snapshots with same name, so ban that case. Request with
empty name will be rejected.
Snapshot ID can't be specified in this interface.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a89d89d3e65800fa4a8e00de7af0ea8272bef779
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:33 2013 +0800
snapshot: distinguish id and name in snapshot delete
Snapshot creation actually already distinguish id and name since it take
a structured parameter *sn, but delete can't. Later an accurate delete
is needed in qmp_transaction abort and blockdev-snapshot-delete-sync,
so change its prototype. Also *errp is added to tip error, but return
value is kepted to let caller check what kind of error happens. Existing
caller for it are savevm, delvm and qemu-img, they are not impacted by
introducing a new function bdrv_snapshot_delete_by_id_or_name(), which
check the return value and do the operation again.
Before this patch:
For qcow2, it search id first then name to find the one to delete.
For rbd, it search name.
For sheepdog, it does nothing.
After this patch:
For qcow2, logic is the same by call it twice in caller.
For rbd, it always fails in delete with id, but still search for name
in second try, no change to user.
Some code for *errp is based on Pavel's patch.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2ea1dd758c45f8ff12c67ed7934c3ce021eeaf12
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:32 2013 +0800
snapshot: new function bdrv_snapshot_find_by_id_and_name()
To make it clear about id and name in searching, add this API
to distinguish them. Caller can choose to search by id or name,
*errp will be set only for exception.
Some code are modified based on Pavel's patch.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d982919d3897f36d79e215c46e3bc27fd6e27bf8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 10:55:54 2013 +0200
qemu-iotests: New test case in 061
Add one test case for zero cluster expansion on qcow2 version downgrade
in shared L2 tables (i.e., L2 tables with a refcount > 1) and one for
zero expansion on backed clusters in shared L2 tables.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fd9c577b24818e0051e93c4f1e3db7262869f162
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Fri Sep 6 11:24:34 2013 +0800
qemu-iotests: add tests for runtime fd passing via SCM rights
This case will test whether the monitor can receive fd at runtime.
To verify better, additional monitor is created to see if qemu
can handler two monitor instances correctly.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 30b005d9d75af6388899fad2f462efb8af2b25b3
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Fri Sep 6 11:24:33 2013 +0800
qemu-iotests: add infrastructure of fd passing via SCM
This patch make use of the compiled scm helper program to transfer
fd via unix socket at runtime.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f93296eaffcb3753f680f2dcffea2637f14f2092
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Fri Sep 6 11:24:32 2013 +0800
qemu-iotests: add unix socket help program
This program can do a sendmsg call to transfer fd with unix
socket, which is not supported in python2.
The built binary will not be deleted in clean, but it is a
existing issue in ./tests, which should be solved in another
patch.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a8110c3d327cabff8dc258c5c8705903b56c1513
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:55 2013 +0200
qemu-iotest: qcow2 image option amendment
Add tests for qemu-img amend on qcow2 image files.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9296b3ed7050cc6e0645fbc3b0aea74406d7eeb2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:54 2013 +0200
qcow2: Implement bdrv_amend_options
Implement bdrv_amend_options for compat, size, backing_file, backing_fmt
and lazy_refcounts.
Downgrading images from compat=1.1 to compat=0.10 is achieved through
handling all incompatible flags accordingly, clearing all compatible and
autoclear flags and expanding all zero clusters.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b6481f376bc65894910dd98db3f299d698817106
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:53 2013 +0200
qcow2: Save refcount order in BDRVQcowState
Save the image refcount order in BDRVQcowState. This will be relevant
for future code supporting different refcount orders than four and also
for code that needs to verify a certain refcount order for an opened
image.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 32b6444d23d0ff618d73e5b766600cd258066169
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:52 2013 +0200
qcow2-cluster: Expand zero clusters
Add functionality for expanding zero clusters. This is necessary for
downgrading the image version to one without zero cluster support.
For non-backed images, this function may also just discard zero clusters
instead of truly expanding them.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e7108feaace8e02b3a4bf010448fc2744f753381
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:51 2013 +0200
qcow2-cache: Empty cache
Add a function for emptying a cache, i.e., flushing it and marking all
elements invalid.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6f176b48f9f98820ed192a1355cc1c7c08ddf46b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:50 2013 +0200
block: Image file option amendment
This patch adds the "amend" option to qemu-img which allows changing
image options on existing image files. It also adds the generic bdrv
implementation which is basically just a wrapper for the image format
specific function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 56e023af805215260c71d44f5b5a98087f4920d2
Author: Tal Kain <tal.kain@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 9 11:14:55 2013 +0200
raw-win32.c: Fix incorrect handling behaviour of small block files
It is a valid case that the read data's size is smaller than the
requested size since there could be files that are smaller than
the minimum block size (For ex. when a VMDK disk descriptor file)
Signed-off-by: Tal Kain <tal.kain@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1ebf561c11302f4fbe4afdd82758fe053cf1d5fc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 6 12:20:08 2013 +0200
qcow2: Discard VM state in active L1 after creating snapshot
During savevm, the VM state is written to the active L1 of the image and
then a snapshot is taken. After that, the VM state isn't needed any more
in the active L1 and should be discarded. This is implemented by this
patch.
The impact of not discarding the VM state is that a snapshot can never
become smaller than any previous snapshot (because it would be padded
with old VM state), and more importantly that future savevm operations
cause unnecessary COWs (with associated flushes), which makes subsequent
snapshots much slower.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 670df5e3b4b5ef830a7c3c970170dbfa11cbb8d2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 6 12:18:47 2013 +0200
qcow2: Pass discard type to qcow2_discard_clusters()
The function will be used internally instead of only being called for
guest discard requests.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit b0d768c35e08d2057b63e8e77e7a513c447199fa
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>
commit 54a5c1d5db47b4146490937ed73e3f56022aaba6
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jul 19 09:19:40 2013 +0200
iscsi: add .bdrv_get_block_status
this patch adds a coroutine for .bdrv_co_block_status as well as
a generic framework that can be used to build coroutines in block/iscsi.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f18a7cbb0992a02225d26afd336aaf47de75e11c
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jul 19 09:19:39 2013 +0200
iscsi: add logical block provisioning information to iscsilun
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 57ffcc4c83331cb4b2639a866b6ecc11b3e7092c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:16:33 2013 +0100
hw/scsi/lsi53c895a: Use deposit32 rather than handcoded shift/mask
Use deposit32() rather than handcoded shifts/masks to update the
scratch registers. This is cleaner and incidentally avoids a clang
sanitizer complaint ("runtime error: left shift of 255 by 24 places
cannot be represented in type 'int'").
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 927941059b95c3cc6264241115a23b1d14f1beb0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:16:32 2013 +0100
hw/scsi/lsi53c895a: Use sextract32 for sign-extension
Use sextract32() for doing sign-extension rather than rolling
our own implementation.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c24e7517ee4a98e90eee5f0f07708a1fa12326b3
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>
commit a27292b5d7545509bfa171922516d2033c570205
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Aug 19 17:53:15 2013 +0200
virtio-scsi: Make type virtio-scsi-common abstract
It's the abstract base of virtio-scsi-device and vhost-scsi.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eb37f14658df23c51f172bddb0c45eecf408927c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jul 29 14:49:29 2013 +1000
spapr-vscsi: add task management
At the moment the guest kernel issues two types of task management
requests to the hypervisor - task about and lun reset. This adds
handling for these tasks. As spapr-vscsi starts calling scsi_req_cancel(),
free_request callback was implemented.
As virtio-vscsi, spapr-vscsi does not handle CLEAR_ACA either as CDB
control byte does not seem to be used at all so NACA bit is not
set to the guest so the guest has no good reason to call CLEAR_ACA task.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[Fix choice of UCSOLCNT vs. SCSOLCNT. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5accc8408f2dac1e00d888e4fe75e6174ba2a940
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 2 17:02:01 2013 +0200
scsi: prefer UUID to VM name for the initiator name
The UUID is unique even across multiple hosts, thus it is
better than a VM name even if it is less user-friendly.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2d1fe1873a984d1c2c89ffa3d12949cafc718551
Merge: 6f52e51 6a49fa9
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:52 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130910'
into staging
ARM queue:
* aarch64 preparation patchset (excluding the defconfigs, so this
doesn't actually enable the new targets yet)
* minor bugfixes and cleanups
* disable "-cpu any" in system emulation mode
* fix ARMv7M stack alignment on reset
# gpg: Signature made Tue 10 Sep 2013 01:46:11 PM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Alexander Graf (13) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130910: (28 commits)
configure: Add handling code for AArch64 targets
linux-user: Add AArch64 support
linux-user: Allow targets to specify a minimum uname release
linux-user: Add AArch64 termbits.h definitions
linux-user: Implement cpu_set_tls() and cpu_clone_regs() for AArch64
linux-user: Make sure NWFPE code is 32 bit ARM only
linux-user: Add signal handling for AArch64
linux-user: Fix up AArch64 syscall handlers
linux-user: Add syscall number definitions for AArch64
linux-user: Add cpu loop for AArch64
linux-user: Don't treat AArch64 cpu names specially
target-arm: Add AArch64 gdbstub support
target-arm: Add AArch64 translation stub
target-arm: Prepare translation for AArch64 code
target-arm: Disable 32 bit CPUs in 64 bit linux-user builds
target-arm: Add new AArch64CPUInfo base class and subclasses
target-arm: Pass DisasContext* to gen_set_pc_im()
target-arm: Fix target_ulong/uint32_t confusions
target-arm: Export cpu_env
target-arm: Extract the disas struct to a header file
...
Message-id: 1378839142-7726-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 6f52e51bb7706562634e5dd2755a1e9b8a5037cc
Merge: d985bd4 02dc4bf
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:44 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Cole Robinson
# Via Luiz Capitulino
* luiz/queue/qmp:
qapi-types.py: Fix enum struct sizes on i686
Message-id: 1378822364-13887-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit d985bd4d55555a06c4239eadba4e367880e938ba
Merge: a640f07 c58c7b9
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:26 2013 -0500
Merge remote-tracking branch 'spice/spice.v73' into staging
# By Gerd Hoffmann (2) and Christophe Fergeau (1)
# Via Gerd Hoffmann
* spice/spice.v73:
qxl: fix local renderer
qxl: trace io port name
spice-core: Use g_strdup_printf instead of snprintf
Message-id: 1378807572-27902-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit a640f07c0d03bfa3031af1fc0a32b0d779917d17
Merge: f69f0bc adbecc8
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:21 2013 -0500
Merge remote-tracking branch 'kraxel/usb.89' into staging
# By Gerd Hoffmann (2) and Miroslav Rezanina (2)
# Via Gerd Hoffmann
* kraxel/usb.89:
ehci: save device pointer in EHCIState
Remove dev-bluetooth.c dependency from vl.c
Preparation for usb-bt-dongle conditional build
usb: sanity check setup_index+setup_len in post_load
Message-id: 1378806073-25197-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit f69f0bcac951f3c3089246695874b84ea8967936
Merge: 97fdb94 e2682db
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:08 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-9-9' into staging
# By Tomoki Sekiyama (10) and Paul Burton (1)
# Via Michael Roth
* mdroth/qga-pull-2013-9-9:
QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze
command
qemu-ga: Install Windows VSS provider on `qemu-ga -s install'
qemu-ga: Call Windows VSS requester in fsfreeze command handler
qemu-ga: Add Windows VSS provider and requester as DLL
error: Add error_set_win32 and error_setg_win32
qemu-ga: Add configure options to specify path to Windows/VSS SDK
Add a script to extract VSS SDK headers on POSIX system
checkpatch.pl: Check .cpp files
Add c++ keywords to QAPI helper script
configure: Support configuring C++ compiler
mips_malta: support up to 2GiB RAM
Message-id: 1378755701-2051-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 97fdb9410bb5398fd33f51a37e637d697ace9f73
Merge: 964737e 254c128
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:45:57 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-09-09' into staging
# By Anthony PERARD
# Via Stefano Stabellini
* sstabellini/xen-2013-09-09:
pc_q35: Initialize Xen.
pc: Initializing ram_memory under Xen.
Message-id: alpine.DEB.2.02.1309091718030.6397@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 964737ea195de1560f3bcf55b8b6d4f7d0d4a619
Merge: ce2b694 8f94b07
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:45:37 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Paolo Bonzini (21) and others
# Via Stefan Hajnoczi
* stefanha/block: (42 commits)
qemu-iotests: Fixed test case 026
qemu-iotests: Whitespace cleanup
dataplane: Fix startup race.
block: look for zero blocks in bs->file
block: add default get_block_status implementation for protocols
raw-posix: report unwritten extents as zero
raw-posix: return get_block_status data and flags
docs, qapi: document qemu-img map
qemu-img: add a "map" subcommand
block: return BDRV_BLOCK_ZERO past end of backing file
block: use bdrv_has_zero_init to return BDRV_BLOCK_ZERO
block: return get_block_status data and flags for formats
block: define get_block_status return value
block: introduce bdrv_get_block_status API
block: make bdrv_has_zero_init return false for copy-on-write-images
qemu-img: always probe the input image for allocated sectors
block: expect errors from bdrv_co_is_allocated
block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above
distinction
block: do not use ->total_sectors in bdrv_co_is_allocated
block: make bdrv_co_is_allocated static
...
Message-id: 1378481953-23099-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit ce2b69417caae3731fb50f67854afa006f624a2d
Merge: df71316 45d883d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:45:18 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Brad Smith (2) and others
# Via Stefan Hajnoczi
* stefanha/net:
ne2000: mark I/O as LITTLE_ENDIAN
vmxnet3: Eliminate __packed redefined warning
e1000: add interrupt mitigation support
net: Rename send_queue to incoming_queue
tap: Use numbered tap/tun devices on all *BSD OS's
Message-id: 1378481624-20964-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 6a49fa95c98cd155f7aaf48e5c6fa6bb6adea862
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:22 2013 +0100
configure: Add handling code for AArch64 targets
Add the necessary code to configure to handle AArch64 as a target
CPU (we already have some code for supporting it as host). Note
that this doesn't enable the AArch64 targets yet.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-23-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-12-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* don't need to set TARGET_ABI_DIR to aarch64 as that is the default
* don't build nwfpe -- this is 32 bit legacy only
* rewrite commit message
* add aarch64 to the list of "fdt required" targets
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 99033caee6e9b339c89a368b5ed1f73ef17924a9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:21 2013 +0100
linux-user: Add AArch64 support
This patch adds support for AArch64 in all the small corners of
linux-user (primarily in image loading and startup code).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-22-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-11-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* removed some unnecessary #defines from syscall.h
* catch attempts to use a 32 bit only cpu with aarch64-linux-user
* termios stuff moved into its own patch
* we specify our minimum uname version here now
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a24a758101ff726c9bd3b867e12d5580c793af0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:20 2013 +0100
linux-user: Allow targets to specify a minimum uname release
For newer target architectures, glibc can be picky about the kernel
version: for example, it will not run on an aarch64 system unless
the kernel reports itself as at least 3.8.0. Accommodate this by
enhancing the existing support for faking the kernel version so
that each target can optionally specify a minimum version: if
the user doesn't force a specific fake version then we will override
with the minimum required version only if the real host kernel
version is insufficient.
Use this facility to let aarch64 report a minimum of 3.8.0.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-21-git-send-email-peter.maydell@xxxxxxxxxx
commit af89c7dba52c509bdb72714139aadbe21a133f6e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:19 2013 +0100
linux-user: Add AArch64 termbits.h definitions
Add the AArch64 termbits.h with all the target's termios related
constants and structures.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-20-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: split out from another patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e2cea499cc2e8da5b2d5753625d2c57685193783
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:18 2013 +0100
linux-user: Implement cpu_set_tls() and cpu_clone_regs() for AArch64
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-19-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: pulled out from another patch; don't use is_a64() here;
moved to linux-user from target-arm]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 848d72cdd894e3a883118fd0f1ede14ff66bfa21
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:17 2013 +0100
linux-user: Make sure NWFPE code is 32 bit ARM only
On ARM, linux-user emulation includes NWFPE support for emulating the
ancient FPA floating point coprocessor. This has long since been
superseded by VFP and is only required for legacy binaries. The
AArch64 linux-user target doesn't compile in NWFPE support, so make
sure the relevant code is protected by suitable ifdefs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-18-git-send-email-peter.maydell@xxxxxxxxxx
commit 1744aea182d0fe20e190d037ccf225cbe05e96ae
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Sep 3 20:12:16 2013 +0100
linux-user: Add signal handling for AArch64
This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-17-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-10-git-send-email-john.rigby@xxxxxxxxxx
[PMM: fixed style nits: tabs, long lines;
pulled target_signal.h in from a later patch; it fits better here]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 09701199f6d87ebfe609776156108c6dec812cde
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:15 2013 +0100
linux-user: Fix up AArch64 syscall handlers
Some syscall handlers have special code for ARM enabled that we don't
need on AArch64. Exclude AArch64 in those cases. In other places we
can share struct definitions with other targets or have to provide our
own.
With this patch applied, most syscall definitions in linux-user should
be sound for AArch64.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-16-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-9-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c7907301e7df9623bc5216934e30125ce66cfaea
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:14 2013 +0100
linux-user: Add syscall number definitions for AArch64
The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-15-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-8-git-send-email-john.rigby@xxxxxxxxxx
[PMM: changes relating to cpu_loop() removed as they are superseded
by an earlier patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1861c4543ffa6224d0661036afaa7ec1cf30e8bb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:13 2013 +0100
linux-user: Add cpu loop for AArch64
Add the main linux-user cpu loop for AArch64. Since AArch64
has a different system call interface, doesn't need to worry
about FPA emulation and may in the future keep the prefetch/data
abort information in different system registers, it's simplest
just to use a completely separate loop from the 32 bit ARM
target, rather than peppering it with ifdefs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-14-git-send-email-peter.maydell@xxxxxxxxxx
commit 067d983127da5c05a365230b12f2f557ec721c97
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:12 2013 +0100
linux-user: Don't treat AArch64 cpu names specially
32-bit ARM has a lot of different names for different types of CPUs it
supports.
On AArch64, we don't have this, so we really don't want to execute the
32-bit
logic. Stub it out for AArch64 linux-user guests.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-13-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-7-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 96c04212ba80d4f9630a5e82681285eeb41af9cc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:11 2013 +0100
target-arm: Add AArch64 gdbstub support
We want to be able to debug AArch64 guests. So let's add the respective
gdb
stub functions and xml descriptions that allow us to do so.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-12-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-6-git-send-email-john.rigby@xxxxxxxxxx
[PMM: dropped unused fp regs XML for now; moved 64 bit only functions
to new gdbstub64.c; these are hooked up in AArch64CPU, not via
ifdefs in ARMCPU]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 14ade10f840deec02d32530e5a64bd5ec275adbd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:10 2013 +0100
target-arm: Add AArch64 translation stub
We should translate AArch64 mode separately from AArch32 mode. In AArch64
mode,
registers look vastly different, instruction encoding is completely
different,
basically the system turns into a different machine.
So let's do a simple if() in translate.c to decide whether we can handle
the
current code in the legacy AArch32 code or in the new AArch64 code.
So far, the translation always complains about unallocated instructions.
There
is no emulator functionality in this patch!
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-11-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-5-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* provide no-op versions of a64 functions ifndef TARGET_AARCH64;
this lets us avoid #ifdefs in translate.c
* insert the missing call to disas_a64_insn()
* stash the insn in the DisasContext rather than reloading it in
real_unallocated_encoding()
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3926cc8433542e8c9b7cdc438355fb7660838fd0
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:09 2013 +0100
target-arm: Prepare translation for AArch64 code
This patch adds all the prerequisites for AArch64 support that didn't
fit into split up patches. It extends important bits in the core cpu
headers to also take AArch64 mode into account.
Add new ARM_TBFLAG_AARCH64_STATE translation buffer flag
indicate an ARMv8 cpu running in aarch64 mode vs aarch32 mode.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-10-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-4-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* rearranged tbflags so AArch64? is bit 31 and if it is set then
30..0 are freely available for whatever makes most sense for that mode
* added version bump since we change VFP migration state
* added a comment about how VFP/Neon register state works
* physical address space is 48 bits, not 64
* added ARM_FEATURE_AARCH64 flag to identify 64-bit capable CPUs
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 15ee776bf2001883781cc83d456249a60532bb01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:08 2013 +0100
target-arm: Disable 32 bit CPUs in 64 bit linux-user builds
If we're building aarch64-linux-user then the 32 bit CPUs are
all unwanted, because they can't possibly execute the 64 bit
binaries we will be running; disable them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-9-git-send-email-peter.maydell@xxxxxxxxxx
commit d14d42f19bf3dcef5c81ec2324843121f552a6fc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:07 2013 +0100
target-arm: Add new AArch64CPUInfo base class and subclasses
Create a new AArch64CPU class; all 64-bit capable ARM
CPUs are subclasses of this. (Currently we only support
one, the "any" CPU used by linux-user.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-8-git-send-email-peter.maydell@xxxxxxxxxx
commit eaed129deaea393640cf6bff006cd5cec3b38d8f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:06 2013 +0100
target-arm: Pass DisasContext* to gen_set_pc_im()
We want gen_set_pc_im() to work for both AArch64 and AArch32, but
to do this we'll need the DisasContext* so we can tell which mode
we're in, so pass it in as a parameter.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 0a2461fa49e4d2aeb846390e1eb1bdb9e8196ca4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:05 2013 +0100
target-arm: Fix target_ulong/uint32_t confusions
Correct a few places that were using uint32_t or a 32 bit
only format string to handle something that should be a target_ulong.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-6-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: split out to separate patch; added gen_goto_tb() and
gen_set_pc_im() dest params to list of things to change.]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3407ad0e7a6f04905fc6a8ea72be03553e777988
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:04 2013 +0100
target-arm: Export cpu_env
The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-5-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-3-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f570c61e694d78fc2f6717f4fbb7e820bf72d8dc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:03 2013 +0100
target-arm: Extract the disas struct to a header file
We will need to share the disassembly status struct between AArch32 and
AArch64 modes. So put it into a header file that both sides can use.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-4-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-2-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 08307563ff6cf8cb8d2a7927804dfc5c7dbe86d6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:02 2013 +0100
target-arm: Abstract out load/store from a vaddr in AArch32
AArch32 code (ie traditional 32 bit world) expects to be
able to pass a vaddr in a TCGv_i32. However when QEMU is
compiled with TARGET_LONG_BITS=32 the TCG load/store
functions take a TCGv_i64. Abstract out load/store with
a 32 bit vaddr so we have a place to put the zero extension
of the vaddr and the extension/truncation of the data value.
Apart from the function definitions most of this patch is
a simple s/tcg_gen_qemu_/gen_aa32_/.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 4d017979aa1672b40ccc083daf455f8740eead82
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:33 2013 +0100
abitypes.h: Remove incorrect ARM ABI_LLONG_ALIGNMENT
The ARM EABI specifies that 64 bit integers should be
8 aligned; remove our incorrect setting of 4 alignment.
This has no actual effect since it only set the alignment
for the 'abi_ullong' and 'abi_llong' types, which are used
only inside code which is MIPS-specific, but it will
avoid problems later if we use the types elsewhere.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 031c44e4deedbd7829703654e381ca0b18e78a12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:33 2013 +0100
pl110: Clarify comment about PL110 ID on VersatilePB
Clarify a comment about the ID register value presented by
the PL110 variant present on the VersatilePB board (based
on testing what the actual hardware does), to indicate that
this is not an error in our emulation, and to remove an #if-0.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 78027bb6d9111c8ccd515930cfa05d7f532ecb2a
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Sep 10 19:09:33 2013 +0100
target-arm: Implement qmp query-cpu-definitions
Libvirt uses this to introspect available CPU models.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id:
c0bdcd6c7ea6a085a6902ccaa73180fd771c8267.1378303555.git.crobinso@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f62cafd4c87fad7bb9b9544b4cf4991d34764b11
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: fix ARMv7M stack alignment on reset
When the initial SP is loaded from the vector table on ARMv7M systems the
two
least significant bits are ignored as the stack is always aligned at a
four byte
boundary (see ARM DDI 0403C, B1.4.1 and B1.5.5). So far QEMU did not
ignore
these bits leading to a stack alignment inconsitent with real hardware for
binaries that rely on this behaviour. This patch fixes this issue by
masking the
two least significant bits when loading the SP.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378286595-27072-1-git-send-email-ottlik@xxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 78dbbbe4dff95369c63bf77ee0df23371e1d6602
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: Avoid "1 << 31" undefined behaviour
Avoid the undefined behaviour of "1 << 31" by using 1U to make
the shift be of an unsigned value rather than shifting into the
sign bit of a signed integer. For consistency, we make all the
CPSR_* constants unsigned, though the only one which triggers
undefined behaviour is CPSR_N.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1378391908-22137-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 534df156090539854c2ac819dcdb096d01dab5c1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: Use sextract32() in branch decode
In the decode of ARM B and BL insns, swap the order of the
"append 2 implicit zeros to imm24" and the sign extend, and
use the new sextract32() utility function to do the latter.
This avoids a direct dependency on the undefined C behaviour
of shifting into the sign bit of an integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1378391908-22137-2-git-send-email-peter.maydell@xxxxxxxxxx
commit f5f6d38b7458b8a1a46a750ac131ca8a2d45d946
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: Make '-cpu any' available in linux-user mode only
Make the 'any' CPU for target-arm available only in linux-user mode.
The ARM target provides a CPU named "any", which turns on support for
all user-level instruction set extensions we know about. This is
intended for linux-user emulation mode, where it is the default CPU type.
It makes no sense to try to use this for system emulation, since we don't
initialize it with any system-level information like feature register
values or implementation specific cp15 registers. (Unsurprisingly, some
boards won't boot at all, though you might get lucky in some cases where
the guest doesn't happen to prod things that aren't there.)
Prevent users from making this command line error by removing the
CPU definition from the softmmu build.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1378213995-12945-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 02dc4bf5684d3fb46786fab2ecff98214b1df9fe
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>
commit adbecc89731cf3e0ae656d50ea9fa58c589c4bdc
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>
commit 615fe4de4b3c26619611078960d3103550bde7d0
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Tue Sep 3 11:23:09 2013 +0200
Remove dev-bluetooth.c dependency from vl.c
Use usb_legacy_register handling to create bt-dongle device and remove
code
dependency from vl.c so CONFIG_USB_BLUETOOTH can be disabled.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 644e1a8a34d2f799bfeefae94b71593a2aa662ae
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Tue Sep 3 11:23:08 2013 +0200
Preparation for usb-bt-dongle conditional build
To allow disable usb-bt-dongle device using CONFIG_BLUETOOTH option, some
of
functions in vl.c file has to be made accessible in dev-bluetooth.c. This
is
pure code moving.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c60174e847082ab9f70720f86509a3353f816fad
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 17:09:30 2013 +0200
usb: sanity check setup_index+setup_len in post_load
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c58c7b959b93b864a27fd6b3646ee1465ab8832b
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>
commit 18b203850a859f1d4688baa8a0ddb8e7af55962f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Sep 5 17:30:05 2013 +0200
qxl: trace io port name
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6735aa99a43c70c09b53af190b24600a61178b95
Author: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Date: Mon Sep 2 15:41:32 2013 +0200
spice-core: Use g_strdup_printf instead of snprintf
Several places in spice-core.c were using either g_malloc+snprintf
or snprintf+g_strdup to achieve the same result as g_strdup_printf.
Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e2682db06a6c218f149ff990959c31f3b3d82003
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:39 2013 -0400
QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command
guest-fsfreeze-freeze command can take longer than 3 seconds when heavy
disk I/O is running. To avoid unexpected timeout, this changes the timeout
to 60 seconds (timeout of pre-commit phase of VSS).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f311f2c20a1e33c1e5fdb50ee21e69a5bf26c950
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:32 2013 -0400
qemu-ga: Install Windows VSS provider on `qemu-ga -s install'
Register QGA VSS provider library into Windows when qemu-ga is installed
as
Windows service ('-s install' option). It is deregistered when the service
is uninstalled ('-s uninstall' option).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 64c003174039d0c63ea2bef48d600363ce80a58b
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:25 2013 -0400
qemu-ga: Call Windows VSS requester in fsfreeze command handler
Support guest-fsfreeze-freeze and guest-fsfreeze-thaw commands for Windows
guests. When fsfreeze command is issued, it calls the VSS requester to
freeze filesystems and applications. On thaw command, it again tells the
VSS
requester to thaw them.
This also adds calling of initialize functions for the VSS requester.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b39297aedfabe9b2c426cd540413be991500da25
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:18 2013 -0400
qemu-ga: Add Windows VSS provider and requester as DLL
Adds VSS provider and requester as a qga-vss.dll, which is loaded by
Windows VSS service as well as by qemu-ga.
"provider.cpp" implements a basic stub of a software VSS provider.
Currently, this module only relays a frozen event from VSS service to the
agent, and thaw event from the agent to VSS service, to block VSS process
to keep the system frozen while snapshots are taken at the host.
To register the provider to the guest system as COM+ application, the type
library (.tlb) for qga-vss.dll is required. To build it from COM IDL
(.idl),
VisualC++, MIDL and stdole2.tlb in Windows SDK are required. This patch
also
adds pre-compiled .tlb file in the repository in order to enable
cross-compile qemu-ga.exe for Windows with VSS support.
"requester.cpp" provides the VSS requester to kick the VSS snapshot
process.
Qemu-ga.exe works without the DLL, although fsfreeze features are
disabled.
These functions are only supported in Windows 2003 or later. In older
systems, fsfreeze features are disabled.
In several versions of Windows which don't support attribute
VSS_VOLSNAP_ATTR_NO_AUTORECOVERY, DoSnapshotSet fails with error
VSS_E_OBJECT_NOT_FOUND. In this patch, we just ignore this error.
To solve this fundamentally, we need a framework to handle mount writable
snapshot on guests, which is required by VSS auto-recovery feature
(cleanup phase after a snapshot is taken).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 20840d4cfe5198cde313ac953279e76f16c5b76d
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:11 2013 -0400
error: Add error_set_win32 and error_setg_win32
These functions help maintaining homogeneous formatting of error messages
with Windows error code and description (generated by
g_win32_error_message()).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d9840e2592493c816ad50f4211a9a4ec35371def
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:03 2013 -0400
qemu-ga: Add configure options to specify path to Windows/VSS SDK
To enable VSS support in qemu-ga for Windows, header files included in
VSS SDK are required.
The VSS support is enabled by the configure option like below:
./configure --with-vss-sdk="/path/to/VSS SDK"
If the path is omitted, it tries to search the headers from default paths
and VSS support is enabled only if the SDK is found.
VSS support is disabled if --without-vss-sdk or --with-vss-sdk=no is
specified.
VSS SDK is available from:
http://www.microsoft.com/en-us/download/details.aspx?id=23490
To cross-compile using mingw, you need to setup the SDK on Windows
environments to extract headers. You can also extract the SDK headers on
POSIX environments using scripts/extract-vss-headers and msitools.
In addition, --with-win-sdk="/path/to/Windows SDK" option is also added to
specify path to Windows SDK, which may be used for native-compile of .tlb
file of qemu-ga VSS provider. However, this is usually unnecessary because
pre-compiled .tlb file is included.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 24482749c7d6d7bc0106a43ebac124526fb5b376
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:57 2013 -0400
Add a script to extract VSS SDK headers on POSIX system
VSS SDK(*) setup.exe is only runnable on Windows. This adds a script
to extract VSS SDK headers on POSIX-systems using msitools.
* http://www.microsoft.com/en-us/download/details.aspx?id=23490
From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 69d5d21f90516a8b988a88915865b38e543fc994
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:50 2013 -0400
checkpatch.pl: Check .cpp files
Enable checkpatch.pl to apply the same checks as C source files for
C++ files with .cpp extensions. It also adds some exceptions for C++
sources to suppress errors for:
- <> used in C++ template arguments (e.g. template <class T>)
- :: used to represent namespaces (e.g. SomeClass::method())
- : used in class declaration (e.g. class T : public Super)
- ~ used in destructor method name (e.g. T::~T())
- spacing around 'catch' (e.g. catch (...))
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6f88009ee505e1e9fbf6b74b2e2fb3e24cd3411b
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:43 2013 -0400
Add c++ keywords to QAPI helper script
Add c++ keywords to avoid errors in compiling with c++ compiler.
This also renames class member of PciDeviceInfo to q_class.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 83f73fce4cf18cf36e99f0e78e8e87dfb6b12a71
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:36 2013 -0400
configure: Support configuring C++ compiler
Add configuration for C++ compiler in configure and Makefiles.
The C++ compiler is choosed as following:
- ${CXX}, if it is specified.
- ${cross_prefix}g++, if ${cross_prefix} is specified.
- Otherwise, c++ is used.
Currently, usage of C++ language is only for access to Windows VSS
using COM+ services in qemu-guest-agent for Windows.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Micael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 94c2b6aff43cdfcfdfb552773a6b6b973a72ef0b
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Sep 6 13:57:44 2013 +0100
mips_malta: support up to 2GiB RAM
A Malta board can support up to 2GiB of RAM. Since the unmapped kseg0/1
regions are only 512MiB large & the latter 256MiB of those are taken up
by the IO region, access to RAM beyond 256MiB must be done through a
mapped region. In the case of a Linux guest this means we need to use
highmem.
The mainline Linux kernel does not support highmem for Malta at this
time, however this can be tested using the linux-mti-3.8 kernel branch
available from:
git://git.linux-mips.org/pub/scm/linux-mti.git
You should be able to boot a Linux kernel built from the linux-mti-3.8
branch, with CONFIG_HIGHMEM enabled, using 2GiB RAM by passing "-m 2G"
to QEMU and appending the following kernel parameters:
mem=256m@0x0 mem=256m@0x90000000 mem=1536m@0x20000000
Note that the upper half of the physical address space of a Malta
mirrors the lower half (hence the 2GiB limit) except that the IO region
(0x10000000-0x1fffffff in the lower half) is not mirrored in the upper
half. That is, physical addresses 0x90000000-0x9fffffff access RAM
rather than the IO region, resulting in a physical address space
resembling the following:
0x00000000 -> 0x0fffffff RAM
0x10000000 -> 0x1fffffff I/O
0x20000000 -> 0x7fffffff RAM
0x80000000 -> 0x8fffffff RAM (mirror of 0x00000000 -> 0x0fffffff)
0x90000000 -> 0x9fffffff RAM
0xa0000000 -> 0xffffffff RAM (mirror of 0x20000000 -> 0x7fffffff)
The second mem parameter provided to the kernel above accesses the
second 256MiB of RAM through the upper half of the physical address
space, making use of the aliasing described above in order to avoid
the IO region and use the whole 2GiB RAM.
The memory setup may be seen as 'backwards' in this commit since the
'real' memory is mapped in the upper half of the physical address space
and the lower half contains the aliases. On real hardware it would be
typical to see the upper half of the physical address space as the alias
since the bus addresses generated match the lower half of the physical
address space. However since the memory accessible in the upper half of
the physical address space is uninterrupted by the IO region it is
easiest to map the RAM as a whole there, and functionally it makes no
difference to the target code.
Due to the requirements of accessing the second 256MiB of RAM through
a mapping to the upper half of the physical address space it is usual
for the bootloader to indicate a maximum of 256MiB memory to a kernel.
This allows kernels which do not support such access to boot on systems
with more than 256MiB of RAM. It is also the behaviour assumed by Linux.
QEMUs small generated bootloader is modified to provide this behaviour.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 254c12825f93f405658ca3366cd34f8a8ad23511
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>
commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d
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
commit 45d883dcf208160e2db308d1b368beb74f37dc7e
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>
commit 3dbb9786e9f5fa8429824818b6f799d8f65d1199
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri Aug 23 12:28:25 2013 -0400
vmxnet3: Eliminate __packed redefined warning
This eliminates a warning about __packed being redefined as exposed by the
vmxnet3 code. __packed is not used anywhere in the vmxnet3 code.
CC hw/net/vmxnet3.o
In file included from hw/net/vmxnet3.c:29:
hw/net/vmxnet3.h:37:1: warning: "__packed" redefined
In file included from /usr/include/stdlib.h:38,
from
/buildbot-qemu/default_openbsd_current/build/include/qemu-common.h:26,
from
/buildbot-qemu/default_openbsd_current/build/include/hw/hw.h:5,
from hw/net/vmxnet3.c:18:
/usr/include/sys/cdefs.h:209:1: warning: this is the location of the
previous definition
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e9845f0985f088dd01790f4821026df0afba5795
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Fri Aug 2 18:30:52 2013 +0200
e1000: add interrupt mitigation support
This patch partially implements the e1000 interrupt mitigation mechanisms.
Using a single QEMUTimer, it emulates the ITR register (which is the newer
mitigation register, recommended by Intel) and approximately emulates
RADV and TADV registers. TIDV and RDTR register functionalities are not
emulated (RDTR is only used to validate RADV, according to the e1000
specs).
RADV, TADV, TIDV and RDTR registers make up the older e1000 mitigation
mechanism and would need a timer each to be completely emulated. However,
a single timer has been used in order to reach a good compromise between
emulation accuracy and simplicity/efficiency.
The implemented mechanism can be enabled/disabled specifying the command
line e1000-specific boolean parameter "mitigation", e.g.
qemu-system-x86_64 -device e1000,mitigation=on,... ...
For more information, see the Software developer's manual at
http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf.
Interrupt mitigation boosts performance when the guest suffers from
an high interrupt rate (i.e. receiving short UDP packets at high packet
rate). For some numerical results see the following link
http://info.iet.unipi.it/~luigi/papers/20130520-rizzo-vm.pdf
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx> (for pc-* machines)
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 067404be626d03656788adb7deff8072ca84299f
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Aug 2 21:47:08 2013 +0200
net: Rename send_queue to incoming_queue
Each networking client has a queue for packets that could not yet be
delivered to that client. Calling this queue "send_queue" is highly
confusing as it has nothing to to with packets send from this client but
to it. Avoid this confusing by renaming it to "incoming_queue".
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aa4f082f7526d39dac8e2ca64d192d858014ee10
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>
commit 8f94b077877151de93a63c73f796897309568ddb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 4 13:16:05 2013 +0200
qemu-iotests: Fixed test case 026
The reference output for test case 026 hasn't been updated in a long
time and it's one of the "known failing" cases. This patch updates the
reference output so that unintentional changes can be reliably detected
again.
The problem with this test case is that it produces different output
depending on whether -nocache is used or not. The solution of this patch
is to actually have two different reference outputs. If nnn.out.nocache
exists, it is used as the reference output for -nocache; otherwise,
nnn.out stays valid for both cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 79e40ab10e1f4450c11ab8430cb2547146ded639
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 4 13:16:04 2013 +0200
qemu-iotests: Whitespace cleanup
These scripts used to have a four characters indentation, with eight
consecutive spaces converted into a tab. Convert everything into spaces.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8caf907f07688972e5e7cd11526079b1665d6dba
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Sep 4 14:16:15 2013 +0200
dataplane: Fix startup race.
Avoid trying to setup dataplane again if dataplane setup is already in
progress. This may happen if an eventfd is triggered during setup.
I saw this occasionally with an experimental s390 irqfd implementation:
virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> virtio_ccw_set_host_notifier
...
-> virtio_queue_set_host_notifier_fd_handler
-> virtio_queue_host_notifier_read
-> virtio_queue_notify_vq
-> virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> vring_setup
-> hostmem_init
-> memory_listener_register
-> BOOM
As virtio-ccw tries to follow what virtio-pci does, it might be
triggerable
for other platforms as well.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5daa74a6ebce7543aaad178c4061dc087bb4c705
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:38 2013 +0200
block: look for zero blocks in bs->file
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 918e92d71b38306a6bf4fedfd1109367f1425587
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:37 2013 +0200
block: add default get_block_status implementation for protocols
Protocols return raw data, so you can assume the offsets to pass
through unchanged.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f5f7abcfd50bca38ae278a9c7a3ed60fba3d76dc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:36 2013 +0200
raw-posix: report unwritten extents as zero
These are created for example with XFS_IOC_ZERO_RANGE.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63390a8d14c9006f42bdaab22291c9c97676322d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:35 2013 +0200
raw-posix: return get_block_status data and flags
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit facd6e2b5c0217f9d9eeb2ee497dda28009518bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:34 2013 +0200
docs, qapi: document qemu-img map
Eric Blake also requested including the output in qapi-schema.json,
so that it is published through the introspection mechanism.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4c93a13b5daf9bd5fca1a547661b0fb9a2f0ca52
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:33 2013 +0200
qemu-img: add a "map" subcommand
This command dumps the metadata of an entire chain, in either tabular or
JSON
format.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0ad5712d5d15ff272b9e107910be4aae468fb3d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:32 2013 +0200
block: return BDRV_BLOCK_ZERO past end of backing file
If the sectors are unallocated and we are past the end of the
backing file, they will read as zero.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 415b5b013ce74126e71459b922a92377918ae2ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:31 2013 +0200
block: use bdrv_has_zero_init to return BDRV_BLOCK_ZERO
Alternatively, this could use a "discard zeroes data" flag returned
by bdrv_get_info.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bc74be997a72922170f4f272fd5e8074a3ecc27
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:30 2013 +0200
block: return get_block_status data and flags for formats
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4333bb71405f58a8dc8d3255feb3ca5960b0daf8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:29 2013 +0200
block: define get_block_status return value
Define the return value of get_block_status. Bits 0, 1, 2 and 9-62
are valid; bit 63 (the sign bit) is reserved for errors. Bits 3-8
are left for future extensions.
The return code is compatible with the old is_allocated API: if a driver
only returns 0 or 1 (aka BDRV_BLOCK_DATA) like is_allocated used to,
clients of is_allocated will not have any change in behavior. Still,
we will return more precise information in the next patches and the
new definition of bdrv_is_allocated is already prepared for this.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6b8a33354a448ee421f57676c1a93a536a63269
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:28 2013 +0200
block: introduce bdrv_get_block_status API
For now, bdrv_get_block_status is just another name for bdrv_is_allocated.
The next patches will add more flags.
This also touches all block drivers with a mostly mechanical rename. The
sole exception is cow; because it calls cow_co_is_allocated from the read
code, we keep that function and make cow_co_get_block_status a wrapper.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11212d8fa08a4e5bd56bb4f6877f9a4c0439a02b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:27 2013 +0200
block: make bdrv_has_zero_init return false for copy-on-write-images
This helps implementing is_allocated on top of get_block_status.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e4a86f88cc6b214c37b4abe9160e41f0338ce4cd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:26 2013 +0200
qemu-img: always probe the input image for allocated sectors
qemu-img convert can assume "that sectors which are unallocated in the
input image are present in both the output's and input's base images".
However it is only doing this if the output image returns true for
bdrv_has_zero_init(). Testing bdrv_has_zero_init() does not make much
sense if the output image is copy-on-write, because a copy-on-write
image is never initialized to zero (it is initialized to the content
of the backing file).
There is nothing here that makes has_zero_init images special. The
input and output must be equal for the operation to make sense, and
that's it.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d663640c04f2aab810915c556390211d75457704
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>
commit 4f5786376e41980e78af45a123c56ebdc5295099
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:24 2013 +0200
block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above
distinction
Now that bdrv_is_allocated detects coroutine context, the two can
use the same code.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 617ccb466e1937a5c99332ce77a47ebd29861ae4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:23 2013 +0200
block: do not use ->total_sectors in bdrv_co_is_allocated
This is more robust when the device has removable media.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bdad13b9deec47d5d9eaf7f43867d19a79471244
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:22 2013 +0200
block: make bdrv_co_is_allocated static
bdrv_is_allocated can detect coroutine context and go through a fast
path, similar to other block layer functions.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit df2a6f29a5019707d69f6eeb30cf792841cae5aa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:21 2013 +0200
block: keep bs->total_sectors up to date even for growable block devices
If a BlockDriverState is growable, after every write we need to
check if bs->total_sectors might have changed. With this change,
bdrv_getlength does not need anymore a system call.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e641c1e81e54fc14908ff6785ef7d51e42c2e1bb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:20 2013 +0200
cow: do not call bdrv_co_is_allocated
As we change bdrv_is_allocated to gather more information from bs and
bs->file, it will become a bit slower. It is still appropriate for online
jobs, but not for reads/writes. Call the internal function instead.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 26ae980492920e417bc91761cc85950f18e41f85
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:19 2013 +0200
cow: make writes go at a less indecent speed
Only sync once per write, rather than once per sector.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 276cbc7f2fc1bd3810887995dbc9cbb739c975bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:18 2013 +0200
cow: make reads go at a decent speed
Do not do two reads for each sector; load each sector of the bitmap
and use bitmap operations to process it.
Writes are still dog slow!
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0ca0b0d5f8a87dbc6daa5095771d036d0e6dc5b4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 15:49:39 2013 +0200
qmp: Documentation for BLOCK_IMAGE_CORRUPTED
Add an appropriate entry describing this event and its parameters into
qmp-events.txt.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fa510ebffa1fd509323e2e0888e369e23adbb508
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:51 2013 +0800
block: use BDS ref for block jobs
Block jobs used drive_get_ref(drive_get_by_blockdev(bs)) to avoid BDS
being deleted. Now we have BDS reference count, and block jobs don't
care about dinfo, so replace them to get cleaner code. It is also the
safe way when BDS has no drive info.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 38b54b6dc18ae7e2a32e5ae38b312fb13f0584c8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:50 2013 +0800
nbd: use BlockDriverState refcnt
Previously, nbd calls drive_get_ref() on the drive of bs. A BDS doesn't
always have associated dinfo, which nbd doesn't care either. We already
have BDS ref count, so use it to make it safe for a BDS w/o blockdev.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c0777fe18b08c3a6de0c53325d6b9b75ebb9de9a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:49 2013 +0800
xen_disk: simplify blk_disconnect with refcnt
We call bdrv_attach_dev when initializing whether or not bs is created
locally, so call bdrv_detach_dev and let the refcnt handle the
lifecycle.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8442cfd0346de849264494c5adedbac12553867e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:48 2013 +0800
migration: omit drive ref as we have bdrv_ref now
block-migration.c does not actually use DriveInfo anywhere. Hence it's
safe to drive ref code, we really only care about referencing BDS.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f6fd3491cf0f768b135ed2e242bd1d1d2a2efec
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:47 2013 +0800
block: make bdrv_delete() static
Manage BlockDriverState lifecycle with refcnt, so bdrv_delete() is no
longer public and should be called by bdrv_unref() if refcnt is
decreased to 0.
This is an identical change because effectively, there's no multiple
reference of BDS now: no caller of bdrv_ref() yet, only bdrv_new() sets
bs->refcnt to 1, so all bdrv_unref() now actually delete the BDS.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9fcb025146676ab376e6159b58f5a5ddb67bf03c
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:46 2013 +0800
block: implement reference count for BlockDriverState
Introduce bdrv_ref/bdrv_unref to manage the lifecycle of
BlockDriverState. They are unused for now but will used to replace
bdrv_delete() later.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13c91cb7e28b47f5c4227f7e88a1378570117704
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:45 2013 +0800
iscsi: use bdrv_new() instead of stack structure
BlockDriverState structure needs bdrv_new() to initialize refcnt, don't
allocate a local structure variable and memset to 0, becasue with coming
refcnt implementation, bdrv_unref will crash if bs->refcnt not
initialized to 1.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3d34c6cd99f434126365150c2535bbf93b94f891
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:44 2013 +0800
vvfat: use bdrv_new() to allocate BlockDriverState
we need bdrv_new() to properly initialize BDS, don't allocate memory
manually.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a94a3fac19c37c093203e9e01c3a54e92e1dc701
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Thu Aug 29 17:48:16 2013 +0100
aio / timers: fix build of test/test-aio.c on non-linux platforms
tests/test-aio.c used pipe2 which is Linux only. Use qemu_pipe
and qemu_set_nonblock for portabillity. Addition of O_CLOEXEC
is a harmless bonus.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 68dc036488dfea170627a55e6ee3dfd7f2c2063e
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>
commit b2e10493c71160d88bb823cae9a92e806a79b9d6
Author: Alexandre Derumier <aderumier@xxxxxxxxx>
Date: Mon Sep 2 19:07:24 2013 +0100
add qemu-img convert -n option (skip target volume creation)
Add a -n option to skip volume creation on qemu-img convert.
This is useful for targets such as rbd / ceph, where the
target volume may already exist; we cannot always rely on
qemu-img convert to create the image, as dependent on the
output format, there may be parameters which are not possible
to specify through the qemu-img convert command line.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b3f3a30f387f34308b3e4d910a2824e69c34182f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 2 16:36:15 2013 +0200
qemu-iotests: Adjust test result 039
The moved OFLAG_COPIED check in qcow2_check_refcounts results in a
different output from test 039 (mismatches are now found after the
general refcount check (as far as any remain)). This patch adjusts the
expected test result accordingly.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2024c1df43eae0d2e35663da0c6e8c51290a386e
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:41 2013 +0200
block: Add iops_size to do the iops accounting for a given io size.
This feature can be used in case where users are avoiding the iops limit
by
doing jumbo I/Os hammering the storage backend.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e9fab690d59ac15956c3733fe0794ce1ae4c4af
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:40 2013 +0200
block: Add support for throttling burst max in QMP and the command line.
The max parameter of the leaky bucket throttling algorithm can be used to
allow the guest to do bursts.
The max value is a pool of I/O that the guest can use without being
throttled
at all. Throttling is triggered once this pool is empty.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc0681c45430a1f1a4c2d06e9499b7775afc9a18
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:39 2013 +0200
block: Enable the new throttling code in the block layer.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f17cfe813c40792cc1622ba447581c906beb091e
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:38 2013 +0200
throttle: Add units tests
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5ddfffbdc5e024014b77816dab88d372ad95a5b0
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:37 2013 +0200
throttle: Add a new throttling API implementing continuous leaky bucket.
Implement the continuous leaky bucket algorithm devised on IRC as a
separate
module.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit df7131623daf4823e087eb1128f6c1c351519774
Merge: 863a834 2641689
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Sep 5 13:38:53 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Jan Kiszka (2) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
exec: do tcg_commit only when tcg_enabled
Revert "memory: Return -1 again on reads from unsigned regions"
memory: Provide separate handling of unassigned io ports accesses
exec: check offset_within_address_space for register subpage
exec: fix writing to MMIO area with non-power-of-two length
Message-id: 1378401455-583-1-git-send-email-pbonzini@xxxxxxxxxx
commit 2641689a37144b201814f39046e36eb285498cbe
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Wed Sep 4 14:37:33 2013 +0800
exec: do tcg_commit only when tcg_enabled
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 68a7439a150d6b4da99082ab454b9328b151bc25
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>
commit 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf
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>
commit 88266249701032211c1d7449460d063fbc01bf12
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>
commit 098178f2749a63fbbb1a626dcc7d939d5cb2bde7
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>
commit 863a83415750a2ee75ac1fb31405c11e71bf990b
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Sep 5 09:40:02 2013 -0500
Update mailmap
This makes get_maintainers.pl behave a little better.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 386a5a1e0057e220f79c48fe3689e3dfb17f1b09
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Aug 28 15:24:05 2013 +0530
char: remove watch callback on chardev detach from frontend
If a frontend device releases the chardev (via unplug), the chr handlers
are set to NULL via qdev's exit callbacks invoking
qemu_chr_add_handlers(). If the chardev had a pending operation, a
callback will be invoked, which will try to access data in the
just-released frontend, causing a segfault.
Ensure the callbacks are disabled when frontends release chardevs.
This was seen when a virtio-serial port was unplugged when heavy
guest->host IO was in progress (causing a callback to be registered).
In the window in which the throttling was active, unplugging ports
caused a qemu segfault.
https://bugzilla.redhat.com/show_bug.cgi?id=985205
CC: <qemu-stable@xxxxxxxxxx>
Reported-by: Sibiao Luo <sluo@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 26da70c72524eb22c946ab19ec98a217b8252f7e
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Aug 28 15:23:37 2013 +0530
char: use common function to disable callbacks on chardev close
This deduplicates code used a lot of times.
CC: <qemu-stable@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 7ba9addc165b37b764baa08c02518b15b2361707
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Aug 28 15:18:29 2013 +0530
char: move backends' io watch tag to CharDriverState
All the backends implement an io watcher tag for callbacks. Move it to
CharDriverState from each backend's struct to make accessing the tag from
backend-neutral functions easier.
This will be used later to cancel a callback on chardev detach from a
frontend.
CC: <qemu-stable@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit aaa6a40194e9f204cb853f64ef3c1e170bb014e8
Merge: bb7d4d8 5e891bf
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:33:32 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* Conversion of global CPU list to QTAILQ - preparing for CPU hot-unplug
* Document X86CPU magic numbers for CPUID cache info
# gpg: Signature made Tue 03 Sep 2013 10:59:22 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (3) and Eduardo Habkost (1)
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Use #defines instead of magic numbers for CPUID cache info
cpu: Replace qemu_for_each_cpu()
cpu: Use QTAILQ for CPU list
a15mpcore: Use qemu_get_cpu() for generic timers
commit bb7d4d82b63bbde06c5584f94bfd9ba3b3e5ff3f
Merge: 5a93d5c ca0eca9
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:32:45 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (11) and others
# Via Kevin Wolf
* kwolf/for-anthony: (26 commits)
qemu-iotests: Overlapping cluster allocations
qcow2_check: Mark image consistent
qcow2-refcount: Repair shared refcount blocks
qcow2-refcount: Repair OFLAG_COPIED errors
qcow2-refcount: Move OFLAG_COPIED checks
qcow2: Employ metadata overlap checks
qcow2: Metadata overlap checks
qcow2: Add corrupt bit
qemu-iotests: Snapshotting zero clusters
qcow2-refcount: Snapshot update for zero clusters
option: Add assigned flag to QEMUOptionParameter
gluster: Abort on AIO completion failure
block: Remove old raw driver
switch raw block driver from "raw.o" to "raw_bsd.o"
raw_bsd: register bdrv_raw
raw_bsd: add raw_create_options
raw_bsd: introduce "special members"
raw_bsd: add raw_create()
raw_bsd: emit debug events in bdrv_co_readv() and bdrv_co_writev()
add skeleton for BSD licensed "raw" BlockDriver
...
Message-id: 1378111792-20436-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 5a93d5c2abc719bd44f6c9fbeed88d3cae712606
Merge: 9ea0f58 fcdda21
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:31:43 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (6) and others
# Via Michael Tokarev
* mjt/trivial-patches:
aio / timers: use g_usleep() not sleep()
adlib: sort offsets in portio registration
qmp: fix integer usage in examples
tci: Remove function tcg_out64 (fix broken build)
target-arm: Report unimplemented opcodes (LOG_UNIMP)
pflash_cfi02.c: fix debug macro
configure: Remove unneeded redirections of stderr (pkg-config --exists)
configure: Remove unneeded redirections of stderr (pkg-config --cflags,
--libs)
configure: Don't write .pyc files by default (python -B)
curl: qemu_bh_new() can never return NULL
slirp/arp_table.c: Avoid shifting into sign bit of signed integers
configure: disable clang -Wstring-plus-int warning
rdma: silly ipv6 bugfix
misc: Fix some typos in names and comments
slirp: Port redirection option behave differently on Linux and Windows
Message-id: 1378119695-14568-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9ea0f58fc723daeb9e1dba9a762269e8cbbd1b73
Merge: 9889e04 31efd2e
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:31:30 2013 -0500
Merge remote-tracking branch 'kraxel/usb.88' into staging
# By Gerd Hoffmann (10) and Marcel Apfelbaum (1)
# Via Gerd Hoffmann
* kraxel/usb.88:
usb/dev-hid: Modified usb-tablet category from Misc to Input
Revert "usb-hub: report status changes only once"
usb-hub: add tracepoint for status reports
usb: parallelize usb3 streams
uas: add property for request logging
xhci: reset port when disabling slot
xhci: emulate intr endpoint intervals correctly
xhci: fix endpoint interval calculation
xhci: add port to slot_address tracepoint
xhci: add tracepoint for endpoint state changes
xhci: remove leftover debug printf
Message-id: 1378117055-29620-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9889e04ac193cad7fa0526573ce0cc752dcabb99
Merge: 5cff81f 23fe2b3
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:31:07 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups and enhancements,
and a virtio bugfix for level interrupts.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 01 Sep 2013 03:15:36 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (3) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
virtio_pci: fix level interrupts with irqfd
pc: reduce duplication, fix PIIX descriptions
hw: Clean up bogus default boot order
pci: add config space access traces
pc: fix regression for 64 bit PCI memory
pci: Introduce helper to retrieve a PCI device's DMA address space
Message-id: 1378023590-11109-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 5cff81f098a57762ab937bfbedb298e658af2c7f
Merge: 545825d 520902a
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:30:51 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* Fix QOM and ISA documentation errors
* Extend object_initialize() et al. to check the instance size
# gpg: Signature made Fri 30 Aug 2013 02:19:48 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (14) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony:
isa: Fix documentation of isa_register_portio_list()
qom: Assert instance size in object_initialize_with_type()
qom: Pass available size to object_initialize()
qdev: Pass size to qbus_create_inplace()
virtio-mmio: Pass size to virtio_mmio_bus_new()
virtio-ccw: Pass size to virtio_ccw_bus_new()
s390-virtio-bus: Pass size to virtio_s390_bus_new()
virtio-pci: Pass size to virtio_pci_bus_new()
usb: Pass size to usb_bus_new()
scsi: Pass size to scsi_bus_new()
pci: Pass size to pci_bus_new_inplace()
ide: Pass size to ide_bus_new()
ipack: Pass size to ipack_bus_new_inplace()
intel-hda: Pass size to hda_codec_bus_init()
qom: Fix object_initialize_with_type() argument name in documentation
virtio: Remove unnecessary OBJECT() casts
object: Fix typo in qom/object.h
commit 5e891bf8fd509c4d83cb95d352d88effb20720b1
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Aug 27 12:24:37 2013 -0300
target-i386: Use #defines instead of magic numbers for CPUID cache info
This is an attempt to make the CPUID cache topology code clearer, by
replacing the magic numbers in the code with #defines, and moving all
the cache information to the same place in the file.
I took care of comparing the assembly output of compiling
target-i386/cpu.c before and after applying this change, to make sure
not a single bit was changed on cpu_x86_cpuid() before and after
applying this patch (unfortunately I had to manually check existing
differences, because of __LINE__ expansions on
object_class_dynamic_cast_assert() calls).
This even keeps the code bug-compatible with the previous version: today
the cache information returned on AMD cache information leaves (CPUID
0x80000005 & 0x80000006) do not match the information returned on CPUID
leaves 2 and 4. The L2 cache information on CPUID leaf 2 also doesn't
match the information on CPUID leaf 2. The new constants should make it
easier to eventually fix those inconsistencies. All inconsistencies I
have found are documented in code comments.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38fcbd3f08375eb2986b9b63ccd4f593e71aa99d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 19:50:23 2013 +0200
cpu: Replace qemu_for_each_cpu()
It was introduced to loop over CPUs from target-independent code, but
since commit 182735efaf956ccab50b6d74a4fed163e0f35660 target-independent
CPUState is used.
A loop can be considered more efficient than function calls in a loop,
and CPU_FOREACH() hides implementation details just as well, so use that
instead.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bdc44640cb33c90809376a262df871a1144d339a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 23:50:24 2013 +0200
cpu: Use QTAILQ for CPU list
Introduce CPU_FOREACH(), CPU_FOREACH_SAFE() and CPU_NEXT() shorthand
macros.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 27013bf20d5d93ac75d398aa3608604e8ad91b5a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Aug 21 18:36:35 2013 +0200
a15mpcore: Use qemu_get_cpu() for generic timers
This simplifies the loop and aids with refactoring of CPU list.
Requested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 545825d4cda03ea292b7788b3401b99860efe8bc
Merge: 32f3bd6 6fb5874
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 01:35:43 2013 +0200
Merge branch 'tcg-next' of git://github.com/rth7680/qemu
* 'tcg-next' of git://github.com/rth7680/qemu: (29 commits)
tcg-i386: Make use of zero-extended memory helper routines
tcg: Introduce zero and sign-extended versions of load helpers
exec: Split softmmu_defs.h
target: Include softmmu_exec.h where forgotten
exec: Rename USUFFIX to LSUFFIX
tcg-i386: Don't perform GETPC adjustment in TCG code
exec: Reorganize the GETRA/GETPC macros
configure: Allow x32 as a host
tcg-i386: Adjust tcg_out_tlb_load for x32
tcg-i386: Use intptr_t appropriately
tcg: Fix jit debug for x32
tcg: Use appropriate types in tcg_reg_alloc_call
tcg: Change tcg_out_ld/st offset to intptr_t
tcg: Change tcg_gen_exit_tb argument to uintptr_t
tcg: Use uintptr_t in TCGHelperInfo
tcg: Change relocation offsets to intptr_t
tcg: Change memory offsets to intptr_t
tcg: Change frame pointer offsets to intptr_t
tcg: Define TCG_ptr properly
tcg: Define TCG_TYPE_PTR properly
...
commit 32f3bd6d4d6d6f835cbc2b9241fe8c32d2898d73
Merge: 3207bf2 7e47226
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 01:35:25 2013 +0200
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu:
PPC: spapr: iommu: rework traces
spapr: add "stop-self" RTAS call required to support hot CPU unplug
PPC: KVM: Compile fix for qemu_notify_event
pseries: Add H_SET_MODE hcall to change guest exception endianness
xics: move registration of global state to realize()
spapr-pci: rework MSI/MSIX
target-ppc: Use #define instead of opencoding SLB valid bit
spapr-pci: fix config space access to support bridges
target-ppc: fix bit extraction for FPBF and FPL
ppc405_boards: Don't enforce presence of firmware for qtest
ppc405_uc: Disable debug output
ppc405_boards: Disable debug output
ppc: virtex_ml507: QEMU_OPTION_dtb support for this machine.
disas/ppc.c: Fix little endian disassembly
target-ppc: POWER7 supports the MSR_LE bit
target-ppc: USE LPCR_ILE to control exception endian on POWER7
pseries: Fix stalls on hypervisor virtual console
PPC: E500: Generate device tree on reset
commit 3207bf2549a1a84c577d2f6a481192566a059163
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Aug 15 17:57:59 2013 +0200
tcg/mips: only enable ext8s/ext16s ops on MIPS32R2
On MIPS ext8s and ext16s ops are implemented with a dedicated
instruction only on MIPS32R2, otherwise the same kind of implementation
than at TCG level (shift left followed by shift right) is used.
Change that by only implementing the ext8s and ext16s ops on MIPS32R2 so
that optimizations can be done by the optimizer. Use an inline version to
avoid having to test again for MIPS32R2 instructions. Keep the shift
implementation for the ld/st routines.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit df81ff51d50b22c52e609e13d5292d09e4634659
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Aug 28 13:51:40 2013 +0200
tcg/mips: inline bswap16/bswap32 ops
Use an inline version for the bswap16 and bswap32 ops to avoid
testing for MIPS32R2 instructions availability, as these ops are
only available in that case.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 988902fc3bc599f7431461b790f3d63d3a2357f9
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Aug 15 17:57:59 2013 +0200
tcg/mips: detect available host instructions at runtime
Now that TCG supports enabling and disabling ops at runtime, it's
possible to detect the available host instructions at runtime, and
enable the corresponding ops accordingly.
Unfortunately it's not easy to probe for available instructions on
MIPS, the information is partially available in /proc/cpuinfo, and
not available in AUXV. This patch therefore probes for the instructions
by trying to execute them and by catching a possible SIGILL signal.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6fb5874590589585cdcad4ca2431d9d8d4d491b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 15:00:16 2013 -0700
tcg-i386: Make use of zero-extended memory helper routines
For 8 and 16-bit unsigned loads, rely on the zero-extension
from the helper and use a smaller 32-bit move insn.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8f94df5934afd9b2011773aaee0fdef714ff573
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 14:09:14 2013 -0700
tcg: Introduce zero and sign-extended versions of load helpers
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e58eb534133f8ccaa957a33a06ccdb9129f2c842
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 13:13:44 2013 -0700
exec: Split softmmu_defs.h
The _cmmu helpers can be moved to exec-all.h. The helpers that are
used from TCG will shortly need access to tcg_target_long so move
their declarations into tcg.h.
This requires minor include adjustments to all TCG backends.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b1669e5e321a0a96a07ec1f7a82ce8f4b25ddfd5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 13:03:27 2013 -0700
target: Include softmmu_exec.h where forgotten
Several targets forgot to include softmmu_exec.h, which would
break them with a header cleanup to follow.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 701e3a5cc02fd52ba59894781e78d433ec043772
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 11:31:48 2013 -0700
exec: Rename USUFFIX to LSUFFIX
In a following patch, there will be confusion between multiple "unsigned"
suffixes; rename this one so as to imply "load".
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5bcebc253c1637d3a5b957abc7460c49a670c4de
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 10:47:49 2013 -0700
tcg-i386: Don't perform GETPC adjustment in TCG code
Since we now perform it inside the helper, no need to do it here.
This also lets us perform a tail-call from the store slow path to
the helper.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0f842f8a246f2b5b51a11c13f933bf7a90ae8e96
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 10:22:54 2013 -0700
exec: Reorganize the GETRA/GETPC macros
Always define GETRA; use __builtin_extract_return_addr, rather than
having a special case for s390. Split GETPC_ADJ out of GETPC; use 2
universally, rather than having a special case for arm.
Rename GETPC_LDST to GETRA_LDST to indicate that it does not
contain the GETPC_ADJ value. Likewise with GETPC_EXT to GETRA_EXT.
Perform the GETPC_ADJ adjustment inside helper_ret_ld/st. This will
allow backends to pass along the "true" return address rather than
the massaged GETPC value. In the meantime, double application of
GETPC_ADJ does not hurt, since the call insn in all ISAs is at least
4 bytes long.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c72b26ec92eb93a92852ab1d23acb5a945de5062
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 12:20:05 2013 -0700
configure: Allow x32 as a host
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5dad3be314dfec80ebb1c69266ae62edfea1850
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 16:50:38 2013 -0700
tcg-i386: Adjust tcg_out_tlb_load for x32
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 357e3d8a297003f9d79f08e45a79a73eb2d12f5b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:37:16 2013 -0700
tcg-i386: Use intptr_t appropriately
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit edee2579ae3722d28756ce04ec665ea9522d8600
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 17:20:30 2013 -0700
tcg: Fix jit debug for x32
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3452f1f40956e50142d32afbc021c53026a1770
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 17:12:38 2013 -0700
tcg: Use appropriate types in tcg_reg_alloc_call
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a05b5b9be0fec96c89e00abaa964be7ce9e661ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 17:07:26 2013 -0700
tcg: Change tcg_out_ld/st offset to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8cfd04959a023f87e1e6727e608a20f168441370
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:53:10 2013 -0700
tcg: Change tcg_gen_exit_tb argument to uintptr_t
And update all users.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 48bc6bab479e5abb542119f3974603afd882c246
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:38:41 2013 -0700
tcg: Use uintptr_t in TCGHelperInfo
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2ba7fae29ec63acf2ce77d20d4146fa224bf2338
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:30:10 2013 -0700
tcg: Change relocation offsets to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2f2f244d02a2cb28db7ce790576ade08fc3a54bf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:17:25 2013 -0700
tcg: Change memory offsets to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e2c6d1b42d34539120c3cee159dcd9e32cba7d3b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:12:31 2013 -0700
tcg: Change frame pointer offsets to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8b73d49f53e1a1d1571ac783ec028ff27befd93e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:07:08 2013 -0700
tcg: Define TCG_ptr properly
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d289837eef3550ac156082d812231ec5dfe79501
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:48:46 2013 -0700
tcg: Define TCG_TYPE_PTR properly
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 78cd7b835e13bee4416782b6ed41e9bef76e3cfc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:41:29 2013 -0700
tcg: Allow TCG_TARGET_REG_BITS to be specified independantly
There are several hosts for which it would be useful to use the
available 64-bit registers in a 32-bit pointer environment.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3e9bd63acf145bb2d3da277ee85167878ade53bd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:40:25 2013 -0700
tcg: Fix next_tb type in cpu_exec
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 04d5a1da70dfe1a3a5ac5b5a8e7a7b8136d3a985
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:35:34 2013 -0700
tcg: Change tcg_qemu_tb_exec return to uintptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b93949ef6a5dea2b22987f2aa3028068e751a7e4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:22:50 2013 -0700
tcg: Change flush_icache_range arguments to uintptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 35aa3fb38753bd1557af8370994ce6c5b599e65c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 13:53:25 2013 -0700
qtest: Fix FMT_timeval vs time_t
Since FMT_timeval unconditionally uses %ld for both tv_sec and tv_usec,
and already casts tv_usec to long, also cast tv_sec to long.
Cc: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 01547f7f9283e416578323e5d5df3327ed4df3ee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:22:46 2013 -0700
tcg: Constant fold div, rem
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32f5717f07e5f801e482052311d21a4223fc78f1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 14:46:08 2013 -0700
tcg-ppc64: Implement muluh, mulsh
Using these instead of mulu2 and muls2 lets us avoid having to argument
overlap analysis in the backend. Normal register allocation will DTRT.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c9a8f17560794ad23889318cc42894c6e592cc3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 14:41:43 2013 -0700
tcg-mips: Implement mulsh, muluh
With the optimization in tcg_liveness_analysis,
we can avoid the MFLO when it is unused.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03271524b66dfc979cc0412bdb5d8d617426b644
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 14:35:56 2013 -0700
tcg: Add muluh and mulsh opcodes
Use them in places where mulu2 and muls2 are used.
Optimize mulx2 with dead low part to mulxh.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 31efd2e883018b4c079ad082105bc161fbb3fef8
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>
commit bdebd6ee81f4d849aa8541c289203e3992450db0
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>
commit b8cbc1374acdc1d8081f1dc57ef1249d263cf389
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 16:59:37 2013 +0200
usb-hub: add tracepoint for status reports
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c96c41ed0d38d68a6c8b6f84751afebafeae31be
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>
commit 1556a8fc38dbf4e950c50427192a3a37cdea3cba
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 14:54:44 2013 +0200
uas: add property for request logging
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c67dd7b4884979a2613a4702ac1ab68b0e6a16e
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>
commit 4d7a81c06f5f17e019a2d3a18300500bd64f6f40
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>
commit ca7162782a293f525633e5816470498dd86a51cf
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>
commit 65d81ed402d3b78b6ffbade36a09ea53e41614d2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:46:45 2013 +0200
xhci: add port to slot_address tracepoint
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1c82392a158471355aa6d1922df2d1545bb16b95
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 15:01:25 2013 +0200
xhci: add tracepoint for endpoint state changes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5219042274fa2f993c25202680eeaea42193389d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 14:47:15 2013 +0200
xhci: remove leftover debug printf
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ca0eca91b65c34d6e5f5c77d5c18ed3de5b26139
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:31 2013 +0200
qemu-iotests: Overlapping cluster allocations
A new test on corrupted images with overlapping cluster allocations.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 24530f3e060c71b6c57c7a70336f08a13a8b0a3d
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:30 2013 +0200
qcow2_check: Mark image consistent
If no corruptions remain after an image repair (and no errors have been
encountered), clear the corrupt flag in qcow2_check.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit afa50193cde574528a130a25544fd6f3aa8da069
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 2 09:25:10 2013 +0200
qcow2-refcount: Repair shared refcount blocks
If the refcount of a refcount block is greater than one, we can at least
try to repair that problem by duplicating the affected block.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7e472264e9e2727bc7d08fe6f012db76e1c1a193
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Aug 29 18:05:00 2013 +1000
PPC: spapr: iommu: rework traces
This converts old style fprintf to traces.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[agraf: change patch subject]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59760f2dba6b5729bbbef113c0dc142bf9ec94d3
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Aug 30 16:11:56 2013 +1000
spapr: add "stop-self" RTAS call required to support hot CPU unplug
PAPR+ requires two RTAS calls to be supported by the hypervisor in
order to allow hotplugging VCPUs from the guest. The "start-cpu" RTAS
call was already there but "stop-self" was not.
This adds the "stop-self" RTAS call.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7bb438b6a102766ac58e1a2981f8749e4515aa01
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Aug 29 02:00:16 2013 +0200
PPC: KVM: Compile fix for qemu_notify_event
The function qemu_notify_event is defined by a header that we don't
include in the PPC KVM code. Include it to get the code building
again.
target-ppc/kvm_ppc.c: In function 'kvmppc_timer_hack':
target-ppc/kvm_ppc.c:26:5: error: implicit declaration of function
'qemu_notify_event' [-Werror=implicit-function-declaration]
target-ppc/kvm_ppc.c:26:5: error: nested extern declaration of
'qemu_notify_event' [-Werror=nested-externs]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 42561bf2e464a2d682707af1640fc2db1e937c42
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Mon Aug 19 21:04:20 2013 +1000
pseries: Add H_SET_MODE hcall to change guest exception endianness
H_SET_MODE is used for controlling various partition settings. One
of these settings is the endianness a guest takes its exceptions in.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
[agraf: fix whitespace]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 33a0e5d8c555091eef6944595d8787cb9274e451
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Aug 19 15:55:21 2013 +1000
xics: move registration of global state to realize()
Registration of global state belongs into realize so move it there.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f1c2dc7c866a939c39c14729290a21309a1c8a38
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jul 12 17:38:24 2013 +1000
spapr-pci: rework MSI/MSIX
On the sPAPR platform a guest allocates MSI/MSIX vectors via RTAS
hypercalls which return global IRQ numbers to a guest so it only
operates with those and never touches MSIMessage.
Therefore MSIMessage handling is completely hidden in QEMU.
Previously every sPAPR PCI host bridge implemented its own MSI window
to catch msi_notify()/msix_notify() calls from QEMU devices (virtio-pci
or vfio) and route them to the guest via qemu_pulse_irq().
MSIMessage used to be encoded as:
.addr - address within the PHB MSI window;
.data - the device index on PHB plus vector number.
The MSI MR write function translated this MSIMessage to a global IRQ
number and called qemu_pulse_irq().
However the total number of IRQs is not really big (at the moment it is
1024 IRQs starting from 4096) and even 16bit data field of MSIMessage
seems to be enough to store an IRQ number there.
This simplifies MSI handling in sPAPR PHB. Specifically, this does:
1. remove a MSI window from a PHB;
2. add a single memory region for all MSIs to sPAPREnvironment
and spapr_pci_msi_init() to initialize it;
3. encode MSIMessage as:
* .addr - a fixed address of SPAPR_PCI_MSI_WINDOW==0x40000000000ULL;
* .data as an IRQ number.
4. change IRQ allocator to align first IRQ number in a block for MSI.
MSI uses lower bits to specify the vector number so the first IRQ has to
be aligned. MSIX does not need any special allocator though.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a3cedb541ca3ecc82040f597a4054419fdb22fa5
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 20 16:19:24 2013 +0530
target-ppc: Use #define instead of opencoding SLB valid bit
Use SLB_ESID_V instead of (1 << 27) in the code
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5dac82ce0d8716b54f73f96bf50811644a76e5c2
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Aug 21 16:02:15 2013 +1000
spapr-pci: fix config space access to support bridges
spapr-pci config space accessors use find_dev() to find a PCI device.
However find_dev() only searched on a primary bus and did not do
recursive search through secondary buses so config space access was not
possible for devices other that on a primary bus.
This fixed find_dev() by using the PCI API pci_find_device() function.
This effectively enabled pci bridges on spapr.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 779f659021d1754117bce1aab9370dc22f37ae07
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>
commit ad9990acc5ac29ce505fbb2b955928ce335eddfd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 15:27:23 2013 +0200
ppc405_boards: Don't enforce presence of firmware for qtest
Adopt error_report() while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0d84382ed96cb2cfc3bc5be34d3a045eeb69c9dc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 15:27:22 2013 +0200
ppc405_uc: Disable debug output
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf2ed917d77489189e7bcfea629ca030c8e2639d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 15:27:21 2013 +0200
ppc405_boards: Disable debug output
Also move one stray debug output into an #ifdef.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit daf285b6063f20c328f03d6185bbfe9b81ce5fe2
Author: Efimov Vasily <real@xxxxxxxxx>
Date: Wed Aug 14 17:26:08 2013 +0400
ppc: virtex_ml507: QEMU_OPTION_dtb support for this machine.
QEMU has 'dtb' option for specifing the device tree file for the kernel.
The patch adds support for this option to the 'virtex_ml507' machine
implementation.
Signed-off-by: Efimov Vasily <real@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 95f5b6e3af28a24f97b25649e12f586e19e8a4a1
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed Aug 7 10:47:03 2013 +1000
disas/ppc.c: Fix little endian disassembly
Use info->endian to select the endian of the instruction to
be disassembled.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb429d224733c263456c105eab93cd2b5e55add2
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed Aug 7 10:47:00 2013 +1000
target-ppc: POWER7 supports the MSR_LE bit
Add MSR_LE to the msr_mask for POWER7.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1e0c7e554e449abb7bf759339ca2cf8cda232532
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed Aug 7 10:47:01 2013 +1000
target-ppc: USE LPCR_ILE to control exception endian on POWER7
On POWER7, LPCR_ILE is used to control what endian guests take
their exceptions in so use it instead of MSR_ILE.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7770b6f78a2d655e03852a5de238f5926c92be6a
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>
commit 28290f37e20cda27574f15be9e9499493e3d0fe8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jul 19 12:56:24 2013 +0200
PPC: E500: Generate device tree on reset
Today we generate the device tree once on machine initialization and then
store the finalized blob in memory to reload it on reset.
This is bad for 2 reasons. First we potentially waste a bunch of RAM for
no
good reason, as we have all information required to regenerate the device
tree available anyways.
The second reason is even more important. On machine init when we generate
the device tree for the first time, we don't have all of the devices fully
initialized yet. But the device tree needs to potentially walk devices to
put information about them into the device tree.
Move the generation into a reset function. That way we just generate it
new
every time we reset, solving both of the above issues.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fcdda211f9239f4218f96cdc336a482f7103d90b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Thu Aug 29 23:32:14 2013 +0100
aio / timers: use g_usleep() not sleep()
sleep() apparently doesn't exist under mingw. Use g_usleep for
portability.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2b21fb57af305f17841d79e7e2e02ad1aec3f5ca
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>
commit 586b546657da7a762106abb5056d90a140d1a2f5
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Fri Aug 30 14:44:11 2013 -0600
qmp: fix integer usage in examples
Per the qapi schema, block_set_io_throttle takes most arguments
as ints, not strings.
* qmp-commands.hx (block_set_io_throttle): Use correct type. Fix
whitespace and a copy-paste bug in the process.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a32b12741bf45bf3f46bffe5a79cb2548a060cd8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Aug 28 19:28:06 2013 +0200
tci: Remove function tcg_out64 (fix broken build)
Commit ac26eb69a311396668809eadbf7ff4e623447d4c added tcg_out64 to
tcg/tcg.c.
tcg/tci/tcg-target.c already had a nearly identical implementation which
is
now removed to fix a compiler error.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e0c270d946dc8efd723129b6a9d956b3084b55b1
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Aug 28 06:39:56 2013 +0200
target-arm: Report unimplemented opcodes (LOG_UNIMP)
These unimplemented opcodes are handled like illegal opcodes, but
they are used in existing code. We should at least report when they
are executed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 56f99ea19b5ae71cfdc0bd147cba372da3b63c44
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Wed Aug 28 07:59:37 2013 +0400
pflash_cfi02.c: fix debug macro
If PFLASH_DEBUG is enabled then we have some build errors:
hw/block/pflash_cfi02.c: In function â??pflash_timerâ??:
hw/block/pflash_cfi02.c:128:5: error: expected â??)â?? before string
constant
hw/block/pflash_cfi02.c:128:5: error: too few arguments to function
â??fprintfâ??
This patch fixes the problem.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 65d5d3f92246f056a45e4ddc6f13487de39cd47c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Aug 27 21:09:13 2013 +0200
configure: Remove unneeded redirections of stderr (pkg-config --exists)
Predicate options (--exists, --atleast-version, ...) of pkg-config dont't
print error messages to stderr, so redirecting stderr is not necessary.
Combining a predicate option with --modversion is not necessary for tests.
Instead of testing with --modversion, --exists can be used.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ca871ec8612cc0e95a02de83a3bdd01514e5733b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Aug 27 21:09:12 2013 +0200
configure: Remove unneeded redirections of stderr (pkg-config --cflags,
--libs)
For existing libraries, pkg-config --cflags and pkg-config --libs won't
print error messages to stderr, so redirecting stderr is not necessary.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1d984a67a95d88f3e708b077dab8adeb47c38c93
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Aug 27 15:12:41 2013 +0200
configure: Don't write .pyc files by default (python -B)
When a Python script is run, Python normally writes bytecode into a .pyc
file.
QEMU's build process uses several Python scripts which are called from
configure or make.
The generated .pyc files take disk space without being of much use,
because
those scripts are short, not time critical and only called a few times.
Python's option -B disables writing of .pyc files. QEMU now uses "python
-B"
as default, but it is still possible to choose a different call by passing
--python=PYTHON to configure.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5b21a2ae4dea72d9aa68e0385fc0548971e929f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Aug 26 13:38:50 2013 +0200
curl: qemu_bh_new() can never return NULL
Drop error code path which cannot be taken since qemu_bh_new() does not
return NULL.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ed6bc28e8a448b9005af50eed12893c5f7711c6e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:36:48 2013 +0100
slirp/arp_table.c: Avoid shifting into sign bit of signed integers
"0xf << 28" shifts right into the sign bit, since 0xf is a signed
integer. Use the 'U' suffix to force an unsigned shift to avoid
this undefined behaviour and a clang sanitizer warning.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 714290979abf551d5116346e4fbd3d54eb24bd12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Aug 5 20:16:40 2013 +0100
configure: disable clang -Wstring-plus-int warning
Some versions of clang will warn about adding integers to strings:
disas/i386.c:4753:23: error: adding 'char' to a string does not append
to the string [-Werror,-Wstring-plus-int]
oappend ("%es:" + intel_syntax);
~~~~~~~^~~~~~~~~~~~~~
disas/i386.c:4753:23: note: use array indexing to silence this warning
oappend ("%es:" + intel_syntax);
^
& [ ]
disas/i386.c uses this idiom to to skip a "%" prefix if using intel
rather than AT&T syntax. This seems like a reasonable thing to do,
and I don't think anybody contributing to QEMU is likely to believe
that '+' is a string concatenation operator in C, so just disable
-Wstring-plus-int.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c89aa2f1851b08c3efa8a1070c0a6b9a36e1227f
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>
commit 4c293dc6e4cf0421e13870962e1e8ccbb810b2a6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Aug 18 19:40:06 2013 +0200
misc: Fix some typos in names and comments
Most typos were found using a modified version of codespell:
accross -> across
issueing -> issuing
TICNT_THRESHHOLD -> TICNT_THRESHOLD
bandwith -> bandwidth
VCARD_7816_PROPIETARY -> VCARD_7816_PROPRIETARY
occured -> occurred
gaurantee -> guarantee
sofware -> software
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit efcb7e45290ecc8633f7c5bdf02ac86f6289fa7d
Author: Taimoor Mirza <tmirza@xxxxxxxxxxxxxxxx>
Date: Thu Aug 15 23:13:28 2013 +0500
slirp: Port redirection option behave differently on Linux and Windows
port redirection code uses SO_REUSEADDR socket option before binding to
host port. Behavior of SO_REUSEADDR is different on Windows and Linux.
Relaunching QEMU with same host and guest port redirection values on Linux
throws error but on Windows it does not throw any error.
Problem is discussed in
http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg03089.html
Signed-off-by: Taimoor Mirza <tmirza@xxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4
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>
commit a0dba644c139907ccf6735c505fbd254010d6938
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Aug 27 09:48:06 2013 +0300
pc: reduce duplication, fix PIIX descriptions
We have a lot of code duplication between machine types,
this increases with each new machine type
and each new field.
This has already introduced a minor bug: description
for pc-1.3 says "Standard PC" while description for
pc-1.4 is "Standard PC (i440FX + PIIX, 1996)"
which makes you think 1.3 is somehow more standard,
or newer, while in fact it's a revision of the same PC.
This patch addresses this issue by using macros, along
the lines used by PC_COMPAT_X_X - only for
non-property options.
The approach can extend to non-PC machine types.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 520902a656f21bdd4f212bfa55bc35c3e567affc
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Aug 13 12:38:34 2013 +0200
isa: Fix documentation of isa_register_portio_list()
Commit b40acf9 (ioport: Switch dispatching to memory core layer,
2013-06-24) removed all instances of old_portio.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5b9237f67c499fa4e20bb9bd29c7ce54afe79cb7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 30 18:28:37 2013 +0200
qom: Assert instance size in object_initialize_with_type()
This catches objects initializing beyond allocated memory, e.g.,
when subtypes get extended with instance state of their own.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 213f0c4f619dda7a56612353009e6f30d3348206
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 19:37:12 2013 +0200
qom: Pass available size to object_initialize()
To be passed on to object_initialize_with_type().
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> (virtio-ccw)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fb17dfe0575243a3f60dcefca37fa82ae682f146
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 24 00:02:27 2013 +0200
qdev: Pass size to qbus_create_inplace()
To be passed to object_initialize().
Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is
void*, so drop some superfluous (BusState *) casts or direct parent
field usages.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e5f720391e0628131cb6548b3d27be6aa56ae7d4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:33:55 2013 +0200
virtio-mmio: Pass size to virtio_mmio_bus_new()
To be passed to qbus_create_initialize().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1bf4d7aad61f47b3da52c4aff239fd94be320727
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:27:30 2013 +0200
virtio-ccw: Pass size to virtio_ccw_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5d6c0c49136e2615c0cd60cda523e8dc8cd65ed7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:25:57 2013 +0200
s390-virtio-bus: Pass size to virtio_s390_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ac7af1120f589a5385e39b3decc3d2d944a4d656
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:35:18 2013 +0200
virtio-pci: Pass size to virtio_pci_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c889b3a55d5d1d18042693cbe2f8f05465914ff4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:32:04 2013 +0200
usb: Pass size to usb_bus_new()
To be passed to qbus_create_inplace().
Use DEVICE() cast to avoid a direct parent field access.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1187b51ff5563135da0a9e5c855d7876ab1a926
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:30:03 2013 +0200
scsi: Pass size to scsi_bus_new()
To be passed to qbus_create_inplace().
Use DEVICE() casts instead of direct parent field access.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd301ca607feddab3b44f927cd36aee004c40e1a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:23:55 2013 +0200
pci: Pass size to pci_bus_new_inplace()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c6baf942e084e0bc40ee37c8d8672ac9c5ea270b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:18:50 2013 +0200
ide: Pass size to ide_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 77cbb28a5b90dbd183e1139734bcc2ac9ecbdd6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:07:28 2013 +0200
ipack: Pass size to ipack_bus_new_inplace()
To be passed to qbus_create_inplace().
Simplify DEVICE() cast to avoid parent field access.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ab809e84a722f8fa1bcdeac5e3ebae10d90fb788
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:05:16 2013 +0200
intel-hda: Pass size to hda_codec_bus_init()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 53caad9a31bed10f59c70406001b9217bda2d111
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 24 01:12:33 2013 +0200
qom: Fix object_initialize_with_type() argument name in documentation
@obj -> @data.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e65177a87f22b98b3b82433d05a18a2c4a3714da
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 14:38:55 2013 +0100
virtio: Remove unnecessary OBJECT() casts
There's no need to cast the first argument of object_initialize()
to Object. Remove these unnecessary casts.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70392912eddf4e19801b2e96c0156fea634b4e59
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Wed Aug 7 12:31:55 2013 +1000
object: Fix typo in qom/object.h
There's been a cut-and-paste error, it looks like, in the documentation
in qom/object.h.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4ff78e0dbcd5c795962567fdc1b31e9e03c55b07
Merge: b95fdc0 7ca0e06
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Aug 30 12:26:04 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Wenchao Xia (15) and Stefan Weil (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
monitor: improve auto complete of "help" for single command in sub group
monitor: allow "help" show message for single command in sub group
monitor: support sub command in auto completion
monitor: refine monitor_find_completion()
monitor: support sub command in help
monitor: refine parse_cmdline()
monitor: code move for parse_cmdline()
monitor: avoid direct use of global variable *mon_cmds
monitor: split off monitor_data_init()
monitor: call sortcmdlist() only one time
monitor: avoid use of global *cur_mon in readline_completion()
monitor: avoid use of global *cur_mon in monitor_find_completion()
monitor: avoid use of global *cur_mon in block_completion_it()
monitor: avoid use of global *cur_mon in file_completion()
monitor: avoid use of global *cur_mon in cmd_completion()
monitor: Add missing attributes to local function
Message-id: 1377865357-6742-1-git-send-email-lcapitulino@xxxxxxxxxx
commit b95fdc0e99e9b5c98bb8e2aee9eaffe160f1031b
Merge: b5d54bd 7f7f975
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Aug 30 12:25:56 2013 -0500
Merge remote-tracking branch 'borntraeger/tags/kdump' into staging
This is a set of patches dealing with kdump support for s390x/kvm.
kdump on s390x uses subcode 1 of diagnose 0x308 to put the hardware
in a defined state. This is different from a full reset, since it
does not touch all CPU registers.
These patches define the cpu resets, the subsystem reset a load
function and also wires up the "nmi" command to issue a RESTART
interrupt as defined in the z/Architecture principles of operation.
This allows recent guest kernels with properly setup userspace
to trigger kdump:
- via guest crash
- via nmi from the host
# gpg: Signature made Fri 30 Aug 2013 07:19:18 AM CDT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
# By Christian Borntraeger (5) and Eugene (jno) Dvurechenski (2)
# Via Christian Borntraeger
* borntraeger/tags/kdump:
s390: wire up nmi command to raise a RESTART interrupt on S390
s390: Implement load normal reset
s390/cpu: split CPU reset into architectured functions
s390: provide a cpu load normal function
s390: provide I/O subsystem reset
s390/kvm: basic implementation of diagnose 308 subcode 6
s390x/kvm: Fix switch/case indentation for handle_diag
Message-id: 1377810649-47484-1-git-send-email-borntraeger@xxxxxxxxxx
commit e23e400ec62a03dea58ddb38479b4f1ef86f556d
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:28 2013 +0200
qcow2-refcount: Repair OFLAG_COPIED errors
Since the OFLAG_COPIED checks are now executed after the refcounts have
been repaired (if repairing), it is safe to assume that they are correct
but the OFLAG_COPIED flag may be not. Therefore, if its value differs
from what it should be (considering the according refcount), that
discrepancy can be repaired by correctly setting (or clearing that flag.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4f6ed88c03c4026e31ce152ea760a0da839f0dda
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:27 2013 +0200
qcow2-refcount: Move OFLAG_COPIED checks
Move the OFLAG_COPIED checks out of check_refcounts_l1 and
check_refcounts_l2 and after the actual refcount checks/fixes (since the
refcounts might actually change there).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf93980e775b709ec8f33f55846e6dcf1c7a612c
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:26 2013 +0200
qcow2: Employ metadata overlap checks
The pre-write overlap check function is now called before most of the
qcow2 writes (aborting it on collision or other error).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a40f1c2add4d5f58d594f810fe36cabcf32bc4b0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:25 2013 +0200
qcow2: Metadata overlap checks
Two new functions are added; the first one checks a given range in the
image file for overlaps with metadata (main header, L1 tables, L2
tables, refcount table and blocks).
The second one should be used immediately before writing to the image
file as it calls the first function and, upon collision, marks the
image as corrupt and makes the BDS unusable, thereby preventing
further access.
Both functions take a bitmask argument specifying the structures which
should be checked for overlaps, making it possible to also check
metadata writes against colliding with other structures.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 69c98726537627e708abb8fcb33e3a2b10e40bf1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:24 2013 +0200
qcow2: Add corrupt bit
This adds an incompatible bit indicating corruption to qcow2. Any image
with this bit set may not be written to unless for repairing (and
subsequently clearing the bit if the repair has been successful).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 449df7063815489a0b091bcb3afa9ae80ae3acbf
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 10:40:15 2013 +0200
qemu-iotests: Snapshotting zero clusters
This test creates an image with unallocated zero clusters, then creates
a snapshot. Afterwards, there should be neither any errors nor leaks.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8b81a7b6ba8686f35f9cb0acdd54004d63206f03
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 10:40:14 2013 +0200
qcow2-refcount: Snapshot update for zero clusters
Account for all cluster types in qcow2_update_snapshot_refcounts;
this prevents this function from updating the refcount of unallocated
zero clusters which effectively led to wrong adjustments of the refcount
of cluster 0 (the main qcow2 header). This in turn resulted in images
with (unallocated) zero clusters having a cluster 0 refcount greater
than one after creating a snapshot.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d4ca092a423f1f853a99357bab01a168bb57d625
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Aug 29 11:15:44 2013 +0200
option: Add assigned flag to QEMUOptionParameter
Adds an "assigned" flag to QEMUOptionParameter which is cleared at the
beginning of parse_option_parameters and set on (successful)
set_option_parameter and set_option_parameter_int.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9faa574f7d07109e2256c0b4b63e8711d650f2d8
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 13:45:41 2013 +0530
gluster: Abort on AIO completion failure
Currently if gluster AIO callback thread fails to notify the QEMU thread
about
AIO completion, we try graceful recovery by marking the disk drive as
inaccessible. This error recovery code is race-prone as found by Asias and
Stefan. However as found out by Paolo, this kind of error is impossible
and
hence simplify the code that handles this error recovery.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e5b1d99f5528315dc77aab369ae060d7cbad1e2a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 15:15:52 2013 +0200
block: Remove old raw driver
This is unused code now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7a6d3fc594d1166ec78a6b74ba76753078de0de5
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:23 2013 +0200
switch raw block driver from "raw.o" to "raw_bsd.o"
"Incoming" function prototypes and "outgoing" function calls must match
reality. Implemented using the "struct BlockDriver" definition in
"include/block/block_int.h", and gcc errors & warnings.
v1->v2:
On 08/20/13 09:51, Kevin Wolf wrote:
> Am 18.08.2013 um 16:29 hat Paolo Bonzini geschrieben:
>> Il 16/08/2013 16:15, Laszlo Ersek ha scritto:
>>> +static int raw_reopen_prepare(BDRVReopenState *reopen_state,
>>> + BlockReopenQueue *queue, Error **errp)
>>> {
>>> - return bdrv_reopen_prepare(bs->file);
>>> + BDRVReopenState tmp = *reopen_state;
>>> +
>>> + tmp.bs = tmp.bs->file;
>>> + return bdrv_reopen_prepare(&tmp, queue, errp);
>>> }
>>
>> This should just return zero, my fault.
>
> Which is because bdrv_reopen_queue() already queues bs->file for reopen.
> The simple return 0; implementation is shared by all other format
drivers
> that support reopening images.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 775d6afd5cd66f2154a81f5de9d3dd7297a35072
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:22 2013 +0200
raw_bsd: register bdrv_raw
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 5) Formats are registered with bdrv_register (takes a BlockDriver*). You
> also need to pass the caller of bdrv_register to block_init.
Fill in the BlockDriver structure with the raw_*() functions that have
been added to "block/raw_bsd.c", in the order the fields are defined in
"include/block/block_int.h".
I needed more explanation / naming examples for registering the driver
than what Paolo gave me, so I copied / adapted from "block/qcow2.c". The
parts I took as basis for modification are blamed on
commit 5efa9d5a8b18841c9c62208a494d7f519238979a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat May 9 17:03:42 2009 -0500
Convert block infrastructure to use new module init functionality
commit 20d97356c9df6d68fbd37d6334fdb7063f24eab6
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Fri Apr 23 20:19:47 2010 +0000
Fix OpenBSD build
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ff369a483df89cc6ca510b0c3ab9afe9cf0bdfdc
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:21 2013 +0200
raw_bsd: add raw_create_options
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 4) There is another member, .create_options, which is an array of
> QEMUOptionParameter structs, terminated by an all-zero item. The only
> option you need is for the virtual disk size. You will find something
> to copy from in other block drivers, for example block/qcow2.c.
Code taken and adapted from "block/qcow2.c", as suggested. The code being
copied/modified is blamed on
commit 20d97356c9df6d68fbd37d6334fdb7063f24eab6
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Fri Apr 23 20:19:47 2010 +0000
Fix OpenBSD build
and
commit 7c80ab3f21f0b1342f23057d4345ae266c7348d9
Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
Date: Fri Dec 17 16:02:39 2010 +0100
block/qcow2.c: rename qcow_ functions to qcow2_
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 01dd96d8f4f253ee29b4e0362a73c5f43bdc0b18
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:20 2013 +0200
raw_bsd: introduce "special members"
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 3) These members are special
>
> .format_name is the string "raw"
> .bdrv_open raw_open should set bs->sg to bs->file->sg and
return 0
> .bdrv_close raw_close should do nothing
> .bdrv_probe raw_probe should just return 1.
v1->v2:
On 08/20/13 10:11, Kevin Wolf wrote:
> Am 16.08.2013 um 16:15 hat Laszlo Ersek geschrieben:
>> +static int raw_probe(void)
>> +{
>> + return 1;
>> +}
>
> Maybe add a comment here like "smallest possible positive score so that
> raw is used if and only if no other block driver works".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1565262c370195f1d7781d98f78fa002ab16b385
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:19 2013 +0200
raw_bsd: add raw_create()
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 2) This is also a simple forwarder function:
>
> .bdrv_create
>
> but there is no BlockDriverState argument so the forwarded-to function
> does not have a bs->file argument either. The forwarded-to function is
> bdrv_create_file.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9eaafd90d14b6049cc1d0e0b6c712459d447363c
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:18 2013 +0200
raw_bsd: emit debug events in bdrv_co_readv() and bdrv_co_writev()
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 1) BlockDriver is a struct in which these function members are
> interesting:
>
> .bdrv_reopen_prepare
> .bdrv_co_readv
> .bdrv_co_writev
> .bdrv_co_is_allocated
> .bdrv_co_write_zeroes
> .bdrv_co_discard
> .bdrv_getlength
> .bdrv_get_info
> .bdrv_truncate
> .bdrv_is_inserted
> .bdrv_media_changed
> .bdrv_eject
> .bdrv_lock_medium
> .bdrv_ioctl
> .bdrv_aio_ioctl
> .bdrv_has_zero_init
>
> They should be implemented as simple forwarders (see above). There are
> 16 functions listed here, you can easily see how this already accounts
> for 100+ SLOC roughly...
>
> The implementations of bdrv_co_readv and bdrv_co_writev should also call
> BLKDBG_EVENT on bs->file too, before forwarding to bs->file. The events
> to be generated are BLKDBG_READ_AIO and BLKDBG_WRITE_AIO.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e1c66c6d82fe5988d66531febc27ef8480c44c8a
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:17 2013 +0200
add skeleton for BSD licensed "raw" BlockDriver
On 08/05/13 15:03, Paolo Bonzini wrote:
>
>
> ----- Original Message -----
>> From: "Laszlo Ersek" <lersek@xxxxxxxxxx>
>> To: "Paolo Bonzini" <pbonzini@xxxxxxxxxx>
>> Sent: Monday, August 5, 2013 2:43:46 PM
>> Subject: Re: [PATCH 1/2] raw: add license header
>>
>> On 08/02/13 00:27, Paolo Bonzini wrote:
>>> On 08/01/2013 10:13 AM, Christoph Hellwig wrote:
>>>> On Wed, Jul 31, 2013 at 08:19:51AM +0200, Paolo Bonzini wrote:
>>>>> 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.
>>>>
>>>> The coded was intended to be GPLv2.
>>>
>>> Laszlo, would you be willing to do clean-room reverse engineering?
>>>
>>> (No rants, please. :))
>>
>> What's the scope exactly?
>
> It's quite small, it's a file full of forwarders like
>
> static void raw_foo(BlockDriverState *bs)
> {
> return bdrv_foo(bs->file);
> }
>
> It's 170 lines of code, all as boring as this. I only picked you
> because I'm quite certain you have never seen the file (and the answer
> confirmed it).
>
> Basically:
>
> 1) BlockDriver is a struct in which these function members are
> interesting:
>
> .bdrv_reopen_prepare
> .bdrv_co_readv
> .bdrv_co_writev
> .bdrv_co_is_allocated
> .bdrv_co_write_zeroes
> .bdrv_co_discard
> .bdrv_getlength
> .bdrv_get_info
> .bdrv_truncate
> .bdrv_is_inserted
> .bdrv_media_changed
> .bdrv_eject
> .bdrv_lock_medium
> .bdrv_ioctl
> .bdrv_aio_ioctl
> .bdrv_has_zero_init
>
> They should be implemented as simple forwarders (see above).
> There are 16 functions listed here, you can easily see how this
> already accounts for 100+ SLOC roughly...
>
> The implementations of bdrv_co_readv and bdrv_co_writev should also
> call BLKDBG_EVENT on bs->file too, before forwarding to bs->file. The
> events to be generated are BLKDBG_READ_AIO and BLKDBG_WRITE_AIO.
>
> 2) This is also a simple forwarder function:
>
> .bdrv_create
>
> but there is no BlockDriverState argument so the forwarded-to function
> does not have a bs->file argument either. The forwarded-to function
> is bdrv_create_file.
>
> 3) These members are special
>
> .format_name is the string "raw"
> .bdrv_open raw_open should set bs->sg to bs->file->sg and
return 0
> .bdrv_close raw_close should do nothing
> .bdrv_probe raw_probe should just return 1.
>
> 4) There is another member, .create_options, which is an array of
> QEMUOptionParameter structs, terminated by an all-zero item. The only
> option you need is for the virtual disk size. You will find something
> to copy from in other block drivers, for example block/qcow2.c.
>
> 5) Formats are registered with bdrv_register (takes a BlockDriver*).
> You also need to pass the caller of bdrv_register to block_init.
>
> 6) I'm not sure how to organize the patch series, so I'll leave this to
> your creativity. I guess in this case move/copy detection of git should
> be disabled. I would definitely include this spec in the commit
> message as a proof of clean-room reverse engineering.
>
> 7) Remember a BSD header like the one in block.c.
>
> Paolo
This patch implements the email up to the paragraph ending with "100+ SLOC
roughly". The skeleton is generated from the list there, with a simple
shell loop using "sed" and the raw_foo() template.
The BSD license block is copied (and reflowed) from
"util/qemu-progress.c".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 127c84e1a52f11bf418cc2d3bf804da5091a190a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:35:45 2013 +0100
block/qcow2.h: Avoid "1LL << 63" (shifts into sign bit)
The expression "1LL << 63" tries to shift the 1 into the sign bit of a
'long long', which provokes a clang sanitizer warning:
runtime error: left shift of 1 by 63 places cannot be represented in type
'long long'
Use "1ULL << 63" as the definition of QCOW_OFLAG_COPIED instead
to avoid this. For consistency, we also update the other QCOW_OFLAG
definitions to use the ULL suffix rather than LL, though only the
shift by 63 is undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cccc30b4ad5d9835f5525d94210c8de26f4f5f94
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 16:12:20 2013 +0200
qemu-iotests: Update reference output for 051
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c0447d870b25cd95af2630ab3d376321bd6e820a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 09:50:40 2013 +0200
Revert "block: Disable driver-specific options for 1.6"
This reverts commit 8afaefb8919dc8746a57c450a758717c516c7b0a.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 015370301fd90ea5d17522eba00ae2797569ce8b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 12:18:18 2013 +0200
qapi-types.py: Split off generate_struct_fields()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 09da4a72926e2d0af0e5f0cb967ab0dd345311f4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Apr 15 10:59:42 2013 +0200
block: Remove redundant assertion
The failing condition is checked immediately before the assertion, so
keeping the assertion is kind of redundant.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9117b47717ad208b12786ce88eacb013f9b3dd1c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Aug 19 10:38:01 2013 +0200
qcow2: Change default for new images to compat=1.1
By the time that qemu 1.7 will be released, enough time will have passed
since qemu 1.1, which is the first version to understand version 3
images, that changing the default shouldn't hurt many people any more
and the benefits of using the new format outweigh the pain.
qemu-iotests already runs with compat=1.1 by default.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7f7f975295bc19829b3bd26cadc7f1c9eadb7c6b
Author: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 5 15:50:07 2012 +0100
s390: wire up nmi command to raise a RESTART interrupt on S390
There is the 'nmi' command that is used to trigger a guest dump via kdump
feature on x86.
s390 uses RESTART interrupt to trigger kdump.
So, this patch provides a mean to use 'nmi' command on s390 to raise
RESTART interrupt.
The CPU to receive the RESTART interrupt is the "default" one.
There is an infrastructure to select the "default" CPU using 'cpu'
command.
The 'info cpus' command can be used to see which one is the "default".
In order to wire up the RESTART to 'nmi' command we had to:
1. implement the kvm_s390_cpu_restart function by exporting the existing
code
2. implement s390_cpu_restart function as kvm-aware wrapper
3. modify the qmp_inject_nmi function to enable (for s390) the scan for
"default" CPU and call s390_cpu_restart for it;
3. fix some messages.
Signed-off-by: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit f077847572708bbb3dd22bbc91ac6a277046e827
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Jul 25 16:57:45 2013 +0200
s390: Implement load normal reset
kdump on s390 uses a load normal reset to bring the system in a defined
state by doing a subsystem reset. The issuing CPUs will have an initial
CPU reset, all other CPUs will have a CPU reset as defined in POP (no
register content will change).
Implement this as architectured.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f5ae2a4fd8d573cfebaf24220e2920bb5074d9a6
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jun 28 10:51:09 2013 +0200
s390/cpu: split CPU reset into architectured functions
s390 provides several CPU resets:
- CPU reset, clears interrupts, stop processing, clears TLB, but does
not touch registers
- initial CPU reset, like CPU reset, but also clears PSW, prefix, FPC,
timer and control registers. It does not touch gprs, fprs and acrs (!)
- Power on reset: the full monty
wire up CPUClass reset to the full monty, but provide the lesser resets
as part of S390CPUClass.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 7ca0e061044615e39eab2b22b8fc2791a4d77c34
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:27 2013 +0800
monitor: improve auto complete of "help" for single command in sub group
Now special case "help *" in auto completion can work with sub commands,
such as "help info u*".
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 129be006d63ba90b788de6b1610892e02ef5eaba
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:26 2013 +0800
monitor: allow "help" show message for single command in sub group
A new parameter type 'S' is introduced to allow user input any string.
"help info block" works normal now.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d903a779cf2f1fa5cd12076411a00b835f1b7b26
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:25 2013 +0800
monitor: support sub command in auto completion
This patch allows auto completion work normal for sub command case,
"info block [DEVICE]" can auto complete now, by re-enter the completion
function. In original code "info" is treated as a special case, now it
is treated as a sub command group, global variable info_cmds is not used
any more.
"help" command is still treated as a special case, since it is not a sub
command group but want to auto complete command in root command table.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c35b6400338897847bbab1b0f65d89552636579a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:24 2013 +0800
monitor: refine monitor_find_completion()
In order to support sub command in auto completion, a reentrant function
is needed, so monitor_find_completion() is split into two parts. The
first part does parsing of user input which need to be done only once,
the second part does the auto completion job according to the parsing
result, which contains the necessary code to support sub command and
works as the reentrant function. The global "info_cmds" is still used
in second part, which will be replaced by sub command code later.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 66855495fbcca9411a21e6eba6a3a0385007c96d
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:23 2013 +0800
monitor: support sub command in help
The old code in help_cmd() uses global 'info_cmds' and treats it as a
special case. Actually 'info_cmds' is a sub command group of 'mon_cmds',
in order to avoid direct use of it, help_cmd() needs to change its work
mechanism to support sub command and not treat it as a special case
any more.
To support sub command, help_cmd() will first parse the input and then
call
help_cmd_dump(), which works as a reentrant function. When it meets a sub
command, it simply enters the function again. Since help dumping needs to
know whole input to printf full help message include prefix, for example,
"help info block" need to printf prefix "info", so help_cmd_dump() takes
all
args from input and extra parameter arg_index to identify the progress.
Another function help_cmd_dump_one() is introduced to printf the prefix
and command's help message.
Now help supports sub command, so later if another sub command group is
added in any depth, help will automatically work for it. Still "help info
block" will show error since command parser reject additional parameter,
which can be improved later. "log" is still treated as a special case.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dcc70cdf0932172fc5cf27617a3b033ca58d0176
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:22 2013 +0800
monitor: refine parse_cmdline()
Since this function will be used by help_cmd() later, so improve
it to make it more generic and easier to use. free_cmdline_args()
is added too as paired function to free the result.
One change of this function is that, when the valid args in input
exceed the limit of MAX_ARGS, it fails now, instead of return with
MAX_ARGS of parsed args in old code. This should not impact much
since it is rare that user input many args in monitor's "help" and
auto complete scenario.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f5438c0500bb22c97b30987d2e0eab953416c7c5
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:21 2013 +0800
monitor: code move for parse_cmdline()
help_cmd() need this function later, so move it. get_str() is called by
parse_cmdline() so it is moved also. Some code style error reported by
check script, is also fixed.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7717239dc1778e94a6210e62e1ec2ba720168eec
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:20 2013 +0800
monitor: avoid direct use of global variable *mon_cmds
New member *cmd_table is added in structure Monitor to avoid direct usage
of
*mon_cmds. Now monitor have an associated command table, when global
variable
*info_cmds is also discarded, structure Monitor would gain full control
about
how to deal with user input.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b01fe89e91268c6b02720735643020746610e6d8
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:19 2013 +0800
monitor: split off monitor_data_init()
In qmp_human_monitor_command(), the monitor need to initialized for
basic functionalities, and later more init code will be added, so
split off this function. Note that it is different with QMP mode
monitor which accept json string from monitor's input,
qmp_human_monitor_command() retrieve the human style command from
QMP input, then send the command to a normal mode monitor.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d038317c357efef9d8d362e526c5f5071f505a04
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:18 2013 +0800
monitor: call sortcmdlist() only one time
It doesn't need to be done for every monitor, so change it.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d1a9756ab8c2c2578cbcb325efffe0b0af916944
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:17 2013 +0800
monitor: avoid use of global *cur_mon in readline_completion()
Now all completion functions do not use *cur_mon any more, instead
they use rs->mon. In short, structure ReadLineState decide where
the complete action would be taken now.
Tested with the case that qemu have two telnet monitors, auto
completion function works normal.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d2674b2cf7db7dce865f3c2b89f0e36d1657a3b5
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:16 2013 +0800
monitor: avoid use of global *cur_mon in monitor_find_completion()
Parameter *mon is added, and local variable *mon added in previous patch
is removed. The caller readline_completion(), pass rs->mon as value, which
should be initialized in readline_init() called by monitor_init().
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 599a926abcf581732d449163a96fd9a4cc80091a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:15 2013 +0800
monitor: avoid use of global *cur_mon in block_completion_it()
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cb8f68b104f8d14f0ad856012cac7bd27f183799
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:14 2013 +0800
monitor: avoid use of global *cur_mon in file_completion()
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cd5c6bba1b75d4faebb58345d2661d5e42600fab
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:13 2013 +0800
monitor: avoid use of global *cur_mon in cmd_completion()
A new local variable *mon is added in monitor_find_completion()
to make compile pass, which will be removed later in
conversion patch for monitor_find_completion().
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 9c3175cc15fbe8d3528375d1389dad40b19b7665
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Aug 22 21:30:09 2013 +0200
monitor: Add missing attributes to local function
Function expr_error gets a format string and variable arguments like
printf.
It also never returns. Add the necessary attributes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 29c6157ca7bfa036a8c59805c1a1d76ba9a2a851
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Jul 25 16:45:51 2013 +0200
s390: provide a cpu load normal function
Some code needs to perform an IPL-like bootup that mimics the
ESA (31bit) restart. Provide a cpu class method that does so.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 4e872a3fb024f0d742ef6b48be3afaab2c4453fc
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Jul 25 16:37:37 2013 +0200
s390: provide I/O subsystem reset
Provide a function that resets the I/O subsystem.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 268846ba93de2529630d623b6ded72cee1221106
Author: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Date: Wed Jun 19 17:27:15 2013 +0200
s390/kvm: basic implementation of diagnose 308 subcode 6
Linux uses a check for subcode 6 to decide if other subcodes are
available. Provide a minimal implementation for subcode 6, as well
as for subcode 5.
Signed-off-by: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[Move code from kvm.c into misc_helper.c]
commit 39fbc5c62ce83f34e7f5b62238305d83ce8b4489
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Aug 30 11:06:56 2013 +0200
s390x/kvm: Fix switch/case indentation for handle_diag
This alignes case statements to switch statements in the handle_diag
function as mandated by coding style.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit b5d54bd42158b90b239bb6ce9c13072eb3a53fd2
Merge: e560992 821c808
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 29 17:21:51 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into stable-1.5
* qemu-kvm/uq/master:
kvm-stub: fix compilation
kvm: shorten the parameter list for get_real_device()
kvm: i386: fix LAPIC TSC deadline timer save/restore
kvm-all.c: max_cpus should not exceed KVM vcpu limit
kvm: Simplify kvm_handle_io
kvm: x86: fix setting IA32_FEATURE_CONTROL with nested VMX disabled
kvm: add KVM_IRQFD_FLAG_RESAMPLE support
kvm: migrate vPMU state
target-i386: remove tabs from target-i386/cpu.h
Initialize IA32_FEATURE_CONTROL MSR in reset and migration
Conflicts:
target-i386/cpu.h
target-i386/kvm.c
aliguori: fixup trivial conflicts due to whitespace and added cpu
argument
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e560992f21437380857ae490c907810d99459df5
Merge: 3e998a7 92f1623
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 29 17:20:17 2013 -0500
Merge remote-tracking branch 'sweil/mingw' into stable-1.5
# By Stefan Weil
# Via Stefan Weil
* sweil/mingw:
gtk: Remove unused include statements which are not portable
w32: Add an icon resource
w32: Fix broken out-of-tree builds (missing version.o)
Message-id: 1377607132-21336-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 3e998a778846de4ea24188278f18e4191a56412e
Merge: 584950f 1ae2757
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 29 17:19:19 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into stable-1.5
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups, future-proofing of ROM files,
and a virtio bugfix correcting splice on virtio console.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 26 Aug 2013 01:34:20 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Markus Armbruster (5) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
virtio: virtqueue_get_avail_bytes: fix desc_pa when loop over the
indirect descriptor table
pc_piix: Kill pc_init1() memory region args
pc: pc_compat_1_4() now can call pc_compat_1_5()
pc: Create pc_compat_*() functions
pc: Kill pc_init_pci_1_0()
pc: Don't explode QEMUMachineInitArgs into local variables needlessly
pc: Don't prematurely explode QEMUMachineInitArgs
ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params
ppc: Don't explode QEMUMachineInitArgs into local variables needlessly
sun4: Don't prematurely explode QEMUMachineInitArgs
q35: Add PCIe switch to example q35 configuration
loader: store FW CFG ROM files in RAM
arch_init: align MR size to target page size
pc: cleanup 1.4 compat support
Message-id: 1377535318-30491-1-git-send-email-mst@xxxxxxxxxx
commit 584950fd4e4d6ca580800e46f1b41cf1b0b4236c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 08:21:37 2013 -0700
tcg-i386: Remove abort from GETPC_LDST
Indeed, remove it entirely and remove the is_tcg_gen_code check
from GETPC_EXT.
Fixes https://bugs.launchpad.net/qemu/+bug/1218098 wherein a call
to a "normal" helper function performed a sequence of tail calls
all the way into the memory helper functions, leading to a stack
frame in which the memory helper function appeared to be called
directly from tcg.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 951fab990db05d47ab9da5e72521e406c73a3eb9
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Aug 27 17:48:36 2013 +0100
target-mips: fix get_physical_address() #if 0 build error
In get_physical_address() is a qemu_log() call inside an #if 0 block.
When enabled the following build error is hit:
target-mips/helper.c In function â??get_physical_addressâ??:
target-mips/helper.c:220:13: error: format â??%xâ?? expects argument of
type â??unsigned intâ??, but argument 5 has type â??hwaddrâ?? [-Werror=format]
Fix the *physical (hwaddr) formatting by using "%"HWADDR_PRIx instead of
TARGET_FMT_lx.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 821c808bd1863efc2c1e977800ae77db633a185c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Aug 27 17:13:44 2013 +0200
kvm-stub: fix compilation
Non-KVM targets fail compilation on the uq/master branch.
Fix the prototype of kvm_irqchip_add_irqfd_notifier to match
the one in kvm-all.c.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit c16547326988cc321c9bff43ed91cbe753e52892
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:50 2013 +0200
hw: Clean up bogus default boot order
We set default boot order "cad" in every single machine definition
except "pseries" and "moxiesim", even though very few boards actually
care for boot order, and "cad" makes sense for even fewer.
Machines that care:
* pc and its variants
Accept up to three letters 'a', 'b' (undocumented alias for 'a'),
'c', 'd' and 'n'. Reject all others (fatal with -boot).
* nseries (n800, n810)
Check whether order starts with 'n'. Silently ignored otherwise.
* prep, g3beige, mac99
Extract the first character the machine understands (subset of
'a'..'f'). Silently ignored otherwise.
* spapr
Accept an arbitrary string (vl.c restricts it to contain only
'a'..'p', no duplicates).
* sun4[mdc]
Use the first character. Silently ignored otherwise.
Strip characters these machines ignore from their default boot order.
For all other machines, remove the unused default boot order
alltogether.
Note that my rename of QEMUMachine member boot_order to
default_boot_order and QEMUMachineInitArgs member boot_device to
boot_order has a welcome side effect: it makes every use of boot
orders visible in this patch, for easy review.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3bf4dfdd1110de84ca0cecff0679cf7da90bfbfe
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Aug 21 14:42:06 2013 +1000
pci: add config space access traces
This adds pci_cfg_read and pci_cfg_write traces for config spaces
accesses.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 92f1623663a8797e68a043ec401a740746439f29
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Aug 18 09:26:34 2013 +0200
gtk: Remove unused include statements which are not portable
These include files don't exist for MinGW and are not needed for Linux
(and hopefully for other hosts as well), so remove them.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 487cddb2bf3f429953dc5b3252d2a3b83d7200c5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Aug 17 09:32:04 2013 +0200
w32: Add an icon resource
The QEMU mascot which was already used for the NSIS installer
is now used for all QEMU executables.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 7e75e33e7886314490305f181065b8b4ec916a8a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Aug 16 21:51:53 2013 +0200
w32: Fix broken out-of-tree builds (missing version.o)
Commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466 added version.o to all
executables, but broke out-of-tree builds: for those builds the pattern
rule %.o: %.rc from rules.mak does not match, so version.o was no longer
built.
Adding explicit build rules fixes this.
Reported-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1466cef32dd5e7ef3c6477e96d85d92302ad02e3
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>
commit 9eda7d373e9c691c070eddcbe3467b991f67f6bd
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sat Aug 10 01:09:08 2013 +1000
pci: Introduce helper to retrieve a PCI device's DMA address space
A PCI device's DMA address space (possibly an IOMMU) is returned by a
method on the PCIBus. At the moment that only has one caller, so the
method is simply open coded. We'll need another caller for VFIO, so
this patch introduces a helper/wrapper function.
If IOMMU is not set, the pci_device_iommu_address_space() function
returns the parent's IOMMU skipping the "bus master" address space as
otherwise proper emulation would require more effort for no benefit.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[aik: added inheritance from parent if iommu is not set for the current
bus]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 401c227b0a1134245ec61c6c5a9997cfc963c8e4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 07:16:52 2013 -1000
tcg-i386: Use new return-argument ld/st helpers
Discontinue the jump-around-jump-to-jump scheme, trading it for a single
immediate move instruction. The two extra jumps always consume 7 bytes,
whereas the immediate move is either 5 or 7 bytes depending on where the
code_gen_buffer gets located.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aac1fb0576e5bea72681e91c38caffc17741eb80
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 08:29:15 2013 -1000
tcg: Tidy softmmu_template.h
Avoid a loop in the tlb_fill path; the fill will either succeed or
generate an exception.
Inline the slow_ld/st function; it was a complete copy of the main
helper except for the actual cross-page unaligned code, and the
compiler was inlining it anyway.
Add unlikely markers optimizing for the most common case of simple
tlb miss.
Make sure the compiler can optimize away the unaligned paths for a
1 byte access.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e25c3887e6ac50e7a0c42a2f597b088a27d5bb5d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 24 14:54:12 2013 -1000
tcg: Add mmu helpers that take a return address argument
Allow the code that tcg generates to be less obtuse, passing in
the return address directly instead of computing it in the helper.
Maintain the old entrance point unchanged as an alternate entry point.
Delete the helper_st*_cmmu prototypes; the implementations did not exist.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c6f29ff096d9e956df94db20fe49275c35f601fb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 06:33:33 2013 -1000
tcg-i386: Tidy qemu_ld/st slow path
Use existing stack space for arguments; don't push/pop.
Use less ifdefs and more C ifs.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8023ccda079624221e618efeb537b41c70407469
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 10:00:41 2013 -1000
tcg-i386: Try pc-relative lea for constant formation
Use a 7 byte lea before the ultimate 10 byte movq.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ac26eb69a311396668809eadbf7ff4e623447d4c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 09:42:17 2013 -1000
tcg-i386: Add and use tcg_out64
No point in splitting the write into 32-bit pieces.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2bb8656dadcaa521a9699ab2a2632b68da36c998
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 09:46:38 2013 -0700
tcg: Tidy generated code for tcg_outN
Aliasing was forcing s->code_ptr to be re-read after the store.
Keep the pointer in a local variable to help the compiler.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f7ad538e1ea130c8b6f3abb06ad6c856242c799e
Merge: e3f024a b10577d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Aug 26 09:19:50 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Alex Bligh (32) and others
# Via Stefan Hajnoczi
* stefanha/block: (42 commits)
win32-aio: drop win32_aio_flush_cb()
aio-win32: replace incorrect AioHandler->opaque usage with ->e
aio / timers: remove dummy_io_handler_flush from tests/test-aio.c
aio / timers: Remove legacy interface
aio / timers: Switch entire codebase to the new timer API
aio / timers: Add scripts/switch-timer-api
aio / timers: Add test harness for AioContext timers
aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API
aio / timers: Convert rtc_clock to be a QEMUClockType
aio / timers: Remove main_loop_timerlist
aio / timers: Rearrange timer.h & make legacy functions call non-legacy
aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms
aio / timers: Remove legacy qemu_clock_deadline &
qemu_timerlist_deadline
aio / timers: Remove alarm timers
aio / timers: Add documentation and new format calls
aio / timers: Use all timerlists in icount warp calculations
aio / timers: Introduce new API timer_new and friends
aio / timers: On timer modification, qemu_notify or aio_notify
aio / timers: Convert mainloop to use timeout
aio / timers: Convert aio_poll to use AioContext timers' deadline
...
Message-id: 1377202298-22896-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e3f024aec29a2e3eff46138687e2ecba7631c645
Merge: 42eed42 73c30df
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Aug 26 09:19:36 2013 -0500
Merge remote-tracking branch 'afaerber/tags/0.15-maintainer-for-anthony'
into staging
MAINTAINERS update for stable-0.15
# gpg: Signature made Thu 22 Aug 2013 10:59:31 AM 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/0.15-maintainer-for-anthony:
MAINTAINERS: Take over 0.15 maintenance
commit 1ae2757c6c4525c9b42f408c86818f843bad7418
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>
commit 42eed424e1ea6469ce73cb2fdddb0d31bebb686a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 16 23:29:47 2013 -0700
disas-objdump: Pass --adjust-vma to objdump
This gives the dumped blob its correct address during disassembly,
which makes pc-relative insns much easier to interpret.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 8dc6d24091edc34be1f989a2d92703130760401f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 16 23:29:46 2013 -0700
disas: Add disas-objdump.pl
The script massages the output produced for architectures that are
not supported internally by qemu though an external objdump program
for disassembly.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit c46ffd57a3e2c36c241b4c676aa7d9c706eb2dc3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 16 23:29:45 2013 -0700
disas: Implement fallback to dump object code as hex
The OBJD-[HT] tags will be used by a script to run the hex blob
through objdump --disassemble.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 867c47cbba5d5ff8f27cc22634f30da56d09c2c4
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Thu Aug 22 18:40:12 2013 +0200
kvm: shorten the parameter list for get_real_device()
get_real_device() has 5 parameters with the last 4 is contained in the
first
structure.
This patch removes the last 4 parameters and directly use them from the
first
parameter.
Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b10577df13fa4a1b38ea6c1ea7b66c6dfd90a07a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 15:28:36 2013 +0200
win32-aio: drop win32_aio_flush_cb()
The io_flush argument to qemu_aio_set_event_notifier() has been removed
since the block layer learnt to drain requests by itself. Fix the
Windows build for win32-aio.o by updating the
qemu_aio_set_event_notifier() call and dropping win32_aio_flush_cb().
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8b2d42d273ed0df2a34cfa29f47bc1f8cc3abb26
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 15:28:35 2013 +0200
aio-win32: replace incorrect AioHandler->opaque usage with ->e
The AioHandler->opaque field does not exist in aio-win32.c. The code
that uses it was incorrectly copied from aio-posix.c. For Windows we
can use AioHandler->e to match against AioContext->notifier.
This patch fixes the Windows build for aio-win32.o.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 91c68f143d6e707c5783b162292dce38ae358c19
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Thu Aug 22 19:59:16 2013 +0100
aio / timers: remove dummy_io_handler_flush from tests/test-aio.c
Remove dummy_io_handler_flush from tests/test-aio.c as it does
nothing now.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b4049b74b97f30fe944c63b5f158ec9e87bd2593
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:09 2013 +0100
aio / timers: Remove legacy interface
Remove the legacy interface from include/qemu/timers.h.
Ensure struct QEMUClock is not exposed at all.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bc72ad67543f5c5d39c005ff0ca72da37642a1fb
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:08 2013 +0100
aio / timers: Switch entire codebase to the new timer API
This is an autogenerated patch using scripts/switch-timer-api.
Switch the entire code base to using the new timer API.
Note this patch may introduce some line length issues.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fe10ab540bcc2c5e4ac15ae686008c4a17a95c69
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:07 2013 +0100
aio / timers: Add scripts/switch-timer-api
Add scripts/switch-timer-api to programatically rewrite source
files to use the new timer system.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b53edf971f060389179b2935ca09e2cd9f9a728b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:06 2013 +0100
aio / timers: Add test harness for AioContext timers
Add a test harness for AioContext timers. The g_source equivalent is
unsatisfactory as it suffers from false wakeups.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7483d1e54700156e4c22e2e1b5d85de6eb92fdcf
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:05 2013 +0100
aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API
Convert block_job_sleep_ns and co_sleep_ns to use the new timer
API.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 884f17c235095af99b92dd8cd10bb824a5b0f777
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:04 2013 +0100
aio / timers: Convert rtc_clock to be a QEMUClockType
Convert rtc_clock to be a QEMUClockType
Move rtc_clock users to use the new API
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7bf8fbde449600926370f744b2b3d9cc819ca74f
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:03 2013 +0100
aio / timers: Remove main_loop_timerlist
Now we have timerlistgroups implemented and main_loop_tlg, we
no longer need the concept of a default timer list associated
with each clock. Remove it and simplify initialisation of
clocks and timer lists.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40daca54cd94678273c81dca8c0adefa297da5ea
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:02 2013 +0100
aio / timers: Rearrange timer.h & make legacy functions call non-legacy
Rearrange timer.h so it is in order by function type.
Make legacy functions call non-legacy functions rather than vice-versa.
Convert cpus.c to use new API.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 55a197dab4d26e6dcd2b539320b7daf68cf8c967
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:01 2013 +0100
aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms
Add utility functions qemu_clock_get_ms and qemu_clock_get_us
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63111b69cce420886ba7bfb8e367bd6c6969c1b6
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:00 2013 +0100
aio / timers: Remove legacy qemu_clock_deadline & qemu_timerlist_deadline
Remove qemu_clock_deadline and qemu_timerlist_deadline now we are using
the ns functions throughout.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d327171551a12b937c5718073b9848d0274c74d
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:59 2013 +0100
aio / timers: Remove alarm timers
Remove alarm timers from qemu-timers.c now we use g_poll / ppoll
instead.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 54904d2a9165bd34dee0f076826b308be2498fe0
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:58 2013 +0100
aio / timers: Add documentation and new format calls
Add documentation for existing qemu timer calls. Add new format
calls of the format timer_XXX rather than qemu_XXX_timer
for consistency.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ac70aafc28bec4d1014082f0c6659a368c5a95bd
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:57 2013 +0100
aio / timers: Use all timerlists in icount warp calculations
Notify all timerlists derived from vm_clock in icount warp
calculations.
When calculating timer delay based on vm_clock deadline, use
all timerlists.
For compatibility, maintain an apparent bug where when using
icount, if no vm_clock timer was set, qemu_clock_deadline
would return INT32_MAX and always set an icount clock expiry
about 2 seconds ahead.
NB: thread safety - when different timerlists sit on different
threads, this will need some locking.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a3a726ae09cdf6d277ac88cd725cf50d5849db2c
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:56 2013 +0100
aio / timers: Introduce new API timer_new and friends
Introduce new API for creating timers - timer_new and
_ns, _ms, _us derivatives.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b1bbfe72ec1ebf302d97f886cc646466c0abd679
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:55 2013 +0100
aio / timers: On timer modification, qemu_notify or aio_notify
On qemu_mod_timer_ns, ensure qemu_notify or aio_notify is called to
end the appropriate poll(), irrespective of use_icount value.
On qemu_clock_enable, ensure qemu_notify or aio_notify is called for
all QEMUTimerLists attached to the QEMUClock.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b595f35d89d73bc69c35bf3980a89c420e8a44b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:54 2013 +0100
aio / timers: Convert mainloop to use timeout
Convert mainloop to use timeout from default timerlist group
(i.e. the current 3 static timers)
main-loop.c produces a (possibly spurious) warning about
multiple iterations. Adapt the way this works for a signed
timeout and make the warning a bit safer.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 438e1f47e7db042a10458f70aaa6197aff5d84df
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:53 2013 +0100
aio / timers: Convert aio_poll to use AioContext timers' deadline
Convert aio_poll to use deadline based on AioContext's timers.
aio_poll has been changed to return accurately whether progress
has occurred. Prior to this commit, aio_poll always returned
true if g_poll was entered, whether or not any progress was
made. This required a change to tests/test-aio.c where an
assert was backwards.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4e29e8311a53025a06433382768b82111c0bb80c
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:52 2013 +0100
aio / timers: Add aio_timer_init & aio_timer_new wrappers
Add aio_timer_init and aio_timer_new wrapper functions.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 533a8cf3506172fe1966abc6875c65494378321e
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:51 2013 +0100
aio / timers: aio_ctx_prepare sets timeout from AioContext timers
Calculate the timeout in aio_ctx_prepare taking into account
the timers attached to the AioContext.
Alter aio_ctx_check similarly.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d5541d86806acc2e1a3cf9e1402370ba884e9fe1
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:50 2013 +0100
aio / timers: Add a notify callback to QEMUTimerList
Add a notify pointer to QEMUTimerList so it knows what to notify
on a timer change.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dae21b98b973e8d878a92b44f70a51aa8d4c739b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:49 2013 +0100
aio / timers: Add QEMUTimerListGroup to AioContext
Add a QEMUTimerListGroup each AioContext (meaning a QEMUTimerList
associated with each clock is added) and delete it when the
AioContext is freed.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 754d6a544d044bddeef87e9a63b4f511f59f3c4e
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:48 2013 +0100
aio / timers: Add QEMUTimerListGroup and helper functions
Add QEMUTimerListGroup and helper functions, to represent
a QEMUTimerList associated with each clock. Add a default
QEMUTimerListGroup representing the default timer lists
which are not associated with any other object (e.g.
an AioContext as added by future patches).
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a1751b7aad6e38e9d1ae6bcea72fa28bf6cc5fb
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:47 2013 +0100
aio / timers: Untangle include files
include/qemu/timer.h has no need to include main-loop.h and
doing so causes an issue for the next patch. Unfortunately
various files assume including timers.h will pull in main-loop.h.
Untangle this mess.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ff83c66eccf5b5f6b6530d504e3be41559250dcb
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:46 2013 +0100
aio / timers: Split QEMUClock into QEMUClock and QEMUTimerList
Split QEMUClock into QEMUClock and QEMUTimerList so that we can
have more than one QEMUTimerList associated with the same clock.
Introduce a main_loop_timerlist concept and make existing
qemu_clock_* calls that actually should operate on a QEMUTimerList
call the relevant QEMUTimerList implementations, using the clock's
default timerlist. This vastly reduces the invasiveness of this
change and means the API stays constant for existing users.
Introduce a list of QEMUTimerLists associated with each clock
so that reenabling the clock can cause all the notifiers
to be called. Note the code to do the notifications is added
in a later patch.
Switch QEMUClockType to an enum. Remove global variables vm_clock,
host_clock and rt_clock and add compatibility defines. Do not
fix qemu_next_alarm_deadline as it's going to be deleted.
Add qemu_clock_use_for_deadline to indicate whether a particular
clock should be used for deadline calculations. When use_icount
is true, vm_clock should not be used for deadline calculations
as it does not contain a nanosecond count. Instead, icount
timeouts come from the execution thread doing aio_notify or
qemu_notify as appropriate. This function is used in the next
patch.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f9a976b7408f061fc7fc48b14d16797ed6f8fd97
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:45 2013 +0100
aio / timers: Make qemu_run_timers and qemu_run_all_timers return progress
Make qemu_run_timers and qemu_run_all_timers return progress
so that aio_poll etc. can determine whether a timer has been
run.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cd758dd0acaaf1f76f9727d4409915f3293db07a
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:44 2013 +0100
aio / timers: Add prctl(PR_SET_TIMERSLACK, 1, ...) to reduce timer slack
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) to
set one nanosecond timer slack to increase precision of timer
calls.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4e0c6529fcb5ccbed5eb2c4f094264eb447d49ea
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:43 2013 +0100
aio / timers: add ppoll support with qemu_poll_ns
Add qemu_poll_ns which works like g_poll but takes a nanosecond
timeout.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 73c30df69ce1f6767a7dba29b2411329de102847
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Apr 13 17:54:02 2012 +0200
MAINTAINERS: Take over 0.15 maintenance
SUSE is shipping qemu-kvm 0.15.1 with SLES 11 SP2 so we will be actively
tracking all KVM-related issues. Therefore upgrade to Supported.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5211333bf77d5199d5f27cd306b2798d90a4c8fc
Merge: 9fe4806 21e0043
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 22 09:29:25 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Laszlo Ersek (8) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
scripts/qapi.py: Avoid syntax not supported by Python 2.4
monitor: print the invalid char in error message
OptsVisitor: introduce unit tests, with test cases for range flattening
add "test-int128" and "test-bitops" to .gitignore
OptsVisitor: don't try to flatten overlong integer ranges
OptsVisitor: opts_type_uint64(): recognize intervals when LM_IN_PROGRESS
OptsVisitor: rebase opts_type_uint64() to parse_uint_full()
OptsVisitor: opts_type_int(): recognize intervals when LM_IN_PROGRESS
OptsVisitor: introduce list modes for interval flattening
OptsVisitor: introduce basic list modes
Convert stderr message calling error_get_pretty() to error_report()
Message-id: 1377015041-6567-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9fe480695ad8c9126ac8f318a0241e10aad7a25b
Merge: ecfe10c 7717f24
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 22 09:29:13 2013 -0500
Merge remote-tracking branch 'jliu/or32' into staging
# By Jia Liu
# Via Jia Liu
* jliu/or32:
hw/openrisc: Avoid undefined shift in openrisc_pic_cpu_handler()
hw/openrisc: Fix masking in openrisc_pic_cpu_handler()
hw/openrisc: Avoid using uninitialised variable 'entry'
Message-id: 1377050811-11116-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 043a7e1f8f66f3089ef0158aea00203e4591ba8d
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:42 2013 +0100
aio / timers: Consistent treatment of disabled clocks for deadlines
Make treatment of disabled clocks consistent in deadline calculation
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02a03a9f12ec2fe68c9fed84fa8607a5326e2b65
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:41 2013 +0100
aio / timers: add qemu-timer.c utility functions
Add utility functions to qemu-timer.c for nanosecond timing.
Add qemu_clock_deadline_ns to calculate deadlines to
nanosecond accuracy.
Add utility function qemu_soonest_timeout to calculate soonest deadline.
Add qemu_timeout_ns_to_ms to convert a timeout in nanoseconds back to
milliseconds for when ppoll is not used.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58ac56b9ad53b006396523639bb7d7043edc56bf
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:40 2013 +0100
aio / timers: Rename qemu_new_clock and expose clock types
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e93379b039030c68d85693a4bee2b76f814108d2
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:39 2013 +0100
aio / timers: Rename qemu_timer_* functions
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired
Rename qemu_timer_expire_time_ns to timer_expire_time_ns
Rename qemu_timer_pending to timer_pending
Rename qemu_timer_expired_ns to timer_expired_ns
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 04d542c8b826a1196ca4f03f5a35d83035976bd1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Aug 19 18:54:28 2013 +0800
vmdk: support vmfs files
VMware ESX hosts also use different create and extent types for flat
files, respectively "vmfs" and "VMFS". This is not documented, but it
can be found at http://kb.vmware.com/kb/10002511 (Recreating a missing
virtual machine disk (VMDK) descriptor file).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit daac8fdc68c5f0118ce24fcac5873ddaa0d0c9f9
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Aug 19 18:54:27 2013 +0800
vmdk: support vmfsSparse files
VMware ESX hosts use a variant of the VMDK3 format, identified by the
vmfsSparse create type ad the VMFSSPARSE extent type.
It has 16 KB grain tables (L2) and a variable-size grain directory (L1).
In addition, the grain size is always 512, but that is not a problem
because it is included in the header.
The format of the extents is documented in the VMDK spec. The format
of the descriptor file is not documented precisely, but it can be
found at http://kb.vmware.com/kb/10026353 (Recreating a missing virtual
machine disk (VMDK) descriptor file for delta disks).
With these patches, vmfsSparse files only work if opened through the
descriptor file. Data files without descriptor files, as far as I
could understand, are not supported by ESX.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
--
v2: Rebase to patch 01.
Change le64_to_cpu to le32_to_cpu.
Rename vmdk_open_vmdk3 to vmdk_open_vmfs_sparse, which represents the
current usage of this format.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f6b61e54bdd5b9ef46837c15547e1819b3bb4f37
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Aug 19 18:54:26 2013 +0800
vmdk: fix L1 and L2 table size in vmdk3 open
VMDK3 header has the field l1dir_size, but vmdk_open_vmdk3 hardcoded the
value. This patch honors the header field.
And the L2 table size is 4096 according to VMDK spec[1], instead of
1 << 9 (512).
[1]:
http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b0651b8c246d0d9e6ad0831b3e34fd756016ad7e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Aug 19 18:54:25 2013 +0800
vmdk: Move l1_size check into vmdk_add_extent()
This header check is common to VMDK3 and VMDK4, so move it into
vmdk_add_extent().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7780d47211bde838c7f7e9330608e5397219066e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Aug 22 15:36:59 2013 +0800
block: better error message for read only format name
When user tries to use read-only whitelist format in the command line
option, failure message was "'foo' invalid format". It might be invalid
only for writable, but valid for read-only, so it is confusing. Give the
user easier to understand information.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 893a8f6220368a9ebff9a74bd48359928545cf6a
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Aug 6 09:53:40 2013 +0800
block: Produce zeros when protocols reading beyond end of file
While Asias is debugging an issue creating qcow2 images on top of
non-file protocols. It boils down to this example using NBD:
$ qemu-io -c 'open -g nbd+unix:///?socket=/tmp/nbd.sock' -c 'read -v 0
512'
Notice the open -g option to set bs->growable. This means you can
read/write beyond end of file. Reading beyond end of file is supposed
to produce zeroes.
We rely on this behavior in qcow2_create2() during qcow2 image
creation. We create a new file and then write the qcow2 header
structure using bdrv_pwrite(). Since QCowHeader is not a multiple of
sector size, block.c first uses bdrv_read() on the empty file to fetch
the first sector (should be all zeroes).
Here is the output from the qemu-io NBD example above:
$ qemu-io -c 'open -g nbd+unix:///?socket=/tmp/nbd.sock' -c 'read -v 0
512'
00000000: ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
................
00000010: ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
................
00000020: ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
................
...
We are not zeroing the buffer! As a result qcow2 image creation on top
of protocols is not guaranteed to work even when file creation is
supported by the protocol.
[Adapted this patch to use bs->zero_beyond_eof.
-- Stefan]
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0d51b4debee6fb322751a57097a1d675c7a7c38d
Author: Asias He <asias@xxxxxxxxxx>
Date: Thu Aug 22 15:24:14 2013 +0800
block: Introduce bs->zero_beyond_eof
In 4146b46c42e0989cb5842e04d88ab6ccb1713a48 (block: Produce zeros when
protocols reading beyond end of file), we break qemu-iotests ./check
-qcow2 022. This happens because qcow2 temporarily sets ->growable = 1
for vmstate accesses (which are stored beyond the end of regular image
data).
We introduce the bs->zero_beyond_eof to allow qcow2_load_vmstate() to
disable ->zero_beyond_eof temporarily in addition to enable ->growable.
[Since the broken patch "block: Produce zeros when protocols reading
beyond end of file" has not been merged yet, I have applied this fix
*first* and will then apply the next patch to keep the tree bisectable.
-- Stefan]
Suggested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e0995561959645e218bb5e4afb6ad3d47b33396
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:45 2013 -0300
pc_piix: Kill pc_init1() memory region args
All callers always use the same values (get_system_memory(),
get_system_io()), so the parameters are pointless.
If one day we decide to eliminate get_system_memory() and
get_system_io(), we will be able to do that more easily by adding the
values to struct QEMUMachineInitArgs.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 396f79f45ea75bd1c421522f29b4f91d490df7cc
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:44 2013 -0300
pc: pc_compat_1_4() now can call pc_compat_1_5()
It just needs to set has_pvpanic=false after calling it. This way, it
won't be a special case anymore.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 89b439f3136644b07c2e25bb4ceeb9466ae23fe5
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:43 2013 -0300
pc: Create pc_compat_*() functions
Making the older compat functions call the newer compat functions at the
beginning allows the older functions undo what's done by newer compat
functions. e.g.: pc_compat_1_4() will be able to call pc_compat_1_5()
and then set has_pvpanic=false.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 43a52ce65736adf9def7c2a9e5ba409814eb5dae
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:42 2013 -0300
pc: Kill pc_init_pci_1_0()
The pc_init_pci_1_2()/pc_init_pci_1_0() split was made on commit
6fd028f64f662c801fd5a54d0e3a1d2baeee93ea, in preparation for commit
9953f8822cc316eec9962f0a2858c3439a80adec. The latter was reverted, so
there's
no reason to keep two separate functions that do exactly the same,
anymore.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3b6fb9cab2e64804cdab5a61d1298ffd8b8dff85
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Aug 21 15:14:41 2013 -0300
pc: Don't explode QEMUMachineInitArgs into local variables needlessly
Don't explode when the variable is used just a few times, and never
changed.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5650f5f48bfe2a684138505aae008dc4440202f1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Aug 21 15:14:40 2013 -0300
pc: Don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before passing it to pc_init1().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 92238367450d26eced103736ae555997ea3162c2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:49 2013 +0200
ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params
Pass on the generic arguments unadulterated, and the machine-specific
ones as separate argument.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ee87e32f830b4e22c02038de963bb9f72b55896f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:48 2013 +0200
ppc: Don't explode QEMUMachineInitArgs into local variables needlessly
Don't explode when the variable is used just once, and never changed.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6b63ef4d0f225810b74281e6689a4d5695860c08
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:47 2013 +0200
sun4: Don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before passing it to
sun4m_hw_init(), sun4uv_init().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8ad1898cf1f5314731123afce057e5cf74fd2f01
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Aug 19 10:38:01 2013 +0200
qcow2: Change default for new images to compat=1.1
By the time that qemu 1.7 will be released, enough time will have passed
since qemu 1.1, which is the first version to understand version 3
images, that changing the default shouldn't hurt many people any more
and the benefits of using the new format outweigh the pain.
qemu-iotests already runs with compat=1.1 by default.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4b38e989b43e84c485f676f2039f21b15da439fe
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Aug 20 12:21:57 2013 -0600
q35: Add PCIe switch to example q35 configuration
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7717f248eebdcfe6de400404d0cf65dcb3633308
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Wed Aug 21 09:31:36 2013 +0800
hw/openrisc: Avoid undefined shift in openrisc_pic_cpu_handler()
In C99 signed shift (1 << 31) is undefined behavior, since the result
exceeds INT_MAX. Use 1U instead and move the shift after the check.
Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx>
Acked-by: Jia Liu <proljc@xxxxxxxxx>
commit ed396e2b2d256c1628de7c11841b509455a76c03
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Wed Aug 21 09:23:10 2013 +0800
hw/openrisc: Fix masking in openrisc_pic_cpu_handler()
Consider the masking of PICSR and PICMR:
((cpu->env.picsr && (1 << i)) && (cpu->env.picmr && (1 << i)))
To correctly mask bits, we should use the bitwise AND "&" rather than
the logical AND "&&". Also, the loop is not necessary for masking.
Simply use (cpu->env.picsr & cpu->env.picmr).
Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx>
Acked-by: Jia Liu <proljc@xxxxxxxxx>
commit b6d9766ddf5453e79e0c66c9348728ba44ba115f
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Wed Aug 21 08:54:29 2013 +0800
hw/openrisc: Avoid using uninitialised variable 'entry'
clang warns that cpu_openrisc_load_kernel() can use 'entry' uninitialized:
hw/openrisc/openrisc_sim.c:69:9: error: variable 'entry' is used
uninitialized
whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
if (kernel_filename && !qtest_enabled()) {
^~~~~~~~~~~~~~~
hw/openrisc/openrisc_sim.c:91:19: note: uninitialized use occurs here
cpu->env.pc = entry;
^~~~~
Fix this by not attempting to change the CPU's starting PC unless
we actually loaded a kernel.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
commit 04920fc0faa4760f9c4fc0e73b992b768099be70
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Aug 19 17:26:55 2013 +0300
loader: store FW CFG ROM files in RAM
ROM files that are put in FW CFG are copied to guest ram, by BIOS, but
they are not backed by RAM so they don't get migrated.
Each time we change two bytes in such a ROM this breaks cross-version
migration: since we can migrate after BIOS has read the first byte but
before it has read the second one, getting an inconsistent state.
Future-proof this by creating, for each such ROM,
an MR serving as the backing store.
This MR is never mapped into guest memory, but it's registered
as RAM so it's migrated with the guest.
Naturally, this only helps for -M 1.7 and up, older machine types
will still have the cross-version migration bug.
Luckily the race window for the problem to trigger is very small,
which is also likely why we didn't notice the cross-version
migration bug in testing yet.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 0851c9f75ccb0baf28f5bf901b9ffe3c91fcf969
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Aug 19 17:26:52 2013 +0300
arch_init: align MR size to target page size
Migration code assumes that each MR is a multiple of TARGET_PAGE_SIZE:
MR size is divided by TARGET_PAGE_SIZE, so if it isn't migration
never completes.
But this isn't really required for regions set up with
memory_region_init_ram, since that calls qemu_ram_alloc
which aligns size up using TARGET_PAGE_ALIGN.
Align MR size up to full target page sizes, this way
migration completes even if we create a RAM MR
which is not a full target page size.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit c0b4cc1f9f4df9d7459dc778e64f00a4e781fd88
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Aug 18 16:50:02 2013 +0300
pc: cleanup 1.4 compat support
Make 1.4 compat code call the 1.6 one, reducing
code duplication. Add comment explaining why we can't
make 1.4 call 1.5 as usual.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit 7477cd3897082d2650d520a4e9aa7f8affa3dd5d
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Mon Aug 19 14:13:42 2013 -0300
kvm: i386: fix LAPIC TSC deadline timer save/restore
The configuration of the timer represented by MSR_IA32_TSCDEADLINE
depends on:
- APIC LVT Timer register.
- TSC value.
Change the order to respect the dependency.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7dc52526850849e8e0fe56ced809d0798481a2f6
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Mon Aug 12 16:56:31 2013 -0300
kvm-all.c: max_cpus should not exceed KVM vcpu limit
maxcpus, which specifies the maximum number of hotpluggable CPUs,
should not exceed KVM's vcpu limit.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
[Reword message. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 354678c5ce162649906e4e1be2859f3df372668f
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Aug 13 14:43:57 2013 +0200
kvm: Simplify kvm_handle_io
Now that cpu_in/out is just a wrapper around address_space_rw, we can
also call the latter directly. As host endianness == guest endianness,
there is no need for the memory access helpers st*_p/ld*_p as well.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit df67696e97d3edd0cb1683bf2eb3b3236bd9a5ed
Author: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Date: Mon Aug 19 09:33:30 2013 +0800
kvm: x86: fix setting IA32_FEATURE_CONTROL with nested VMX disabled
This patch is to fix the bug
https://bugs.launchpad.net/qemu-kvm/+bug/1207623
IA32_FEATURE_CONTROL is pointless if not expose VMX or SMX bits to
cpuid.1.ecx of vcpu. Current qemu-kvm will error return when kvm_put_msrs
or kvm_get_msrs.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ecfe10c9a6f9bc77d0e4b7eb5d0f5d61e8fbaed8
Merge: 9176e8f 2300581
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 11:23:52 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130820'
into staging
target-arm queue
# gpg: Signature made Tue 20 Aug 2013 08:56:28 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell (20) and Peter Chubb (1)
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130820: (21 commits)
hw/timer/imx_epit: Simplify and fix imx_epit implementation
default-configs: Fix A9MP and A15MP config names
hw/cpu/a15mpcore: Wire generic timer outputs to GIC inputs
target-arm: Implement the generic timer
target-arm: Support coprocessor registers which do I/O
target-arm: Allow raw_read() and raw_write() to handle 64 bit regs
hw/arm/pic_cpu: Remove the now-unneeded arm_pic_init_cpu()
hw/arm/xilinx_zynq: Don't use arm_pic_init_cpu()
hw/arm/vexpress: Don't use arm_pic_init_cpu()
hw/arm/versatilepb: Don't use arm_pic_init_cpu()
hw/arm/strongarm: Don't use arm_pic_init_cpu()
hw/arm/realview: Don't use arm_pic_init_cpu()
hw/arm/omap*: Don't use arm_pic_init_cpu()
hw/arm/musicpal: Don't use arm_pic_init_cpu()
hw/arm/kzm: Don't use arm_pic_init_cpu()
hw/arm/integratorcp: Don't use arm_pic_init_cpu()
hw/arm/highbank: Don't use arm_pic_init_cpu()
hw/arm/exynos4210: Don't use arm_pic_init_cpu()
hw/arm/armv7m: Don't use arm_pic_init_cpu()
target-arm: Make IRQ and FIQ gpio lines on the CPU object
...
Message-id: 1377007680-4934-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 21e0043bada1a24ae2ba6cd0051e104c0cbf9634
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>
commit 277acfe8b38de35be8cb6e274678b5a7919c2d44
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 20 10:58:21 2013 +0800
monitor: print the invalid char in error message
It's more friendly to print which char is invalid to user, especially
when user tries to input a float value and expect the monitor to round
it to int. Since we don't round float number when we look for a integer,
telling which char is invalid is less confusing.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 3953e3a5d34fa7caffc3e32eae4270b2d810d966
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:40 2013 +0200
OptsVisitor: introduce unit tests, with test cases for range flattening
According to commit 4f193e34
("tests: Use qapi-schema-test.json as schema parser test")
the "tests/qapi-schema/qapi-schema-test.out" file must be updated as well.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 99351c8472f76552c059a5dd382860229d647c4f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:39 2013 +0200
add "test-int128" and "test-bitops" to .gitignore
"test-int128" was probably missed in commit 6046c620
("int128: optimize and add test cases").
"test-bitops" was probably missed in commit 3464700f
("tests: Add test-bitops.c with some sextract tests").
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 15a849be100b54776bcf63193c3fea598666030f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:38 2013 +0200
OptsVisitor: don't try to flatten overlong integer ranges
Prevent mistyped command line options from incurring high memory and CPU
usage at startup. 64K elements in a range should be enough for everyone
(TM).
The OPTS_VISITOR_RANGE_MAX macro is public so that unit tests can
construct corner cases with it.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 581a8a800070500527f6c75e5d6b75134c2b5a9d
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:37 2013 +0200
OptsVisitor: opts_type_uint64(): recognize intervals when LM_IN_PROGRESS
When a well-formed range value, bounded by unsigned integers, is
encountered while processing a repeated option, enter LM_UNSIGNED_INTERVAL
and return the low bound.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 62d090e23fc17e4e60725ead0dff8902f8e66b52
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:36 2013 +0200
OptsVisitor: rebase opts_type_uint64() to parse_uint_full()
Simplify the code in preparation for the next patch.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 1e1c555a49175e2298eaa156e008a92d207bf812
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:35 2013 +0200
OptsVisitor: opts_type_int(): recognize intervals when LM_IN_PROGRESS
When a well-formed range value, bounded by signed integers, is encountered
while processing a repeated option, enter LM_SIGNED_INTERVAL and return
the low bound.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d8754f40acb2d30e4735cdcd21a16e7ac29264a3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:34 2013 +0200
OptsVisitor: introduce list modes for interval flattening
The new modes are equal-rank, exclusive alternatives of LM_IN_PROGRESS.
Teach opts_next_list(), opts_type_int() and opts_type_uint64() to handle
them.
Also enumerate explicitly what functions are valid to call in what modes:
- opts_next_list() is valid to call while flattening a range,
- opts_end_list(): ditto,
- lookup_scalar() is invalid to call during flattening; generated qapi
traversal code must continue asking for the same kind of signed/unsigned
list element until the interval is fully flattened,
- processed(): ditto.
List mode restrictions are always formulated in positive / inclusive
sense. The restrictions for lookup_scalar() and processed() are
automatically satisfied by current qapi traversals if the schema to build
is compatible with OptsVisitor.
The new list modes are not entered yet.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d95704341280fc521dc2b16bbbc5858f6647e2c3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:33 2013 +0200
OptsVisitor: introduce basic list modes
We're going to need more state while processing a list of repeated
options. This change eliminates "repeated_opts_first" and adds a new state
variable:
list_mode repeated_opts repeated_opts_first
-------------- ------------- -------------------
LM_NONE NULL false
LM_STARTED non-NULL true
LM_IN_PROGRESS non-NULL false
Additionally, it is documented that lookup_scalar() and processed(), both
called by opts_type_XXX(), are invalid in LM_STARTED -- generated qapi
code calls opts_next_list() to allocate the very first link before trying
to parse a scalar into it. List mode restrictions are expressed in
positive / inclusive form.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4a44d85e28bd282f53ccf0fa933dd71b8744a229
Author: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Date: Mon Aug 5 15:40:44 2013 -0400
Convert stderr message calling error_get_pretty() to error_report()
Convert stderr messages calling error_get_pretty()
to error_report().
Timestamp is prepended by -msg timstamp option with it.
Per Markus's comment below, A conversion from fprintf() to
error_report() is always an improvement, regardless of
error_get_pretty().
http://marc.info/?l=qemu-devel&m=137513283408601&w=2
But, it is not reasonable to convert them at one time
because fprintf() is used everwhere in qemu.
So, it should be done step by step with avoiding regression.
Signed-off-by: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 9176e8fb8f78206bd4039f001aca0d931a47d663
Merge: 72420ce f2e5dca
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 09:52:18 2013 -0500
Merge remote-tracking branch 'stefanha/block-next' into staging
# By Stefan Hajnoczi
# Via Stefan Hajnoczi
* stefanha/block-next:
aio: drop io_flush argument
tests: drop event_active_cb()
thread-pool: drop thread_pool_active()
dataplane/virtio-blk: drop flush_true() and flush_io()
block/ssh: drop return_true()
block/sheepdog: drop have_co_req() and aio_flush_request()
block/rbd: drop qemu_rbd_aio_flush_cb()
block/nbd: drop nbd_have_request()
block/linux-aio: drop qemu_laio_completion_cb()
block/iscsi: drop iscsi_process_flush()
block/gluster: drop qemu_gluster_aio_flush_cb()
block/curl: drop curl_aio_flush()
aio: stop using .io_flush()
tests: adjust test-thread-pool to new aio_poll() semantics
tests: adjust test-aio to new aio_poll() semantics
dataplane/virtio-blk: check exit conditions before aio_poll()
block: stop relying on io_flush() in bdrv_drain_all()
block: ensure bdrv_drain_all() works during bdrv_delete()
Message-id: 1376921877-9576-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 72420ce9f0bafef7d55563a8bd14237a5fe88a87
Merge: 237e4f9 b83c4db
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 09:52:07 2013 -0500
Merge remote-tracking branch 'rth/axp-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/axp-next:
target-alpha: Implement the typhoon iommu
target-alpha: Consider the superpage when threading and ending TBs
target-alpha: Use goto_tb in call_pal
target-alpha: Implement call_pal without an exception
Message-id: 1376720412-2165-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 237e4f92a81696e5359766a7f19a77a9ff1d02e5
Merge: bc02fb3 321bc0b
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 09:51:53 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* gdbstub coprocessor register count bugfix
* QOM instance_post_init infrastructure to override dynamic properties
* X86CPU HyperV preparations for CPU subclasses
# gpg: Signature made Fri 16 Aug 2013 11:49:02 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Eduardo Habkost (3) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
cpus: Use cpu_is_stopped() efficiently
target-i386: Move hyperv_* static globals to X86CPU
qdev: Set globals in instance_post_init function
qom: Introduce instance_post_init hook
tests: Unit tests for qdev global properties handling
gdbstub: Fix gdb_register_coprocessor() register counting
commit 230058106ab26de9b876158dbe27d60719f01f51
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Tue Aug 20 14:54:32 2013 +0100
hw/timer/imx_epit: Simplify and fix imx_epit implementation
When imx_epit.c was last refactored, a common usecase (comparison
register zero) broke. This patch fixes that, and simplifies the code
yet more. It also fixes a major thinko in the reset path --- the
wrong bits in the control register were being cleared.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Reviewed-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 66aae5e1ecc38e8658c5cc69a0b3ceeb4967619c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:32 2013 +0100
default-configs: Fix A9MP and A15MP config names
When individual CONFIG_ switches for the A9MPcore and A15MPcore
devices were created, they were inadvertently given incorrect names
(CONFIG_ARM9MPCORE and CONFIG_ARM15MPCORE). These CPUs are
"Cortex-A9MP" and "Cortex-A15MP", and in particular the ARM9 is
a different (rather older) CPU than the Cortex-A9. Rename the
CONFIG_ switches to bring them into line with the source file
names and CPU names.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1376056215-26391-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 6033e840c7b1db1055d02199fa3a28a4fd7b2386
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:32 2013 +0100
hw/cpu/a15mpcore: Wire generic timer outputs to GIC inputs
Now our A15 CPU implements the generic timers, we can wire them
up to the appropriate inputs on the GIC.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Message-id: 1376065080-26661-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 55d284af8e31bbdf4d545cb2d6481cd0367680fb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
target-arm: Implement the generic timer
The ARMv7 architecture specifies a 'generic timer' which is implemented
via cp15 registers. Newer kernels will prefer to use this rather than
a devboard-level timer. Implement the generic timer for TCG; for KVM
we will already use the hardware's virtualized timer for this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Message-id: 1376065080-26661-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 2452731c883cb0acd4e47b23039c46cd880cf2c6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
target-arm: Support coprocessor registers which do I/O
Add an ARM_CP_IO flag which an ARMCPRegInfo definition can use to
indicate that the register's implementation does I/O and thus
its accesses need to be surrounded by gen_io_start()/gen_io_end()
in order for icount to work. Most notably, cp registers which
implement clocks or timers need this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1376065080-26661-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 22d9e1a986a671ebfacb21555b7533336f3e8259
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
target-arm: Allow raw_read() and raw_write() to handle 64 bit regs
Extend the raw_read() and raw_write() helper accessors so that
they can be used for 64 bit registers as well as 32 bit registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1376065080-26661-2-git-send-email-peter.maydell@xxxxxxxxxx
commit b643e4b90bb0b70adde97a09349d8ca7067309d9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
hw/arm/pic_cpu: Remove the now-unneeded arm_pic_init_cpu()
Now all the boards have been converted arm_pic_init_cpu()
is unused and can just be deleted.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-15-git-send-email-peter.maydell@xxxxxxxxxx
commit e4a6540dedc6ec109a9ece3f8d83a143b7bde4e6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/xilinx_zynq: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-14-git-send-email-peter.maydell@xxxxxxxxxx
commit fe9120a5d1117523282b44e8aa0027ab2b8a4408
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/vexpress: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-13-git-send-email-peter.maydell@xxxxxxxxxx
commit bace999f8a03c226eecad3c170def644f0551c50
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/versatilepb: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-12-git-send-email-peter.maydell@xxxxxxxxxx
commit 4f071cf9b53a236469500f08033335cc726db9b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/strongarm: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-11-git-send-email-peter.maydell@xxxxxxxxxx
commit 033ee5a5ac5dd01bcea76a6427d95f5390af43ca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/realview: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-10-git-send-email-peter.maydell@xxxxxxxxxx
commit 437f0f10a42dc2a0236a79e0bba39a32af4d73f8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/omap*: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-9-git-send-email-peter.maydell@xxxxxxxxxx
commit fcef61ec6bfaf96eeee0fb3024dd7ec8437ffa65
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/musicpal: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-8-git-send-email-peter.maydell@xxxxxxxxxx
commit 2f69ba1736e9460aa04c46790c1d34edfbee563a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/kzm: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 99d228d6e9b08488d62029c438f8381b8c72d109
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/integratorcp: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-6-git-send-email-peter.maydell@xxxxxxxxxx
commit 9188dbf71accf9d97f2e434380ea210ba75705ca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/highbank: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-5-git-send-email-peter.maydell@xxxxxxxxxx
commit ad666d91f43574fb200c738bc793023ae23d24a5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
hw/arm/exynos4210: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-4-git-send-email-peter.maydell@xxxxxxxxxx
commit de3a658f5b1d4ea290cb4369c55e83fdead81933
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
hw/arm/armv7m: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 7c1840b686e34ed138414ff0fe395a63f031387e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
target-arm: Make IRQ and FIQ gpio lines on the CPU object
Now that ARMCPU is a subclass of DeviceState, we can make the
CPU's inbound IRQ and FIQ lines be simply gpio lines, which
means we can remove the odd arm_pic shim.
We retain the arm_pic_init_cpu() function as a backwards
compatibility shim layer so we can convert the board models
to get the IRQ and FIQ lines directly from the ARMCPU
object one at a time.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 3f1beaca88bffa4828cc86beb89ff70474516d91
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
target-arm: Implement 'int' loglevel
The 'int' loglevel for recording interrupts and exceptions
requires support in the target-specific code. Implement
it for ARM. This improves debug logging in some situations
that were otherwise pretty opaque, such as when we fault
trying to execute at an exception vector address, which
would otherwise cause an infinite loop of taking exceptions
without any indication in the debug log of what was going on.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1375700771-21665-1-git-send-email-peter.maydell@xxxxxxxxxx
commit f2e5dca46b5ba4588c0756c5f272123585cbbf23
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:26:25 2013 +0200
aio: drop io_flush argument
The .io_flush() handler no longer exists and has no users. Drop the
io_flush argument to aio_set_fd_handler() and related functions.
The AioFlushEventNotifierHandler and AioFlushHandler typedefs are no
longer used and are dropped too.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1b9ecdb16475485dffbcac7ff7f36dafa9e3cfd2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 16:46:15 2013 +0200
tests: drop event_active_cb()
Drop the io_flush argument to aio_set_event_notifier().
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb52b14be163cc91409017639b8df32c99c1563a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:22:08 2013 +0200
thread-pool: drop thread_pool_active()
.io_flush() is no longer called so drop thread_pool_active(). The block
layer is the only thread-pool.c user and it already tracks in-flight
requests, therefore we do not need thread_pool_active().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ce689368bb453b0b21e73c77182a9d9bef8c0b84
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:20:03 2013 +0200
dataplane/virtio-blk: drop flush_true() and flush_io()
.io_flush() is no longer called so drop flush_true() and flush_io().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0d35765998bb527013b7f06521fa4b3de352f58
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 13:12:28 2013 +0200
block/ssh: drop return_true()
.io_flush() is no longer called so drop return_true().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d6d94c678503fd1eceb51b9652b4e0dfd9543475
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:18:18 2013 +0200
block/sheepdog: drop have_co_req() and aio_flush_request()
.io_flush() is no longer called so drop have_co_req() and
aio_flush_request().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d289cc7243be53d409ee3b79dd4fd363806f8b6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:16:29 2013 +0200
block/rbd: drop qemu_rbd_aio_flush_cb()
.io_flush() is no longer called so drop qemu_rbd_aio_flush_cb().
qemu_aio_count is unused now so drop it too.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bed2e759eb642931e0ebb95ea99580c27f57560e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:15:03 2013 +0200
block/nbd: drop nbd_have_request()
.io_flush() is no longer called so drop nbd_have_request(). We cannot
drop in_flight since it is still used by other block/nbd.c code.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 94473d0c0624822f6325918eb5bfe2d8a001206a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:12:33 2013 +0200
block/linux-aio: drop qemu_laio_completion_cb()
.io_flush() is no longer called so drop qemu_laio_completion_cb(). It
turns out that count is now unused so drop that too.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 70ecdc6e4e7f91e7d88540f19fb0f56f9e6f54a0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:09:59 2013 +0200
block/iscsi: drop iscsi_process_flush()
.io_flush() is no longer called so drop iscsi_process_flush().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 372835fbc3f288671cfc926c9e438a4659c9125f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:07:43 2013 +0200
block/gluster: drop qemu_gluster_aio_flush_cb()
Since .io_flush() is no longer called we do not need
qemu_gluster_aio_flush_cb() anymore. It turns out that qemu_aio_count
is unused now and can be dropped.
Thanks to Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> for catching a
build failure with CONFIG_GLUSTERFS_DISCARD, which has been fixed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bc02fb304c6cc0f1dd0809545d226df2d6f5c093
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Aug 19 08:49:37 2013 -0500
Change email address
My IBM email address will be unaccessible after August 23rd, 2013.
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 0d1460226fb05c92fa3ad869ca39090ff13cf6bc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:04:23 2013 +0200
block/curl: drop curl_aio_flush()
.io_flush() is no longer called so drop curl_aio_flush(). The acb[]
array that the function checks is still used in other parts of
block/curl.c. Therefore we cannot remove acb[], it is needed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 164a101f28a53cd3db60ed874e7c3630e7988ed8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 16:56:50 2013 +0200
aio: stop using .io_flush()
Now that aio_poll() users check their termination condition themselves,
it is no longer necessary to call .io_flush() handlers.
The behavior of aio_poll() changes as follows:
1. .io_flush() is no longer invoked and file descriptors are *always*
monitored. Previously returning 0 from .io_flush() would skip this file
descriptor.
Due to this change it is essential to check that requests are pending
before calling qemu_aio_wait(). Failure to do so means we block, for
example, waiting for an idle iSCSI socket to become readable when there
are no requests. Currently all qemu_aio_wait()/aio_poll() callers check
before calling.
2. aio_poll() now returns true if progress was made (BH or fd handlers
executed) and false otherwise. Previously it would return true whenever
'busy', which means that .io_flush() returned true. The 'busy' concept
no longer exists so just progress is returned.
Due to this change we need to update tests/test-aio.c which asserts
aio_poll() return values. Note that QEMU doesn't actually rely on these
return values so only tests/test-aio.c cares.
Note that ctx->notifier, the EventNotifier fd used for aio_notify(), is
now handled as a special case. This is a little ugly but maintains
aio_poll() semantics, i.e. aio_notify() does not count as 'progress' and
aio_poll() avoids blocking when the user has not set any fd handlers yet.
Patches after this remove .io_flush() handler code until we can finally
drop the io_flush arguments to aio_set_fd_handler() and friends.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 35ecde26018207fe723bec6efbd340db6e9c2d53
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 17:49:42 2013 +0200
tests: adjust test-thread-pool to new aio_poll() semantics
aio_poll(ctx, true) will soon block when fd handlers have been set.
Previously aio_poll() would return early if all .io_flush() returned
false. This means we need to check the equivalent of the .io_flush()
condition *before* calling aio_poll(ctx, true) to avoid deadlock.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24d1a6d9d5f5b3da868724dd3c6f56893e0693da
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Apr 17 11:01:02 2013 +0200
tests: adjust test-aio to new aio_poll() semantics
aio_poll(ctx, true) will soon block if any fd handlers have been set.
Previously it would only block when .io_flush() returned true.
This means that callers must check their wait condition *before*
aio_poll() to avoid deadlock.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf0da4df83e8af7ec02e3809f3dd30cc0a42e4bc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:24:08 2013 +0200
dataplane/virtio-blk: check exit conditions before aio_poll()
Check exit conditions before entering blocking aio_poll(). This is
mainly for consistency since it's unlikely that we are stopping in the
first event loop iteration.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88266f5aa70fa71fd5cc20aa4dbeb7a7bd8d2e92
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 15:41:13 2013 +0200
block: stop relying on io_flush() in bdrv_drain_all()
If a block driver has no file descriptors to monitor but there are still
active requests, it can return 1 from .io_flush(). This is used to spin
during synchronous I/O.
Stop relying on .io_flush() and instead check
QLIST_EMPTY(&bs->tracked_requests) to decide whether there are active
requests.
This is the first step in removing .io_flush() so that event loops no
longer need to have the concept of synchronous I/O. Eventually we may
be able to kill synchronous I/O completely by running everything in a
coroutine, but that is future work.
Note this patch moves bs->throttled_reqs initialization to bdrv_new() so
that bdrv_requests_pending(bs) can safely access it. In practice bs is
g_malloc0() so the memory is already zeroed but it's safer to initialize
the queue properly.
We also need to fix up block/stream.c:close_unused_images() to prevent
traversing a dangling pointer while it rearranges the backing file
chain. This is necessary since the new bdrv_drain_all() traverses the
backing file chain.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1b5c52e04d04bb93546c6e37e8884889d047cb1
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>
commit b83c4db89561e78ca5a1808329cbf937c6d75cc3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Aug 4 15:27:13 2013 -1000
target-alpha: Implement the typhoon iommu
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b114b68adf12a5333bb95b252aed6309cf0c0e5f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 14:05:08 2013 -1000
target-alpha: Consider the superpage when threading and ending TBs
This allows significantly more threading, and occasionally larger TBs,
when processing code for the kernel and PALcode.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9ead832617195a9b0727557c94dda776f8e8074
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 12:00:32 2013 -1000
target-alpha: Use goto_tb in call_pal
With appropriate flushing when the PALBR changes, the target of
a CALL_PAL is so predictable we can chain to it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ba96394e20ad033a10eb790fdf2377e2a8892feb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 11:22:21 2013 -1000
target-alpha: Implement call_pal without an exception
The destination of the call_pal, and the cpu state, is very predictable;
there's no need for exiting the cpu loop.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 321bc0b2b27aa2dd64bf12e0e2a0f323a4903ecf
Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Date: Fri Aug 2 09:43:09 2013 +0800
cpus: Use cpu_is_stopped() efficiently
It makes more sense and will make things simpler later.
Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 92067bf4bfa144ea3967a9951808f5e587bdab18
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Jun 5 15:18:40 2013 +0200
target-i386: Move hyperv_* static globals to X86CPU
- since hyperv_* helper functions are used only in target-i386/kvm.c
move them there as static helpers
Requested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 99a0b03650176340ab6667fa1e5711a4552d4494
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jul 10 17:08:42 2013 -0300
qdev: Set globals in instance_post_init function
This way, properties registered in the instance_init function of
child classes will be handled properly by qdev_prop_set_globals(), too.
Includes a unit test for the new functionality.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8231c2dd220336bbc7522c490d95742f6ba0adae
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jul 10 17:08:41 2013 -0300
qom: Introduce instance_post_init hook
This will allow classes to specify a function to be called after all
instance_init functions were called.
This will be used by DeviceState to call qdev_prop_set_globals() at the
right moment.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 747b0cb4b51296e85add0a23d5fc1d24e250ec08
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jul 10 17:08:40 2013 -0300
tests: Unit tests for qdev global properties handling
This tests the qdev global-properties handling code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 35143f0164e6933a85c7c2b8a89a040d881a9151
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>
commit f202039811d8746b0586d2fd5f61de6c8cf68056
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 15 15:41:13 2013 -0500
Open up 1.7 development branch
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ca916d3729564d0eb3c2374a96903f7e8aced8a7
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Mon Jul 22 11:51:33 2013 +0200
kvm: add KVM_IRQFD_FLAG_RESAMPLE support
Added an EventNotifier* parameter to
kvm-all.c:kvm_irqchip_add_irqfd_notifier(), in order to give KVM
another eventfd to be used as "resamplefd". See the documentation
in the linux kernel sources in Documentation/virtual/kvm/api.txt
(section 4.75) for more details.
When the added parameter is passed NULL, the behaviour of the
function is unchanged with respect to the previous versions.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0d89436786b02a9e7d561c4d7dc4982e4a2739db
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jul 25 17:05:22 2013 +0200
kvm: migrate vPMU state
Reviewed-by: Gleb Natapov <gnatapov@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e4a09c9637f13a744ad7e2bc5223df05ac582c0d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jul 25 17:05:21 2013 +0200
target-i386: remove tabs from target-i386/cpu.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0779caeb1a17f4d3ed14e2925b36ba09b084fb7b
Author: Arthur Chunqi Li <yzt356@xxxxxxxxx>
Date: Sun Jul 7 23:13:37 2013 +0800
Initialize IA32_FEATURE_CONTROL MSR in reset and migration
The recent KVM patch adds IA32_FEATURE_CONTROL support. QEMU needs
to clear this MSR when reset vCPU and keep the value of it when
migration. This patch add this feature.
Signed-off-by: Arthur Chunqi Li <yzt356@xxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
For bisection revision-tuple graph see:
http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.linux-3.10.test-amd64-i386-freebsd10-amd64.guest-saverestore.html
Revision IDs in each graph node refer, respectively, to the Trees above.
----------------------------------------
Searching for failure / basis pass:
27105 fail [host=field-cricket] / 26967 [host=potato-beetle] 26922
[host=grain-weevil] 26879 [host=leaf-beetle] 26828 [host=rice-weevil] 26774
[host=lace-bug] 26738 ok.
Failure / basis pass flights: 27105 / 26738
(tree with no url: seabios)
Tree: linux
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 853771148c5aa5998c423ed4dddd7605d4b4c949
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
Basis pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
cf37a923eae411d420f6519e6dcfd13e25cf276c
Generating revisions with ./adhoc-revtuple-generator
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git#72c0f4193873987686d776813b96ef5e17b060b0-853771148c5aa5998c423ed4dddd7605d4b4c949
git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
git://xenbits.xen.org/staging/qemu-xen-unstable.git#7f5b3c338e0f8938ba575dec18255dcbee0c2ee2-7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
git://xenbits.xen.org/staging/qemu-upstream-unstable.git#65fc9b78ba3d868a26952db0d8e51cecf01d47b4-2addb502cdb50bab00514b9723bf6e09c88ff75e
git://xenbits.xen.org/xen.git#cf37a923eae411d420f6519e6dcfd13e25cf276c-7f8d8abcf6dfb85fae591a547b24f9b27d92272c
Cloning into bare repository /export/home/osstest/repos/linux-stable...
Cloning into bare repository
/export/home/osstest/repos/qemu-upstream-unstable...
adhoc-revtuple-generator: tree discontiguous: qemu-upstream-unstable
Cloning into bare repository /export/home/osstest/repos/xen...
Cloning into bare repository /export/home/osstest/repos/linux-stable...
Cloning into bare repository /export/home/osstest/repos/xen...
Loaded 2002 nodes in revision graph
Searching for test results:
26738 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
cf37a923eae411d420f6519e6dcfd13e25cf276c
26828 [host=rice-weevil]
26774 [host=lace-bug]
26922 [host=grain-weevil]
26879 [host=leaf-beetle]
26940 []
26967 [host=potato-beetle]
27070 fail c2f7eb8029e23c4f5445340d8fc0d05367538e6d
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
26991 fail 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27006 fail 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27073 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
e86539a388314cd3dca88f5e69d7873343197cd8
27022 fail c2f7eb8029e23c4f5445340d8fc0d05367538e6d
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27043 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
cf37a923eae411d420f6519e6dcfd13e25cf276c
27042 fail c2f7eb8029e23c4f5445340d8fc0d05367538e6d
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27090 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
6b4d71d028f445cba7426a144751fddc8bfdd67b
27072 fail c2f7eb8029e23c4f5445340d8fc0d05367538e6d
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27088 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
fca69b1fc606ece62430076ca4a157e4bed749a8
27103 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
84c4a1f62b0505026e9846bf707ba3de15109834
27104 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
054b6dfb61eab00d86ddd5d0ac508f5302da0d52
27129 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
cf37a923eae411d420f6519e6dcfd13e25cf276c
27107 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27126 fail 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27144 fail 853771148c5aa5998c423ed4dddd7605d4b4c949
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27105 fail 853771148c5aa5998c423ed4dddd7605d4b4c949
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27127 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27146 fail 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27147 pass 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
27148 fail 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
2addb502cdb50bab00514b9723bf6e09c88ff75e
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
Searching for interesting versions
Result found: flight 26738 (pass), for basis pass
Result found: flight 27105 (fail), for basis failure
Repro found: flight 27129 (pass), for basis pass
Repro found: flight 27144 (fail), for basis failure
0 revisions at 72c0f4193873987686d776813b96ef5e17b060b0
c530a75c1e6a472b0eb9558310b518f0dfcd8860
7f5b3c338e0f8938ba575dec18255dcbee0c2ee2
65fc9b78ba3d868a26952db0d8e51cecf01d47b4
7f8d8abcf6dfb85fae591a547b24f9b27d92272c
No revisions left to test, checking graph state.
Result found: flight 27107 (pass), for last pass
Result found: flight 27126 (fail), for first failure
Repro found: flight 27127 (pass), for last pass
Repro found: flight 27146 (fail), for first failure
Repro found: flight 27147 (pass), for last pass
Repro found: flight 27148 (fail), for first failure
*** Found and reproduced problem changeset ***
Bug is in tree: qemuu
git://xenbits.xen.org/staging/qemu-upstream-unstable.git
Bug introduced: 2addb502cdb50bab00514b9723bf6e09c88ff75e
Bug not present: 65fc9b78ba3d868a26952db0d8e51cecf01d47b4
Cloning into bare repository
/export/home/osstest/repos/qemu-upstream-unstable...
commit 2addb502cdb50bab00514b9723bf6e09c88ff75e
Merge: 1e1a328 65fc9b7
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue Jun 3 17:52:59 2014 +0000
Merge remote-tracking branch 'xen-staging/master' into xen-for-4.5-temp
commit 1e1a3289f473a460bee7a8745574f61c9e2f8506
Author: Olaf Hering <olaf@xxxxxxxxx>
Date: Wed May 7 13:40:04 2014 +0000
xen_disk: add discard support
Implement discard support for xen_disk. It makes use of the existing
discard code in qemu.
The discard support is enabled unconditionally. The tool stack may
provide a property "discard-enable" in the backend node to optionally
disable discard support. This is helpful in case the backing file was
intentionally created non-sparse to avoid fragmentation.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 0b981bbcfeb4714969e96457c2f0497d584a309b
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Wed May 7 13:48:37 2014 +0000
pass an inclusive address range to xc_domain_pin_memory_cacheattr
xc_domain_pin_memory_cacheattr expects an inclusive address range:
adjust the parameters.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit afcd39182fdeee6638a216936bae24b9b63285d7
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Wed May 7 13:47:29 2014 +0000
xen: factor out common functions
So common functions used by both HVM and PV are factored out from
xen-all.c to xen-common.c.
Finally rename xen-all.c to xen-hvm.c, as those functions are only
useful to HVM guest.
Create *-stub files and modify Makefile.target to reflect the changes.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit a8aef208921d5a76d5ac2e2706ab300971abf9c8
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Wed May 7 13:43:39 2014 +0000
xen: move Xen HVM files under hw/i386/xen
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 276a6063748dcc54da6b0580161f7acb6b11cb63
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Wed May 7 13:43:37 2014 +0000
xen: move Xen PV machine files to hw/xenpv
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 5ecf46031c88d78fb29e6c8b1cff0e8266c6f1b2
Author: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
Date: Wed May 7 13:41:48 2014 +0000
qemu-xen: free all the pirqs for msi/msix when driver unload
Pirqs are not freed when driver unload, then new pirqs are allocated when
driver reload. This could exhaust pirqs if do it in a loop.
This patch fixes the bug by freeing pirqs when ENABLE bit is cleared in
msi/msix control reg.
There is also other way of fixing it such as reuse pirqs between driver
reload,
but this way is better.
Xen-devel: http://marc.info/?l=xen-devel&m=136800120304275&w=2
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 84bfadbb79d6301b5e03dfa6bc7ce65431226242
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed May 7 13:40:39 2014 +0000
exec: Limit translation limiting in address_space_translate to xen
The address_space_translate() function cuts the returned plen (page size)
to hardcoded TARGET_PAGE_SIZE. This function can be used on pages bigger
than that so this limiting should not be used on such pages.
Since originally the limiting was introduced for XEN, we can safely
limit this piece of code to XEN. So does the patch.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit a9e8aeb3755bccb7b51174adcf4a3fc427e0d147
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 17 13:41:45 2014 +0100
Update version for v2.0.0 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 851627352c52b5beebf119785885391fa05a44c5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 14 17:45:11 2014 +0100
Update version for v2.0.0-rc3 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 50212d6346f33d6e19489e81b025b5c3bb8759be
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Apr 14 16:14:04 2014 +0400
Revert "fix return check for KVM_GET_DIRTY_LOG ioctl"
This reverts commit b533f658a98325d0e47b36113bd9f5bcc046fdae.
The original code was wrong, because effectively it ignored errors
from kernel, because kernel does not return -1 on error case but
returns -errno, and does not return -EPERM for this particular ioctl.
But in some cases kernel actually returned unsuccessful result,
namely, when the dirty bitmap in requested slot does not exist
it returns -ENOENT. With new code this condition becomes an
error when it shouldn't be.
Revert that patch instead of fixing it properly this late in the
release process. I disagree with this approach, but let's make
things move _somewhere_, instead of arguing endlessly whch of
the 2 proposed fixes is better.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Message-id: 1397477644-902-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c2b9af1d6c2dda4c58a1c0ff389d09dcd9601b9e
Merge: 940973a 8611224
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 14 14:02:12 2014 +0100
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi: SSDT update
This has a fix by Igor for a regression introduced by
bridge hotplug code.
Expected test files were updated accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 14 Apr 2014 13:13:35 BST using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
acpi-test: update expected files
acpi: fix incorrect encoding for 0x{F-1}FFFF
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 940973ae0b45c9b6817bab8e4cf4df99a9ef83d7
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Apr 12 22:59:50 2014 +0200
ide: Correct improper smart self test counter reset in ide core.
The SMART self test counter was incorrectly being reset to zero,
not 1. This had the effect that on every 21st SMART EXECUTE OFFLINE:
* We would write off the beginning of a dynamically allocated buffer
* We forgot the SMART history
Fix this.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Message-id: 1397336390-24664-1-git-send-email-benoit.canet@xxxxxxxxxxx
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
[PMM: tweaked commit message as per suggestions from Markus]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8611224a7b21db8fa1b0d12fdd053443543dd708
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Apr 14 15:08:37 2014 +0300
acpi-test: update expected files
commit 58b035c7354afc0c5351ea62264c01d74196ec26
acpi: fix incorrect encoding for 0x{F-1}FFFF
changes the SSDT, update expected files accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 482f38b9488cb42939b92332ca7b5b42af882cd0
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Sun Apr 13 23:55:51 2014 +0200
acpi: fix incorrect encoding for 0x{F-1}FFFF
Fix typo in build_append_int() which causes integer
truncation when it's in range 0x{F-1}FFFF by packing it
as WordConst instead of required DWordConst.
In partucular this fixes a regression: hotplug in slots 16,17,18 and 19
didn't work, since SSDT had code like this:
If (And (Arg0, 0x0000))
{
Notify (S80, Arg1)
}
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 590e5dd98fcc926cc3b63aad35aed79235ca4c2a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 11 17:13:52 2014 +0100
configure: Make stack-protector test check both compile and link
Since we use the -fstack-protector argument at both compile and
link time in the build, we must check that it works with both
a compile and a link:
* MacOSX only fails in the compile step, not linking
* some gcc cross environments only fail at the link stage (if they
require a libssp and it's not present for some reason)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1397232832-32301-1-git-send-email-peter.maydell@xxxxxxxxxx
Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
commit f12d048a523780dbda702027d4a91b62af1a08d7
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:22 2014 +0300
vmxnet3: validate queues configuration read on migration
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-5-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3c99afc779c2c78718a565ad8c5e98de7c2c7484
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:21 2014 +0300
vmxnet3: validate interrupt indices read on migration
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-4-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9878d173f574df74bde0ff50b2f81009fbee81bb
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:20 2014 +0300
vmxnet3: validate queues configuration coming from guest
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-3-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8c6c0478996e8f77374e69b6df68655b0b4ba689
Author: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Date: Fri Apr 4 12:45:19 2014 +0300
vmxnet3: validate interrupt indices coming from guest
CVE-2013-4544
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Message-id: 1396604722-11902-2-git-send-email-dmitry@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 92b3eeadd9bc72f1f4e5ba1f62a289dc0190e88f
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Apr 10 14:47:38 2014 -0400
qom: Fix crash with qom-list and link properties
Commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7 changed the type of
'opaque' for link properties, but missed updating this call site.
Reproducer:
./x86_64-softmmu/qemu-system-x86_64 -qmp unix:./qmp.sock,server &
./scripts/qmp/qmp-shell ./qmp.sock
(QEMU) qom-list path=//machine/i440fx/pci.0/child[2]
Reported-by: Marcin GibuÅ?a <m.gibula@xxxxxxxxx>
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Message-id:
2f8f007ce2152ac3b65f0811199662799c509225.1397155389.git.crobinso@xxxxxxxxxx
Acked-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit edc243851279e3393000b28b6b69454cae1190ef
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Apr 11 15:18:08 2014 +0300
virtio-net: fix guest-triggerable buffer overrun
When VM guest programs multicast addresses for
a virtio net card, it supplies a 32 bit
entries counter for the number of addresses.
These addresses are read into tail portion of
a fixed macs array which has size MAC_TABLE_ENTRIES,
at offset equal to in_use.
To avoid overflow of this array by guest, qemu attempts
to test the size as follows:
- if (in_use + mac_data.entries <= MAC_TABLE_ENTRIES) {
however, as mac_data.entries is uint32_t, this sum
can overflow, e.g. if in_use is 1 and mac_data.entries
is 0xffffffff then in_use + mac_data.entries will be 0.
Qemu will then read guest supplied buffer into this
memory, overflowing buffer on heap.
CVE-2014-0150
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1397218574-25058-1-git-send-email-mst@xxxxxxxxxx
Reviewed-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 21e2db72601c48fa593ef7187faf17f324d925c5
Merge: 80fc7b1 5450466
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 11 14:07:24 2014 +0100
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches for 2.0.0-rc3
# gpg: Signature made Fri 11 Apr 2014 13:37:34 BST using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
block-commit: speed is an optional parameter
iscsi: Remember to set ret for iscsi_open in error case
bochs: Fix catalog size check
bochs: Fix memory leak in bochs_open() error path
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 80fc7b1755492a3698f78f7c4973751f6cf02e14
Merge: f516a5c 2d968ff
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 11 13:51:15 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-sdl-1' into staging
sdl2 relative mouse mode fixes.
# gpg: Signature made Fri 11 Apr 2014 11:36:46 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-sdl-1:
input: sdl2: Fix relative mode to match SDL1 behavior
input: sdl2: Fix guest_cursor logic
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5450466394c95cea8b661fb197ed215a4ab5d700
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Apr 10 19:36:25 2014 +0200
block-commit: speed is an optional parameter
As speed is an optional parameter for the QMP block-commit command, it
should be set to 0 if not given (as it is undefined if has_speed is
false), that is, the speed should not be limited.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cd82b6fb4daf87f17742f7971ba6cb90d23e6703
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Apr 10 09:33:55 2014 +0800
iscsi: Remember to set ret for iscsi_open in error case
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 715c3f60efa9801a777a71cd06eaf8efa7eaa2a8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 9 12:10:34 2014 +0200
bochs: Fix catalog size check
The old check was off by a factor of 512 and didn't consider cases where
we don't get an exact division. This could lead to an out-of-bounds
array access in seek_to_sector().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 28ec11bc882387e51c7450558af5a49b8be95a36
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Apr 9 11:19:04 2014 +0200
bochs: Fix memory leak in bochs_open() error path
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 2d968ffbae6b7899064f9f86f8508d9c19021e39
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Apr 1 16:37:11 2014 -0400
input: sdl2: Fix relative mode to match SDL1 behavior
Right now relative mode accelerates too fast, and has the 'invisible wall'
problem. SDL2 added an explicit API to handle this use case, so let's use
it.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit afbc0dd649809b34583c52f2bc99b5c82c06fd53
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Apr 1 16:37:10 2014 -0400
input: sdl2: Fix guest_cursor logic
Unbreaks relative mouse mode with sdl2, just like was done with sdl.c
in c3aa84b6.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f516a5cc051db6e999e9e60dc968dcb5aeffe11f
Merge: 0a9077e 7754784
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 10 23:07:55 2014 +0100
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi: DSDT update
Two fixes here:
- Test fix to avoid warning with make check.
- Hex file update so people building QEMU
without installing iasl get exactly the same ACPI
as with.
Both should help avoid user confusion.
As it's very easy to check that the produced ACPI
binary didn't change, I think these are very low risk.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Thu 10 Apr 2014 17:09:43 BST using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
acpi: update generated hex files
tests/acpi: update expected DSDT files
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a9077ea144a7e6a6f456b94e2d2eaad21e74d34
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Apr 9 12:04:47 2014 +0100
configure: use do_cc when checking for -fstack-protector support
MacOSX clang silently swallows unrecognized -f options when doing a link
with '-framework' also on the command line, so to detect support for
the various -fstack-protector options we must do a plain .c to .o compile,
not a complete compile-and-link.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1397041487-28477-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 775478418a5244b28ce891e398e0232dc4e60b43
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Apr 10 19:03:18 2014 +0300
acpi: update generated hex files
commit f2ccc311df55ec026a8f8ea9df998f26314f22b2
dsdt: tweak ACPI ID for hotplug resource device
changes the DSDT, update hex files to match
Otherwise the fix is only effective if QEMU is built
with iasl.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 50329d3418c959ebce63c59d4c21473ac102d88f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Apr 9 17:47:07 2014 +0300
tests/acpi: update expected DSDT files
commit f2ccc311df55ec026a8f8ea9df998f26314f22b2
dsdt: tweak ACPI ID for hotplug resource device
changes the DSDT, update test expected files to match
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit efcc87d9aedb590b8506cd1a7c8abe557c760f9e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 18:52:06 2014 +0100
Update version for v2.0.0-rc2 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7dc176bce49c61551b513508def136d5bb632b72
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 16:51:11 2014 +0100
hw/pci-host/prep: Don't reverse IO accesses on bigendian hosts
The raven_io_read() and raven_io_write() functions pass and
return values in little-endian format (since the IO op struct
is marked DEVICE_LITTLE_ENDIAN); however they were storing the
values in the buffer to pass to address_space_read/write()
in host-endian order, which meant that on big-endian hosts
the values were inadvertently reversed. Use the *_le_p()
accessors instead so that we are consistent regardless of
host endianness.
Strictly speaking the byte order of the buffer for
address_space_rw() is target byte order (which for PPC
will be BE) but it doesn't actually matter as long as we
are consistent about the marking on the IO op struct and
which stl_*_p().
This bug was probably introduced due to confusion caused by
the two different versions of ldl_p() and friends:
bswap.h defines versions meaning "host endianness access"
cpu-all.h defines versions meaning "target endianness access"
As a target-independent source file prep.c gets the bswap.h
versions; the very similar looking code in ioport.c is
compiled per-target and gets the cpu-all.h versions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1396972271-22660-1-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9bc1a1d817670702f642633a325da346047f7508
Merge: 093de72 f2ccc31
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 13:59:28 2014 +0100
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi bug fix
Here is a single last minute fix for 2.0
This changes the HID of the container used to claim
resources for CPU hotplug.
As a result, windows XP SP3 no longer brings up
an annoying "found new hardware" wizard on boot.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 08 Apr 2014 13:23:30 BST using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
dsdt: tweak ACPI ID for hotplug resource device
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f2ccc311df55ec026a8f8ea9df998f26314f22b2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Apr 6 12:47:37 2014 +0300
dsdt: tweak ACPI ID for hotplug resource device
ACPI0004 seems too new:
Windows XP complains about an unrecognized device.
This is a regression since 1.7.
Use PNP0A06 instead - Generic Container Device.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-By: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 093de72b9c226fe007f330c70a0d4ccb0baec17d
Merge: 9a4fb6a 800b0e8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 13:05:25 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-5' into staging
gtk: Implement grab-on-click behavior in relative mode
# gpg: Signature made Tue 08 Apr 2014 12:58:49 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-gtk-5:
gtk: Implement grab-on-click behavior in relative mode
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 800b0e814bef7cd14ae2bce149c09d70676e93fb
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Tue Apr 8 11:26:45 2014 +0200
gtk: Implement grab-on-click behavior in relative mode
This patch changes the behavior in the relative mode to be compatible
with other UIs, namely, grabbing the input at the first left click.
It improves the usability a lot; otherwise you have to press ctl-alt-G
or select from menu at each time you want to move the pointer. Also,
the input grab is cleared when the current mode is switched to the
absolute mode.
The automatic reset of the implicit grabbing is needed since the
switching to the absolute mode happens always after the click even on
Gtk. That is, we cannot check whether the absolute mode is already
available at the first click time even though it should have been
switched in X11 input driver side.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9a4fb6aa19d1aa8dfb3abb6210734b1a1df9e322
Merge: e792933 06f6e12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 10:58:31 2014 +0100
Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream'
into staging
Patch queue for ppc - 2014-04-08
This is the final queue for 2.0! It fixes a lot of bugs people have
seen during testing:
- Fix e500 SMP
- Fix book3s_64 DEC
- Fix VSX (new feature in 2.0) for LE hosts
- Fix PR KVM on top of pHyp (SLOF update)
# gpg: Signature made Tue 08 Apr 2014 10:24:18 BST using RSA key ID
03FEDC60
# gpg: Can't check signature: public key not found
* remotes/agraf/tags/signed-ppc-for-upstream:
PPC: Add l1 cache sizes for 970 and above systems
ppce500_spin: Initialize struct properly
PPC: Only enter MSR_POW when no interrupts pending
PPC: Clean up DECR implementation
target-ppc: Correct VSX Integer to FP Conversion
target-ppc: Correct VSX FP to Integer Conversion
target-ppc: Correct VSX FP to FP Conversions
target-ppc: Correct VSX Scalar Compares
target-ppc: Correct Simple VSR LE Host Inversions
target-ppc: Correct LE Host Inversion of Lower VSRs
target-ppc: Define Endian-Correct Accessors for VSR Field Access
target-ppc: Bug: VSX Convert to Integer Should Truncate
softfloat: Introduce float32_to_uint64_round_to_zero
pseries: Update SLOF firmware image to qemu-slof-20140404
PPC: E500: Set PIR default reset value rather than SPR value
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e792933ce1a9229d01b00f02caa39c39c30bcce8
Merge: 55519a4 9854202
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 8 10:41:30 2014 +0100
Merge remote-tracking branch 'remotes/mdroth/qga-pull-2014-4-7' into
staging
* remotes/mdroth/qga-pull-2014-4-7:
vss-win32: Fix build with mingw64-headers-3.1.0
Makefile: add qga-vss-dll-obj-y to nested variables
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 06f6e12491fd767b3b23573c438f925f6092e897
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Apr 8 01:42:53 2014 +0200
PPC: Add l1 cache sizes for 970 and above systems
Book3s_64 guests expect the L1 cache size in device tree, so let's give
them proper values for all CPU types we support.
This fixes a "not compliant" warning with sles11 guests on -M pseries for
me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a2b3d89fa49ec060db646d196864a8fd15c10cf
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Apr 7 16:48:42 2014 +0200
ppce500_spin: Initialize struct properly
The spinning struct is in guest endianness, so we need to initialize
its variables in guest endianness too.
This fixes booting e500 guests with SMP on x86 for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 05edc26c61d416831822b3186df099e8e21745b9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Apr 6 22:40:47 2014 +0200
PPC: Only enter MSR_POW when no interrupts pending
We were entering the power saving state even when interrupts (like an
external interrupt or a decrementer interrupt) were still in flight.
In case we find a pending interrupt, don't enter power saving state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Tom Musta <tmusta@xxxxxxxxx>
commit e81a982aa5398269a2cc344091ffa4930bdd242f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Apr 6 01:32:06 2014 +0200
PPC: Clean up DECR implementation
There are 3 different variants of the decrementor for BookE and BookS.
The BookE variant sets TSR[DIS] to 1 when the DEC value becomes 1 or 0.
TSR[DIS]
is then the indicator whether the decrementor interrupt line is asserted
or not.
The old BookS variant treats DEC as an edge interrupt that gets triggered
when
the DEC value's top bit turns 1 from 0.
The new BookS variant maintains the assertion bit inside DEC itself.
Whenever
the DEC value becomes negative (top bit set) the DEC interrupt line is
asserted.
So far we implemented mostly the old BookS variant. Let's do them all
properly.
This fixes booting pseries ppc64 guest images in TCG mode for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6cd7db3d92d44344d75feb432e3ece8587e1afd4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:03 2014 -0500
target-ppc: Correct VSX Integer to FP Conversion
This patch corrects the VSX integer to floating point conversion
instructions
by using the endian correct accessors. The auxiliary "j" index used by
the
existing macros is now obsolete and is removed. The JOFFSET preprocessor
macro is also obsolete and removed.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d1dec5ef550802f76ffb8cdec50e6d50467e877e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:02 2014 -0500
target-ppc: Correct VSX FP to Integer Conversion
This patch corrects the VSX floating point to integer conversion
instructions by using the endian correct accessors. The auxiliary
"j" index used by the existing macros is now obsolete and is removed.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6bbad7a91efe49b080391a45bc6305449050465a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:01 2014 -0500
target-ppc: Correct VSX FP to FP Conversions
This change corrects the VSX double precision to single precision and
single precision to double precisions conversion routines. The endian
correct accessors are now used. The auxiliary "j" index is no longer
necessary and is eliminated.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 50fc89e7b1a2837a2d92025aa2ed161d8439743b
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:04:00 2014 -0500
target-ppc: Correct VSX Scalar Compares
This change fixes the VSX scalar compare instructions. The existing
usage of "x.f64[0]"
is changed to "x.VsrD(0)".
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bcb7652e8dd185f2acc36fd2b9eb7b6dffcc8c47
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:59 2014 -0500
target-ppc: Correct Simple VSR LE Host Inversions
A common pattern in the VSX helper code macros is the use of "x.fld[i]"
where
"x" is a VSR and "fld" is an argument to a macro ("f64" or "f32" is
passed).
This is not always correct on LE hosts.
This change addresses all instances of this pattern to be "x.fld" where
"fld" is:
- "VsrD(0)" for scalar instructions accessing 64-bit numbers
- "VsrD(i)" for vector instructions accessing 64-bit numbers
- "VsrW(i)" for vector instructions accessing 32-bit numbers
Note that there are no instances of this pattern where a scalar
instruction
accesses a 32-bit number.
Note also that it would be correct to use "VsrD(i)" for scalar
instructions since
the loop index is only ever "0". I have choosen to use "VsrD(0)" instead
... it
seems a little clearer.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d359db00e6dfaf12cbdedd30e36f879110d4f9d1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:58 2014 -0500
target-ppc: Correct LE Host Inversion of Lower VSRs
This change properly orders the doublewords of the VSRs 0-31. Because
these
registers are constructed from separate doublewords, they must be inverted
on Little Endian hosts. The inversion is performed both when the VSR is
read
and when it is written.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 80189035de73f30e42a7f933c45cccfc4b0c56e9
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:57 2014 -0500
target-ppc: Define Endian-Correct Accessors for VSR Field Access
This change defines accessors for VSR doubleword and word fields that
are correct from a host Endian perspective. This allows code to
use the Power ISA indexing numbers in code.
For example, the xscvdpsxws instruction has a target VSR that looks
like this:
0 32 64 127
+-----------+--------+-----------+-----------+
| undefined | SW | undefined | undefined |
+-----------+--------+-----------+-----------+
VSX helper code will use VsrW(1) to access this field.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0453099b7d20c9fc2946ed74f1d965ae4d173d19
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:56 2014 -0500
target-ppc: Bug: VSX Convert to Integer Should Truncate
The various VSX Convert to Integer instructions should truncate the
floating point number to an integer value, which is equivalent to
a round-to-zero rounding mode. The existing VSX floating point to
integer conversion helpers are erroneously using the rounding mode set
int the PowerPC Floating Point Status and Control Register (FPSCR).
This change corrects this defect by using the appropriate
float*_to_*_round_to_zero() routines fro the softfloat library.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a13d44896854329581ba48607d66c6b2aec157f7
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Mar 31 16:03:55 2014 -0500
softfloat: Introduce float32_to_uint64_round_to_zero
This change adds the float32_to_uint64_round_to_zero function to the
softfloat
library. This function fills out the complement of float32 to INT
round-to-zero
conversion rountines, where INT is {int32_t, uint32_t, int64_t, uint64_t}.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3636226ae45a9b04af5202a18f445680c88473e7
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Apr 4 11:57:35 2014 +1100
pseries: Update SLOF firmware image to qemu-slof-20140404
The change log is:
> Isolate sc 1 detection logic
> build: auto-detect ppc64 architecture
> cas: increase hcall buffer size to accomodate 256 cpus
> usb: change device tree naming
> usb-core: adjust port numbers in set_address
> virtio-scsi: correct srplun comment
> Fix kernel loading
> Workaround to make grub2 assign server ip from dhcp ack packet only
> ELF: Enter LE binary in LE mode
> ELF loading should fail for virt != phys
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a450df9b8369c0cff7a1d6774d56f0862abd4e3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Apr 3 20:45:27 2014 +0200
PPC: E500: Set PIR default reset value rather than SPR value
We now reset SPRs to their reset values on CPU reset. So if we want
to have an SPR persistently changed, we need to change its default
reset value rather than the value itself manually.
Do this for SPR_BOOKE_PIR, fixing e500v2 SMP boot.
Reported-by: Frederic Konrad <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Tested-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
commit 9854202b57e0ac197cf2bee3d7fbf79ba58f16c5
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Mar 26 14:28:51 2014 -0400
vss-win32: Fix build with mingw64-headers-3.1.0
In mingw64-headers-3.1.0, definition of _com_issue_error() is added, which
conflicts with definition in install.cpp. This adds version checking for
mingw headers to disable the definition when the headers>=3.1 is used.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 577a67234dd7bef8b0443804f3a81977072f8657
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Mar 26 14:28:45 2014 -0400
Makefile: add qga-vss-dll-obj-y to nested variables
The build rule for qga/vss-win32/qga-vss.dll is broken by commit
ba1183da9a10b94611cad88c44a5c6df005f9b55, because it misses
qga-vss-dll-obj-y in the list of nested variables.
This fixes build of qga-vss.dll by adding qga-vss-dll-obj-y to the list.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 55519a4b244e4822774b593e36647ecf7598286b
Merge: 9c269f6 f85e345
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 7 17:57:23 2014 +0100
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* Relicensing of FWPathProvider interface
* Clean up all targets' qtests
# gpg: Signature made Mon 07 Apr 2014 17:56:13 BST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
tests: Update check-clean rule
fw-path-provider: Change GPL version to 2+
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f85e3457cea170b5a0c48e9aa67d316f9e3cbcba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Apr 7 18:33:22 2014 +0200
tests: Update check-clean rule
Only i386, x86_64, sparc and sparc64 qtests were cleaned up.
Make this more generic to not miss any newly tested targets.
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c269f6d7bfb81cbbf501576b979831478dac5d9
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Apr 5 18:25:46 2014 +0400
Makefile: remove bashism
When installing modules (when --enable-modules is specified for
./configure), Makefile uses the following construct to replace all
slashes with dashes in module name:
${s//\//-}
This is a bash-specific substitution mechanism. POSIX does not
have it, and some operating systems (for example Debian) does not
implement this construct in default shell (for example dash).
Use more traditional way to perform the substitution: use `tr' tool.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Message-id: 1396707946-21351-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dffacd4654ec8bf2898aed230852154c6ed755ed
Author: Don Slutz <dslutz@xxxxxxxxxxx>
Date: Tue Mar 18 12:29:34 2014 -0400
char/serial: Fix emptyness handling
The commit 88c1ee73d3231c74ff90bcfc084a7589670ec244
char/serial: Fix emptyness check
Still causes extra NULL byte(s) to be sent.
So if the fifo is empty, do not send an extra NULL byte.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx>
Message-id: 1395160174-16006-1-git-send-email-dslutz@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 20c50a955fdf02b02f8c75533f456e3fbdf13de1
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Mar 27 01:13:02 2014 +1100
fw-path-provider: Change GPL version to 2+
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bd7ce902ab2b5e4f5cd53e1e032d89789b6932a8
Merge: e20c016 dc491cf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 7 12:48:34 2014 +0100
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-6' into
staging
spice: monitors_config: check pointer before dereferencing
# gpg: Signature made Mon 07 Apr 2014 11:19:19 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-6:
spice: monitors_config: check pointer before dereferencing
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e20c016e322e0c977ab332322c3a882c119eb1d4
Merge: 466e6e9 25eccc3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Apr 7 12:27:10 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-4' into staging
gtk: pointer fixes from Takashi Iwai.
# gpg: Signature made Mon 07 Apr 2014 09:51:52 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-gtk-4:
ui: Update MAINTAINERS entry.
gtk: Remember the last grabbed pointer position
gtk: Fix the relative pointer tracking mode
gtk: Use gtk generic event signal instead of motion-notify-event
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dc491cfc14074064ed54a872b62cce6ca1330644
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Apr 7 12:15:44 2014 +0200
spice: monitors_config: check pointer before dereferencing
Reported-by: Fabio Fantoni <fabio.fantoni@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 25eccc37ff91254efdd123f5dafb37526a83a990
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Apr 7 10:42:03 2014 +0200
ui: Update MAINTAINERS entry.
With Amazon eating Anthonys time status "Maintained" certainly isn't
true any more. Update entry accordingly.
Also add myself, so scripts/get_maintainer.pl will Cc: me, to reduce
the chance ui patches fall through the cracks on our pretty loaded
qemu-devel mailing list.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ecce1929bcb0d8f4efde39df5ceb1aac42df75d4
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 4 12:41:23 2014 +0200
gtk: Remember the last grabbed pointer position
It's pretty annoying that the pointer reappears at a random place once
after grabbing and ungrabbing the input. Better to restore to the
original position where the pointer was grabbed.
Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587
Tested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e61031cdd81826c433a8bbfa3aca2bae4ffaf845
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 4 12:41:22 2014 +0200
gtk: Fix the relative pointer tracking mode
The relative pointer tracking mode was still buggy even after the
previous fix of the motion-notify-event since the events are filtered
out when the pointer moves outside the drawing window due to the
boundary check for the absolute mode.
This patch fixes the issue by moving the unnecessary boundary check
into the if block of absolute mode, and keep the coordinate in the
relative mode even if it's outside the drawing area. But this makes
the coordinate (last_x, last_y) possibly pointing to (-1,-1),
introduce a new flag to indicate the last coordinate has been
updated.
Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587
Tested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0d0e044dee0ed59628bb093a5be03528d6bde445
Author: Takashi Iwai <tiwai@xxxxxxx>
Date: Fri Apr 4 12:41:21 2014 +0200
gtk: Use gtk generic event signal instead of motion-notify-event
The GDK motion-notify-event isn't generated when the pointer goes out
of the target window even if the pointer is grabbed, which essentially
means to lose the pointer tracking in gtk-ui.
Meanwhile the generic "event" signal is sent when the pointer is
grabbed, so we can use this and pick the motion notify events manually
there instead.
Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587
Tested-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 466e6e9d13d56bbb6da1d2396d7d6347df483af0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 17:33:02 2014 +0200
target-i386: reorder fields in cpu/msr_hyperv_hypercall subsection
The subsection already exists in one well-known enterprise Linux
distribution, but for some strange reason the fields were swapped
when forward-porting the patch to upstream.
Limit headaches for said enterprise Linux distributor when the
time will come to rebase their version of QEMU.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1396452782-21473-1-git-send-email-pbonzini@xxxxxxxxxx
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8ae60ee85ceaea6bfc4c62fb8ed180a1ba8010a5
Merge: bae2c27 54bee5c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Apr 5 00:18:19 2014 +0100
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches for 2.0.0
# gpg: Signature made Fri 04 Apr 2014 20:25:08 BST using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
dataplane: replace iothread object_add() with embedded instance
iothread: make IOThread struct definition public
dma-helpers: Initialize DMAAIOCB in_cancel flag
block: Check bdrv_getlength() return value in
bdrv_append_temp_snapshot()
block: Fix snapshot=on for protocol parsed from filename
qemu-iotests: Remove CR line endings in reference output
block: Don't parse 'filename' option
qcow2: Put cache reference in error case
qcow2: Flush metadata during read-only reopen
iscsi: Don't set error if already set in iscsi_do_inquiry
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 54bee5c2b487250dcb8631ddff4307f329ec0541
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 20 15:06:32 2014 +0100
dataplane: replace iothread object_add() with embedded instance
Before IOThread was its own object, each virtio-blk device would create
its own internal thread. We need to preserve this behavior for
backwards compatibility when users do not specify -device
virtio-blk-pci,iothread=<id>.
This patch changes how the internal IOThread object is created.
Previously we used the monitor object_add() function, which is really a
layering violation. The problem is that this needs to assign a name but
we don't have a name for this internal object.
Generating names for internal objects is a pain but even worse is that
they may collide with user-defined names.
Paolo Bonzini <pbonzini@xxxxxxxxxx> suggested that the internal IOThread
object should not be named. This way the conflict cannot happen and we
no longer need object_add().
One gotcha is that internal IOThread objects will not be listed by the
query-iothreads command since they are not named. This is okay though
because query-iothreads is new and the internal IOThread is just for
backwards compatibility. New users should explicitly define IOThread
objects.
Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8c2664d86917c987944f1ca9770d1f7bbbf8eca8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 20 15:06:31 2014 +0100
iothread: make IOThread struct definition public
Make the IOThread struct definition public so objects can be embedded in
parent structs.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4d1cb6e6f51b0d8405f701806a203a73e7431fe5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 28 14:22:49 2014 +0000
dma-helpers: Initialize DMAAIOCB in_cancel flag
Initialize the dbs->in_cancel flag in dma_bdrv_io(), since qemu_aio_get()
does not return zero-initialized memory. Spotted by the clang sanitizer
(which complained when the value loaded in dma_complete() was not valid
for a bool type); this might have resulted in leaking the AIO block.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f187743acd39747cc8cc32111518142c924963b9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Apr 4 17:07:19 2014 +0200
block: Check bdrv_getlength() return value in bdrv_append_temp_snapshot()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit b998875dcf2b21678cffa8b9a83c09930523861f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 12:09:34 2014 +0200
block: Fix snapshot=on for protocol parsed from filename
Since commit 9fd3171a, BDRV_O_SNAPSHOT uses an option QDict to specify
the originally requested image as the backing file of the newly created
temporary snapshot. This means that the filename is stored in
"file.filename", which is an option that is not parsed for protocol
names. Therefore things like -drive file=nbd:localhost:10809 were
broken because it looked for a local file with the literal name
'nbd:localhost:10809'.
This patch changes the way BDRV_O_SNAPSHOT works once again. We now open
the originally requested image as normal, and then do a similar
operation as for live snapshots to put the temporary snapshot on top.
This way, both driver specific options and parsed filenames work.
As a nice side effect, this results in code movement to factor
bdrv_append_temp_snapshot() out. This is a good preparation for moving
its call to drive_init() and friends eventually.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit bae2c270906475093e3d5f4c3103dbe67bf82009
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 4 17:42:56 2014 +0100
cpu-exec: Unlock tb_lock if we longjmp out of code generation
If the guest attempts to execute from unreadable memory, this will
cause us to longjmp back to the main loop from inside the
target frontend decoder. For linux-user mode, this means we will
still hold the tb_ctx.tb_lock, and will deadlock when we try to
start executing code again. Unlock the lock in the return-from-longjmp
code path to avoid this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andrei Warkentin <andrey.warkentin@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd7ccc83512a0cba5aa0c778e7507f267cfb1b16
Author: Andrei Warkentin <andrey.warkentin@xxxxxxxxx>
Date: Fri Apr 4 17:42:55 2014 +0100
page_check_range: don't bail out early after unprotecting page
When checking a page range, if we found that a page was
made read-only by QEMU because it contained translated code,
we were incorrectly returning immediately after unprotecting
that page, rather than continuing to check the entire range,
so we might fail to unprotect pages later in the range, or
might incorrectly return a "success" result even if later
pages were not writable.
In particular, this could cause segfaults in a case where
signals are delivered back to back on a target architecture
which uses trampoline code in the stack frame (as AArch64
currently does). The second signal causes a segfault because
the frame cannot be written to (it was protected because
we translated and executed the restorer trampoline, and the
unprotect logic did not unprotect the whole range).
Signed-off-by: Andrei Warkentin <andrey.warkentin@xxxxxxxxx
[PMM: expanded commit message a bit]
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d097696eba076da781967827e59f66a7857c8ecb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 4 17:42:34 2014 +0100
hw/arm/vexpress, hw/arm/highbank: Don't insist that CPU has reset-cbar
property
For the machine models which can have a Cortex-A15 CPU (vexpress-a15 and
midway), silently continue if the CPU object has no reset-cbar property
rather than failing. This allows these boards to be used under KVM with
the "-cpu host" option, since the 'host' CPU object has no reset-cbar
property.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Rob Herring <rob.herring@xxxxxxxxxx>
commit 3b418d0c45fccd850f9ad9eb4bf9bdcd96b8e6f7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Apr 4 17:42:33 2014 +0100
hw/arm/highbank: Don't segfault on unknown CPU names
If the user passes an unknown CPU name via the '-cpu' option, exit
with an error message rather than segfaulting.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Rob Herring <rob.herring@xxxxxxxxxx>
commit cd40890816a40ba70d4cd2107629a417f0f3c648
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 12:48:38 2014 +0200
qemu-iotests: Remove CR line endings in reference output
qemu doesn't print these CRs any more. The test still didn't fail
because the output comparison ignores line endings, but the change turns
up each time when you want to update the output.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit e3fa4bfa72d5037bfc1de95cf243d8c57e38f5da
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 12:45:51 2014 +0200
block: Don't parse 'filename' option
When using the QDict option 'filename', it is supposed to be interpreted
literally. The code did correctly avoid guessing the protocol from any
string before the first colon, but it still called bdrv_parse_filename()
which would, for example, incorrectly remove a 'file:' prefix in the
raw-posix driver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 8885eadedd0ea8b57c1baa367ee2c2d616700bd9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 17:44:59 2014 +0100
qcow2: Put cache reference in error case
When qcow2_get_cluster_offset() sees a zero cluster in a version 2
image, it (rightfully) returns an error. But in doing so it shouldn't
leak an L2 table cache reference.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 4c2e5f8f46a17966dc45b5a3e07b97434c0eabdf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Apr 3 13:47:50 2014 +0200
qcow2: Flush metadata during read-only reopen
If lazy refcounts are enabled for a backing file, committing to this
backing file may leave it in a dirty state even if the commit succeeds.
The reason is that the bdrv_flush() call in bdrv_commit() doesn't flush
refcount updates with lazy refcounts enabled, and qcow2_reopen_prepare()
doesn't take care to flush metadata.
In order to fix this, this patch also fixes qcow2_mark_clean(), which
contains another ineffective bdrv_flush() call beause lazy refcounts are
disabled only afterwards. All existing callers of qcow2_mark_clean()
either don't modify refcounts or already flush manually, so that this
fixes only a latent, but not yet actually triggerable bug.
Another instance of the same problem is live snapshots. Again, a real
corruption is prevented by an explicit flush for non-read-only images in
external_snapshot_prepare(), but images using lazy refcounts stay dirty.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cbee81f6de57ddc1b21ba28f01f6a3b5d87428a5
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Apr 4 19:53:29 2014 +0800
iscsi: Don't set error if already set in iscsi_do_inquiry
This eliminates the possible assertion failure in error_setg().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5913815a17387a5e9825c734ccab760588471ee5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 3 15:51:01 2014 +0100
Update version for v2.0.0-rc1 release
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 888157fe96f68488efcdf50cbdb6f72291ab903e
Merge: de03c31 d25295d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 3 14:31:20 2014 +0100
Merge remote-tracking branch 'remotes/riku/for-2.0' into staging
* remotes/riku/for-2.0:
linux-user: pass correct host flags to accept4()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit de03c3164accc21311c39327601fcdd95da301f3
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Apr 2 16:06:38 2014 +0200
bswap: Fix build on FreeBSD 10.0
FreeBSD 10.0-RELEASE has bswap16() etc. macros defined in sys/endian.h,
which leads to a conflict with our static inline definitions.
Force using the system version of the macros.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Tested-by: Ed Maste <emaste@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 87d8354de3560eb705bcee83142d775f703177a6
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Apr 2 11:41:58 2014 +0200
PPC: openpic_kvm: Filter memory events properly
Commit 6f1834a2b exposed a bug in openpic_kvm where we don't filter
for memory events that only happen to the region we want to know
events about.
Add proper filtering, fixing the e500plat target with KVM.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1396431718-14908-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 784a5592c9e7721d9035a83570f09a286cf75284
Merge: 97891af c97ca29
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Apr 3 12:24:35 2014 +0100
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
iscsi: always query max WRITE SAME length
iscsi: ignore flushes on scsi-generic devices
iscsi: recognize "invalid field" ASCQ from WRITE SAME command
scsi-bus: remove bogus assertion
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 97891afab801a31dc65e265ff9210a951b952e76
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Apr 2 23:31:11 2014 -0700
MAINTAINERS: Update Peter Crosthwaite's email
Change over to my proper Xilinx email. s/petalogix.com/xilinx.com.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cdff0c388c70df06217c467dcfb89267b7911feb.1396506607.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c97ca29db0a68deb281a901f535cec5ea4862244
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 15:30:29 2014 +0200
iscsi: always query max WRITE SAME length
Max WRITE SAME length is also used when the UNMAP bit is zero, so it
should be queried even if LBPWS=0. Same for the optimal transfer
length.
However, the write_zeroes_alignment only matters for UNMAP=1 so we
still restrict it to LBPWS=1.
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b2f9c08a4f11f16ec101e95feab8e71d7cfcfee9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 15:04:41 2014 +0200
iscsi: ignore flushes on scsi-generic devices
Non-block SCSI devices do not support flushing, but we may still send
them requests via bdrv_flush_all. Just ignore them.
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 27898a5daa4c6d28adb32b401a011d7198494482
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 12:12:50 2014 +0200
iscsi: recognize "invalid field" ASCQ from WRITE SAME command
Some targets may return "invalid field" as the ASCQ from WRITE SAME
if they support the command only without the UNMAP field. Recognize
that, and return ENOTSUP just like for "invalid operation code".
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d581eb7ca4b58649ade5fb7570ecf6b4b9a41879
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Apr 2 13:24:23 2014 +0200
scsi-bus: remove bogus assertion
This assertion is invalid, because get_sg_list can return an
empty sg-list even for commands that transfer no data (such
as SYNCHRONIZE CACHE).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 82c6f513735297ad76acaaf2e87f0c5a0b3647a7
Merge: 53e11bd 9bcec93
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 1 20:45:42 2014 +0100
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request'
into staging
Tracing pull request
# gpg: Signature made Tue 01 Apr 2014 19:08:48 BST using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
* remotes/stefanha/tags/tracing-pull-request:
trace: add workaround for SystemTap PR13296
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9bcec938aab22a1b7ced916a6895e5029d4ed04f
Author: Frank Ch. Eigler <fche@xxxxxxxxxx>
Date: Tue Mar 25 13:08:30 2014 +0100
trace: add workaround for SystemTap PR13296
SystemTap sdt.h sometimes results in compiled probes without sufficient
information to extract arguments. This can be solved in a slightly
hacky way by encouraging the compiler to place arguments into registers.
This patch fixes the apic_reset_irq_delivered() trace event on Fedora 20
with gcc-4.8.2-7.fc20 and systemtap-sdt-devel-2.4-2.fc20 on x86_64.
Signed-off-by: Frank Ch. Eigler <fche@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 53e11bd384a799c03884bd7d8b5be53f025f8e2d
Merge: 507979a c792707
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 1 18:23:28 2014 +0100
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Tue 01 Apr 2014 18:11:16 BST using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
* remotes/stefanha/tags/block-pull-request: (51 commits)
qcow2: link all L2 meta updates in preallocate()
parallels: Sanity check for s->tracks (CVE-2014-0142)
parallels: Fix catalog size integer overflow (CVE-2014-0143)
qcow2: Limit snapshot table size
qcow2: Check maximum L1 size in qcow2_snapshot_load_tmp()
(CVE-2014-0143)
qcow2: Fix L1 allocation size in qcow2_snapshot_load_tmp()
(CVE-2014-0145)
qcow2: Fix NULL dereference in qcow2_open() error path (CVE-2014-0146)
qcow2: Fix copy_sectors() with VM state
block: Limit request size (CVE-2014-0143)
block: vdi bounds check qemu-io tests
dmg: prevent chunk buffer overflow (CVE-2014-0145)
dmg: use uint64_t consistently for sectors and lengths
dmg: sanitize chunk length and sectorcount (CVE-2014-0145)
dmg: use appropriate types when reading chunks
dmg: drop broken bdrv_pread() loop
dmg: prevent out-of-bounds array access on terminator
dmg: coding style and indentation cleanup
qcow2: Fix new L1 table size check (CVE-2014-0143)
qcow2: Protect against some integer overflows in bdrv_check
qcow2: Fix types in qcow2_alloc_clusters and alloc_clusters_noref
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 507979a8bda895d56d02112907ccbca753dbbdce
Merge: 95224e8 bdcc3a2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Apr 1 16:58:04 2014 +0100
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-7' into
staging
input bugfixes for 2.0
# gpg: Signature made Tue 01 Apr 2014 10:16:43 BST using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-7:
input: add sanity check
input: mouse_set should check input device type.
input: fix input_event_key_number trace event
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c792707f54aa445cfb63a42411c66594b52b8f79
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 1 11:12:57 2014 +0200
qcow2: link all L2 meta updates in preallocate()
preallocate() only links the first QCowL2Meta's data clusters into the
L2 table and ignores any chained QCowL2Metas in the linked list.
Chains of QCowL2Meta structs are built up when contiguous clusters span
L2 tables. Each QCowL2Meta describes one L2 table update. This is a
rare case in preallocate() but can happen.
This patch fixes preallocate() by iterating over the whole list of
QCowL2Metas. Compare with the qcow2_co_writev() function's
implementation, which is similar but also also handles request
dependencies. preallocate() only performs one allocation at a time so
there can be no dependencies.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9302e863aa8baa5d932fc078967050c055fa1a7f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:09 2014 +0100
parallels: Sanity check for s->tracks (CVE-2014-0142)
This avoids a possible division by zero.
Convert s->tracks to unsigned as well because it feels better than
surviving just because the results of calculations with s->tracks are
converted to unsigned anyway.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit afbcc40bee4ef51731102d7d4b499ee12fc182e1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:08 2014 +0100
parallels: Fix catalog size integer overflow (CVE-2014-0143)
The first test case would cause a huge memory allocation, leading to a
qemu abort; the second one to a too small malloc() for the catalog
(smaller than s->catalog_size), which causes a read-only out-of-bounds
array access and on big endian hosts an endianess conversion for an
undefined memory area.
The sample image used here is not an original Parallels image. It was
created using an hexeditor on the basis of the struct that qemu uses.
Good enough for trying to crash the driver, but not for ensuring
compatibility.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5dae6e30c531feb31eed99f9039b52bf70832ce3
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:07 2014 +0100
qcow2: Limit snapshot table size
Even with a limit of 64k snapshots, each snapshot could have a filename
and an ID with up to 64k, which would still lead to pretty large
allocations, which could potentially lead to qemu aborting. Limit the
total size of the snapshot table to an average of 1k per entry when
the limit of 64k snapshots is fully used. This should be plenty for any
reasonable user.
This also fixes potential integer overflows of s->snapshot_size.
Suggested-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a83f8b5bec6f59e56cc49bd49e4c3f8f805d56f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:06 2014 +0100
qcow2: Check maximum L1 size in qcow2_snapshot_load_tmp() (CVE-2014-0143)
This avoids an unbounded allocation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c05e4667be91b46ab42b5a11babf8e84d476cc6b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:05 2014 +0100
qcow2: Fix L1 allocation size in qcow2_snapshot_load_tmp() (CVE-2014-0145)
For the L1 table to loaded for an internal snapshot, the code allocated
only enough memory to hold the currently active L1 table. If the
snapshot's L1 table is actually larger than the current one, this leads
to a buffer overflow.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11b128f4062dd7f89b14abc8877ff20d41b28be9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:04 2014 +0100
qcow2: Fix NULL dereference in qcow2_open() error path (CVE-2014-0146)
The qcow2 code assumes that s->snapshots is non-NULL if s->nb_snapshots
!= 0. By having the initialisation of both fields separated in
qcow2_open(), any error occuring in between would cause the error path
to dereference NULL in qcow2_free_snapshots() if the image had any
snapshots.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6b7d4c55586a849aa8313282d79432917eade3bf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:03 2014 +0100
qcow2: Fix copy_sectors() with VM state
bs->total_sectors is not the highest possible sector number that could
be involved in a copy on write operation: VM state is after the end of
the virtual disk. This resulted in wrong values for the number of
sectors to be copied (n).
The code that checks for the end of the image isn't required any more
because the code hasn't been calling the block layer's bdrv_read() for a
long time; instead, it directly calls qcow2_readv(), which doesn't error
out on VM state sector numbers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8f4754ede56e3f9ea3fd7207f4a7c4453e59285b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:06:02 2014 +0100
block: Limit request size (CVE-2014-0143)
Limiting the size of a single request to INT_MAX not only fixes a
direct integer overflow in bdrv_check_request() (which would only
trigger bad behaviour with ridiculously huge images, as in close to
2^64 bytes), but can also prevent overflows in all block drivers.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e7226f70c9d944ae7f233b65fb4adda8f910dfe
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Mar 28 11:42:25 2014 -0400
block: vdi bounds check qemu-io tests
This test checks for proper bounds checking of some VDI input
headers. The following is checked:
1. Max image size (1024TB) with the appropriate Blocks In Image
value (0x3fffffff) is detected as valid.
2. Image size exceeding max (1024TB) is seen as invalid
3. Valid image size but with Blocks In Image value that is too
small fails
4. Blocks In Image size exceeding max (0x3fffffff) is seen as invalid
5. 64MB image, with 64 Blocks In Image, and 1MB Block Size is seen
as valid
6. Block Size < 1MB not supported
7. Block Size > 1MB not supported
[Max Reitz <mreitz@xxxxxxxxxx> pointed out that "1MB + 1" in the test
case is wrong. Change to "1MB + 64KB" to match the 0x110000 value.
--Stefan]
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0dce23475b5af5da6b17b97c1765271307734b6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:06:00 2014 +0100
dmg: prevent chunk buffer overflow (CVE-2014-0145)
Both compressed and uncompressed I/O is buffered. dmg_open() calculates
the maximum buffer size needed from the metadata in the image file.
There is currently a buffer overflow since ->lengths[] is accounted
against the maximum compressed buffer size but actually uses the
uncompressed buffer:
switch (s->types[chunk]) {
case 1: /* copy */
ret = bdrv_pread(bs->file, s->offsets[chunk],
s->uncompressed_chunk, s->lengths[chunk]);
We must account against the maximum uncompressed buffer size for type=1
chunks.
This patch fixes the maximum buffer size calculation to take into
account the chunk type. It is critical that we update the correct
maximum since there are two buffers ->compressed_chunk and
->uncompressed_chunk.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 686d7148ec23402a172628c800022b3a95a022c9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:59 2014 +0100
dmg: use uint64_t consistently for sectors and lengths
The DMG metadata is stored as uint64_t, so use the same type for
sector_num. int was a particularly poor choice since it is only 32-bit
and would truncate large values.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c165f7758009a4f793c1fc19ebb69cf55313450b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:58 2014 +0100
dmg: sanitize chunk length and sectorcount (CVE-2014-0145)
Chunk length and sectorcount are used for decompression buffers as well
as the bdrv_pread() count argument. Ensure that they have reasonable
values so neither memory allocation nor conversion from uint64_t to int
will cause problems.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit eb71803b041f55779ea10d860c0f66df285c68de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:57 2014 +0100
dmg: use appropriate types when reading chunks
Use the right types instead of signed int:
size_t new_size;
This is a byte count for g_realloc() that is calculated from uint32_t
and size_t values.
uint32_t chunk_count;
Use the same type as s->n_chunks, which is used together with
chunk_count.
This patch is a cleanup and does not fix bugs.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b404bf854217dbe8a5649449eb3ad33777f7d900
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:56 2014 +0100
dmg: drop broken bdrv_pread() loop
It is not necessary to check errno for EINTR and the block layer does
not produce short reads. Therefore we can drop the loop that attempts
to read a compressed chunk.
The loop is buggy because it incorrectly adds the transferred bytes
twice:
do {
ret = bdrv_pread(...);
i += ret;
} while (ret >= 0 && ret + i < s->lengths[chunk]);
Luckily we can drop the loop completely and perform a single
bdrv_pread().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 73ed27ec28a1dbebdd2ae792284151f029950fbe
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:55 2014 +0100
dmg: prevent out-of-bounds array access on terminator
When a terminator is reached the base for offsets and sectors is stored.
The following records that are processed will use this base value.
If the first record we encounter is a terminator, then calculating the
base values would result in out-of-bounds array accesses. Don't do
that.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c1885adcf0312da80c7317b09f9adad97fa0fc6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:54 2014 +0100
dmg: coding style and indentation cleanup
Clean up the mix of tabs and spaces, as well as the coding style
violations in block/dmg.c. There are no semantic changes since this
patch simply reformats the code.
This patch is necessary before we can make meaningful changes to this
file, due to the inconsistent formatting and confusing indentation.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cab60de930684c33f67d4e32c7509b567f8c445b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:53 2014 +0100
qcow2: Fix new L1 table size check (CVE-2014-0143)
The size in bytes is assigned to an int later, so check that instead of
the number of entries.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0abe740f1de899737242bcba1fb4a9857f7a3087
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:52 2014 +0100
qcow2: Protect against some integer overflows in bdrv_check
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb572aefbdac290363bfa5ca0e810ccce0a14ed6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:51 2014 +0100
qcow2: Fix types in qcow2_alloc_clusters and alloc_clusters_noref
In order to avoid integer overflows.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2b5d5953eec0cc541857c3df812bdf8421596ab2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:50 2014 +0100
qcow2: Check new refcount table size on growth
If the size becomes larger than what qcow2_open() would accept, fail the
growing operation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db8a31d11d6a60f48d6817530640d75aa72a9a2f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:49 2014 +0100
qcow2: Avoid integer overflow in get_refcount (CVE-2014-0143)
This ensures that the checks catch all invalid cluster indexes
instead of returning the refcount of a wrong cluster.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b106ad9185f35fc4ad669555ad0e79e276083bd7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Mar 28 18:06:31 2014 +0100
qcow2: Don't rely on free_cluster_index in alloc_refcount_block()
(CVE-2014-0147)
free_cluster_index is only correct if update_refcount() was called from
an allocation function, and even there it's brittle because it's used to
protect unfinished allocations which still have a refcount of 0 - if it
moves in the wrong place, the unfinished allocation can be corrupted.
So not using it any more seems to be a good idea. Instead, use the
first requested cluster to do the calculations. Return -EAGAIN if
unfinished allocations could become invalid and let the caller restart
its search for some free clusters.
The context of creating a snapsnot is one situation where
update_refcount() is called outside of a cluster allocation. For this
case, the change fixes a buffer overflow if a cluster is referenced in
an L2 table that cannot be represented by an existing refcount block.
(new_table[refcount_table_index] was out of bounds)
[Bump the qemu-iotests 026 refblock_alloc.write leak count from 10 to
11.
--Stefan]
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d33e8e7dc9d40ea105feed4b39caa3e641569e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:47 2014 +0100
qcow2: Fix backing file name length check
len could become negative and would pass the check then. Nothing bad
happened because bdrv_pread() happens to return an error for negative
length values, but make variables for sizes unsigned anyway.
This patch also changes the behaviour to error out on invalid lengths
instead of silently truncating it to 1023.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2d51c32c4b511db8bb9e58208f1e2c25e4c06c85
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:46 2014 +0100
qcow2: Validate active L1 table offset and size (CVE-2014-0144)
This avoids an unbounded allocation.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ce48f2f441ca98885267af6fd636a7cb804ee646
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:45 2014 +0100
qcow2: Validate snapshot table offset/size (CVE-2014-0144)
This avoid unbounded memory allocation and fixes a potential buffer
overflow on 32 bit hosts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c7de28305a514d7f879fdfc677ca11fbf60d2e9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:44 2014 +0100
qcow2: Validate refcount table offset
The end of the refcount table must not exceed INT64_MAX so that integer
overflows are avoided.
Also check for misaligned refcount table. Such images are invalid and
probably the result of data corruption. Error out to avoid further
corruption.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5dab2faddc8eaa1fb1abdbe2f502001fc13a1b21
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:43 2014 +0100
qcow2: Check refcount table size (CVE-2014-0144)
Limit the in-memory reference count table size to 8 MB, it's enough in
practice. This fixes an unbounded allocation as well as a buffer
overflow in qcow2_refcount_init().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a1b3955c9415b1e767c130a2f59fee6aa28e575b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:42 2014 +0100
qcow2: Check backing_file_offset (CVE-2014-0144)
Header, header extension and the backing file name must all be stored in
the first cluster. Setting the backing file to a much higher value
allowed header extensions to become much bigger than we want them to be
(unbounded allocation).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24342f2cae47d03911e346fe1e520b00dc2818e0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:41 2014 +0100
qcow2: Check header_length (CVE-2014-0144)
This fixes an unbounded allocation for s->unknown_header_fields.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d4b9e55fc625514a38d27cff4b9933f617fa7dc
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Mar 26 13:05:40 2014 +0100
curl: check data size before memcpy to local buffer. (CVE-2014-0144)
curl_read_cb is callback function for libcurl when data arrives. The
data size passed in here is not guaranteed to be within the range of
request we submitted, so we may overflow the guest IO buffer. Check the
real size we have before memcpy to buffer to avoid overflow.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1d7678dec4761acdc43439da6ceda41a703ba1a6
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Mar 26 13:05:39 2014 +0100
vhdx: Bounds checking for block_size and logical_sector_size
(CVE-2014-0148)
Other variables (e.g. sectors_per_block) are calculated using these
variables, and if not range-checked illegal values could be obtained
causing infinite loops and other potential issues when calculating
BAT entries.
The 1.00 VHDX spec requires BlockSize to be min 1MB, max 256MB.
LogicalSectorSize is required to be either 512 or 4096 bytes.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63fa06dc978f3669dbfd9443b33cde9e2a7f4b41
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Mar 28 11:42:24 2014 -0400
vdi: add bounds checks for blocks_in_image and disk_size header fields
(CVE-2014-0144)
The maximum blocks_in_image is 0xffffffff / 4, which also limits the
maximum disk_size for a VDI image to 1024TB. Note that this is the
maximum
size that QEMU will currently support with this driver, not necessarily
the
maximum size allowed by the image format.
This also fixes an incorrect error message, a bug introduced by commit
5b7aa9b56d1bfc79916262f380c3fc7961becb50 (Reported by Stefan Weil)
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5e71dfad763d67bb64be79e20e93411c0c30ad25
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:37 2014 +0100
vpc: Validate block size (CVE-2014-0142)
This fixes some cases of division by zero crashes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97f1c45c6f456572e5b504b8614e4a69e23b8e3a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Mar 26 13:05:36 2014 +0100
vpc/vhd: add bounds check for max_table_entries and block_size
(CVE-2014-0144)
This adds checks to make sure that max_table_entries and block_size
are in sane ranges. Memory is allocated based on max_table_entries,
and block_size is used to calculate indices into that allocated
memory, so if these values are incorrect that can lead to potential
unbounded memory allocation, or invalid memory accesses.
Also, the allocation of the pagetable is changed from g_malloc0()
to qemu_blockalign().
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a9ba36a45dfac645a810c31ce15ab393b69d820a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:35 2014 +0100
bochs: Fix bitmap offset calculation
32 bit truncation could let us access the wrong offset in the image.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8e53abbc20d08ae3ec30c2054e1161314ad9501d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:34 2014 +0100
bochs: Check extent_size header field (CVE-2014-0142)
This fixes two possible division by zero crashes: In bochs_open() and in
seek_to_sector().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e3737b820b45e54b059656dc3f914f895ac7a88b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:33 2014 +0100
bochs: Check catalog_size header field (CVE-2014-0143)
It should neither become negative nor allow unbounded memory
allocations. This fixes aborts in g_malloc() and an s->catalog_bitmap
buffer overflow on big endian hosts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 246f65838d19db6db55bfb41117c35645a2c4789
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:32 2014 +0100
bochs: Use unsigned variables for offsets and sizes (CVE-2014-0147)
Gets us rid of integer overflows resulting in negative sizes which
aren't correctly checked.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3dd8a6763bcc50dfc3de8da9279b741c0dea9fb1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:31 2014 +0100
bochs: Unify header structs and make them QEMU_PACKED
This is an on-disk structure, so offsets must be accurate.
Before this patch, sizeof(bochs) != sizeof(header_v1), which makes the
memcpy() between both invalid. We're lucky enough that the destination
buffer happened to be the larger one, and the memcpy size to be taken
from the smaller one, so we didn't get a buffer overflow in practice.
This patch unifies the both structures, eliminating the need to do a
memcpy in the first place. The common fields are extracted to the top
level of the struct and the actually differing part gets a union of the
two versions.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24f3078a049c52070adfc659fc3a1a71a11a7765
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 26 13:05:30 2014 +0100
qemu-iotests: Support for bochs format
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 42d43d35d907579179a39c924d169da924786f65
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:29 2014 +0100
block/cloop: fix offsets[] size off-by-one
cloop stores the number of compressed blocks in the n_blocks header
field. The file actually contains n_blocks + 1 offsets, where the extra
offset is the end-of-file offset.
The following line in cloop_read_block() results in an out-of-bounds
offsets[] access:
uint32_t bytes = s->offsets[block_num + 1] - s->offsets[block_num];
This patch allocates and loads the extra offset so that
cloop_read_block() works correctly when the last block is accessed.
Notice that we must free s->offsets[] unconditionally now since there is
always an end-of-file offset.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f56b9bc3ae20fc93815b34aa022be919941406ce
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:28 2014 +0100
block/cloop: refuse images with bogus offsets (CVE-2014-0144)
The offsets[] array allows efficient seeking and tells us the maximum
compressed data size. If the offsets are bogus the maximum compressed
data size will be unrealistic.
This could cause g_malloc() to abort and bogus offsets mean the image is
broken anyway. Therefore we should refuse such images.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b103b36d6ef3b11827c203d3a793bf7da50ecd6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:27 2014 +0100
block/cloop: refuse images with huge offsets arrays (CVE-2014-0144)
Limit offsets_size to 512 MB so that:
1. g_malloc() does not abort due to an unreasonable size argument.
2. offsets_size does not overflow the bdrv_pread() int size argument.
This limit imposes a maximum image size of 16 TB at 256 KB block size.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 509a41bab5306181044b5fff02eadf96d9c8676a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:26 2014 +0100
block/cloop: prevent offsets_size integer overflow (CVE-2014-0143)
The following integer overflow in offsets_size can lead to out-of-bounds
memory stores when n_blocks has a huge value:
uint32_t n_blocks, offsets_size;
[...]
ret = bdrv_pread(bs->file, 128 + 4, &s->n_blocks, 4);
[...]
s->n_blocks = be32_to_cpu(s->n_blocks);
/* read offsets */
offsets_size = s->n_blocks * sizeof(uint64_t);
s->offsets = g_malloc(offsets_size);
[...]
for(i=0;i<s->n_blocks;i++) {
s->offsets[i] = be64_to_cpu(s->offsets[i]);
offsets_size can be smaller than n_blocks due to integer overflow.
Therefore s->offsets[] is too small when the for loop byteswaps offsets.
This patch refuses to open files if offsets_size would overflow.
Note that changing the type of offsets_size is not a fix since 32-bit
hosts still only have 32-bit size_t.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d65f97a82c4ed48374a764c769d4ba1ea9724e97
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:25 2014 +0100
block/cloop: validate block_size header field (CVE-2014-0144)
Avoid unbounded s->uncompressed_block memory allocation by checking that
the block_size header field has a reasonable value. Also enforce the
assumption that the value is a non-zero multiple of 512.
These constraints conform to cloop 2.639's code so we accept existing
image files.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 05560fcebb1528f4354f6f24d1eb8cdbcdf2c4b2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:24 2014 +0100
qemu-iotests: add cloop input validation tests
Add a cloop format-specific test case. Later patches add tests for
input validation to the script.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 47f73da0a7d36e399eaa353d93afce90de9b599d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 26 13:05:23 2014 +0100
qemu-iotests: add ./check -cloop support
Add the cloop block driver to qemu-iotests.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c5a33ee9eee031c9bae362b9bd7045cd8ff24d86
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Fri Mar 28 23:08:58 2014 +0530
qcow2: fix two memory leaks in qcow2_open error code path
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4c7096607d0378de8d999c996802a73e601b2722
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 27 13:35:31 2014 +0100
vvfat: Fix :floppy: option to suppress partition table
Regressed in commit 7ad9be6, v1.5.0.
Reported-by: Kiyokazu SUTO <suto@xxxxxxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bdf866fe6cce1f949227c32fcc9b7320fcdc60c6
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Wed Mar 26 01:55:53 2014 +0530
qemu-img: Release reference to BlockDriverState
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bdcc3a28b7f6ed6b90ad8b8af7b5d17e0d3f1f06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 31 16:07:30 2014 +0200
input: add sanity check
Check we've actually found a input handler before trying to call it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0419f78fae1d70bb5de0d44be62ec9741c5a742b
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Mon Mar 31 23:09:06 2014 +0100
input: mouse_set should check input device type.
Otherwise, the index of an input device like a usb-kbd is silently
accepted.
(qemu) info mice
Mouse #2: QEMU PS/2 Mouse
* Mouse #3: QEMU HID Mouse
(qemu) mouse_set 1
(qemu) info mice
Mouse #2: QEMU PS/2 Mouse
* Mouse #3: QEMU HID Mouse
Also replace monitor_printf() call in do_mouse_set() with error_report()
and
adjust error message.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e82597f6f83bf872677cde37e540882880dcbafe
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 25 12:41:46 2014 +0100
input: fix input_event_key_number trace event
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d25295d4efc53bf8521adf967445b8d087fe8d39
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Mar 31 17:41:23 2014 +0200
linux-user: pass correct host flags to accept4()
Flags NONBLOCK and CLOEXEC can have different values on the host and the
guest, so set correct host values before calling accept4().
This fixes several issues with accept4 system call and user-mode of QEMU.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 95224e87a71d3190f46bf543ec9bc59ae36050eb
Merge: 63678e1 7373fc7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 31 22:11:29 2014 +0100
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* Revised QTest SIGABRT fix
* Test cleanups for non-POSIX hosts
* QTest test cases for NVMe, virtio-9p, pvpanic, i82801b11
* QTest API addition for reading events
* TMP105 fix and regression test
# gpg: Signature made Mon 31 Mar 2014 22:08:10 BST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
tmp105-test: Test QOM property and precision
tmp105-test: Add a second sensor and test that one
tmp105-test: Wrap simple building blocks for testing
tmp105: Read temperature in milli-celsius
tests: Add i82801b11 qtest
pvpanic-test: Assert pause event
qtest: Factor out qtest_qmp_receive()
tests: Add pvpanic qtest
tests: Add virtio-9p qtest
tests: Add nvme qtest
nvme: Permit zero-length block devices
tests: Correctly skip qtest on non-POSIX hosts
tests: Skip POSIX-only tests on Windows
tests: Remove unsupported tests for MinGW
qtest: Keep list of qtest instances for SIGABRT handler
Revert "qtest: Fix crash if SIGABRT during qtest_init()"
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7373fc76930fc0994bab1bc2defd1d3a2b2adaa3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:35 2014 +0200
tmp105-test: Test QOM property and precision
This adds a regression test for commit
efdf6a56a7c73753dd135ed085a223a119b5d805 (tmp105: Read temperature in
milli-celsius).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a4ec5bb7188490ad65b916a4a2e6ea7129602b60
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:34 2014 +0200
tmp105-test: Add a second sensor and test that one
This will make it easier to reach the device under test via QOM.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cebac614983a7479f2cd3b903e2127edd865c013
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:33 2014 +0200
tmp105-test: Wrap simple building blocks for testing
The next patches will add more reads and writes. Add a simple testing
API for this.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit efdf6a56a7c73753dd135ed085a223a119b5d805
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 31 18:26:32 2014 +0200
tmp105: Read temperature in milli-celsius
Right now, the temperature property must be written in milli-celsius,
but it reads back the value in 8.8 fixed point. Fix this by letting the
property read back the original value (possibly rounded). Also simplify
the code that does the conversion.
Before:
(QEMU) qom-set path=/machine/peripheral/sensor property=temperature
value=20000
{u'return': {}}
(QEMU) qom-get path=sensor property=temperature
{u'return': 5120}
After:
(QEMU) qom-set path=/machine/peripheral/sensor property=temperature
value=20000
{u'return': {}}
(QEMU) qom-get path=sensor property=temperature
{u'return': 20000}
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e683eb9ecc5cb72a6e89ddacaf097cb8fa839584
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 22:43:43 2014 +0100
tests: Add i82801b11 qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 627b1a17ced89e13df34a85feef54a50e9b94191
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 21:17:17 2014 +0100
pvpanic-test: Assert pause event
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 66e0c7b187e130f5059e45e12832951deda31668
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 20:55:30 2014 +0100
qtest: Factor out qtest_qmp_receive()
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit abc53733f34a8a29cc49c1ecb6475a11a44dcb7a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 20:38:48 2014 +0100
tests: Add pvpanic qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2d888c099cb89eea0c5329d66abf6cd2865eed8a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 17:15:21 2014 +0100
tests: Add virtio-9p qtest
Make it conditional to 9p availability.
Create a temporary directory to share.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fc9677915cc1273b4757a911f27f2f5038168053
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 22:19:43 2014 +0100
tests: Add nvme qtest
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 592408b8cab08bb4ec4771d7b1e20343b7f072fc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 22:18:31 2014 +0100
nvme: Permit zero-length block devices
It may not be sensible for normal use cases, but it allows to use
/dev/null in QTest.
Acked-by: Keith Busch <keith.busch@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c4e24c1516b6b8c21b6defcd4ffcf05f21202f7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 28 10:55:54 2014 +0100
tests: Correctly skip qtest on non-POSIX hosts
qtest test cases only work on POSIX hosts. The following line only
defines dependencies for qtest binaries on POSIX hosts:
check-qtest-$(CONFIG_POSIX)=$(foreach
TARGET,$(TARGETS),$(check-qtest-$(TARGET)-y))
But the QTEST_TARGETS definition earlier in the Makefile fails to check
CONFIG_POSIX. This causes make targets to be generated for qtest test
cases even though we don't know how to build the binaries.
The following error message is printed when trying to run gtester on a
binary that was never built:
GLib-WARNING **: Failed to execute test binary:
tests/endianness-test.exe: Failed to execute child process
"tests/endianness-test.exe" (No such file or directory)
This patch makes QTEST_TARGETS empty on non-POSIX hosts. This prevents
the targets from being generated.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d597a32a6dc5b2ef58b280100cd551b7fb30c963
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 28 10:55:53 2014 +0100
tests: Skip POSIX-only tests on Windows
test-rfifolock and test-vmstate only build on POSIX hosts. Exclude them
if building for Windows.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 087570942994db2550b0aa377fedca2235373004
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 28 10:55:52 2014 +0100
tests: Remove unsupported tests for MinGW
test_timer_schedule and test_source_timer_schedule don't compile for MinGW
because some functions are not implemented for MinGW (qemu_pipe,
aio_set_fd_handler).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d766825190615bc0b1b57d2837475cdec1a075de
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 27 15:09:50 2014 +0100
qtest: Keep list of qtest instances for SIGABRT handler
Keep track of active qtest instances so we can kill them when the test
aborts. This ensures no QEMU processes are left running after test
failure.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 96b8ca47f8f21ba32a60930cddbf5da27d36b20d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 27 15:09:49 2014 +0100
Revert "qtest: Fix crash if SIGABRT during qtest_init()"
It turns out there are test cases that use multiple libqtest instances.
We cannot use a global qtest instance in the SIGABRT handler.
This reverts commit cb201b4872f16dfbce63f8648b2584631e2e965f.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 63678e17cf399ff81b93417fe7bee8d6ef6b6b1b
Author: Steven Noonan <steven@xxxxxxxxxxxxxx>
Date: Fri Mar 28 17:19:02 2014 +0100
configure: add option to disable -fstack-protector flags
The -fstack-protector flag family is useful for ensuring safety and for
debugging, but has a performance impact. Here are some boot time
comparisons of
the various versions of -fstack-protector using qemu-system-arm on an
x86_64
host:
# -fstack-protector-all
Startup finished in 1.810s (kernel) + 12.331s (initrd) + 49.016s
(userspace) = 1min 3.159s
Startup finished in 1.801s (kernel) + 12.287s (initrd) + 47.925s
(userspace) = 1min 2.013s
Startup finished in 1.812s (kernel) + 12.302s (initrd) + 47.995s
(userspace) = 1min 2.111s
# -fstack-protector-strong
Startup finished in 1.744s (kernel) + 11.223s (initrd) + 44.688s
(userspace) = 57.657s
Startup finished in 1.721s (kernel) + 11.222s (initrd) + 44.194s
(userspace) = 57.138s
Startup finished in 1.693s (kernel) + 11.250s (initrd) + 44.426s
(userspace) = 57.370s
# -fstack-protector
Startup finished in 1.705s (kernel) + 11.409s (initrd) + 43.563s
(userspace) = 56.677s
Startup finished in 1.877s (kernel) + 11.137s (initrd) + 43.719s
(userspace) = 56.734s
Startup finished in 1.708s (kernel) + 11.141s (initrd) + 43.628s
(userspace) = 56.478s
# no stack protector
Startup finished in 1.743s (kernel) + 11.190s (initrd) + 43.709s
(userspace) = 56.643s
Startup finished in 1.763s (kernel) + 11.216s (initrd) + 43.767s
(userspace) = 56.747s
Startup finished in 1.711s (kernel) + 11.283s (initrd) + 43.878s
(userspace) = 56.873s
This patch introduces a configure option to disable the stack protector
entirely, and conditional stack protector flag selection (in order,
based on availability): -fstack-protector-strong, -fstack-protector-all,
no stack protector.
Signed-off-by: Steven Noonan <snoonan@xxxxxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
[Prefer -fstack-protector-all to -fstack-protector, suggested by
Laurent Desnogues. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 58b590148ca1b19f64f533d40e32b5acce5c21e7
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Mon Mar 31 14:31:44 2014 -0400
pci: Fix clearing IRQs on reset
irq_state is cleared before calling pci_device_deassert_intx, but the
latter misbehaves if the former isn't accurate. In this case, any raised
IRQs are not cleared, which hits an assertion in pcibus_reset:
qemu-system-x86_64: hw/pci/pci.c:250: pcibus_reset: Assertion
`bus->irq_count[i] == 0' failed.
pci_device_deassert_intx should clear irq_state anyways, so add
an assert.
This fixes migration with usb2 + usb-tablet.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Message-id:
7da1ad94ce027183b4049c2de370cb191b0073c1.1396290569.git.crobinso@xxxxxxxxxx
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7d4d7975e58b66de6a67ecb5aa9656653653a658
Merge: 8648fcd 0d6d1ab
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 31 18:47:14 2014 +0100
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* X86CPU IA32e 1GB paging support
* Performance quickfix for CPU() cast macro
# gpg: Signature made Mon 31 Mar 2014 18:33:27 BST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
cpu: Avoid QOM casts for CPU()
target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0d6d1ab4990b6e8c6f24e9b1308801d657d411ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Mar 28 16:25:07 2014 +0100
cpu: Avoid QOM casts for CPU()
CPU address spaces touching load and store helpers as well as the
movement of (almost) all fields from CPU_COMMON to CPUState have led to
a noticeable increase of CPU() usage in "hot" paths for both TCG and KVM.
While CPU()'s OBJECT_CHECK() might help detect development errors, i.e.
in form of crashes due to QOM vs. non-QOM mismatches rather than QOM
type mismatches, it is not really needed at runtime since mostly used in
CPU-specific paths, coming from a target-specific CPU subtype. If that
pointer is damaged, other errors are highly likely to occur elsewhere
anyway.
Keep the CPU() macro for a consistent developer experience and for
flexibility to exchange its implementation, but turn it into a pure,
unchecked C cast for now.
Compare commit 6e42be7cd10260fd3a006d94f6c870692bf7a2c0.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c8c14bcb72e436fb4aff99b4b2b92e44f2e715b5
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Wed Mar 19 17:03:53 2014 -0400
target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation
Linux guests, when using more than 4GB of RAM, may end up using 1GB pages
to store (kernel) data. When this happens, we're unable to debug a running
Linux kernel with GDB:
(gdb) p node_data[0]->node_id
Cannot access memory at address 0xffff88013fffd3a0
(gdb)
GDB returns this error because x86_cpu_get_phys_page_debug() doesn't
support
translating 1GB pages in IA-32e paging mode and returns an error to GDB.
This commit adds support for 1GB page translation for IA32e paging.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8648fcd52a9bcc2aa415cbe87b7c636e545acb38
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 20 02:01:55 2014 +0100
make-release: Record SeaBIOS version
Before deleting .git, determine the version and save it in .version file.
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1395277315-7806-1-git-send-email-afaerber@xxxxxxx
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b3706faf0d8e4f9275c73895d93a16fbffb9d370
Merge: 3b6144b 1a8e80d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 28 14:52:27 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-arm-unaligned' into staging
* remotes/rth/tcg-arm-unaligned:
tcg-arm: Avoid ldrd/strd for user-only emulation
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3b6144bdbb42705c95e3ed0e8c7bbe277352c0b8
Merge: 9c5793c b89834f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 28 13:46:28 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,build bug fixes
Here are some bugfixes for 2.0.
A bugfix for acpi for pci bridges, and a build fix for
old systems without pthread_setname_np: both fix regressions
so we definitely want to include them.
HPET fix is not for a regression but looks very safe,
fixes a nasty bug and has been on list for a while.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Fri 28 Mar 2014 12:00:12 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
acpi: fix ACPI generation for pci bridges
Don't enable a HPET timer if HPET is disabled
Detect pthread_setname_np at configure time
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b89834f4d79070a26536cb73fe5216a2364551eb
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Mar 27 17:35:36 2014 +0200
acpi: fix ACPI generation for pci bridges
Commit 8dcf525abc5dff785251a881f9764dd961065c0d
acpi-build: append description for non-hotplug
appended description for all occupied non hotpluggable PCI slots.
However the bridge devices are already added to SSDT,
adding them again will create an incorrect SSDT table.
Fixed by skipping the pci bridge devices, marking them as 'system'.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1a8e80d7e82aa385ad887dba5d039e399a18264b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 25 17:11:37 2014 -0400
tcg-arm: Avoid ldrd/strd for user-only emulation
The arm ldrd/strd insns must cause alignment traps, whereas
at least for armv7 ldr/str must handle unaligned operations.
While this is hardly the only problem facing user-only emu,
this solves one problem for i386 on armv7 emulation.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Huw Davies <huw@xxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9c5793c5036c7608ff2c87846c6d11f904c08b58
Merge: c6c09ba 76ac994
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 17:08:30 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0
* OpenPIC fix
* MSR fixes for POWER7 upwards
* TCG instruction set support fix for POWER8
# gpg: Signature made Thu 27 Mar 2014 16:12:12 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
target-ppc: MSR_POW not supported on POWER7/7+/8
target-ppc: POWER7+ supports the MSR_VSX bit
target-ppc: POWER8 supports isel
target-ppc: POWER8 supports the MSR_LE bit
intc/openpic_kvm: Fix MemListener delete region callback function
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6c09ba9950407a075bfe19c7604f09b71499a20
Merge: 6ff45f0 3768d50
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 16:38:58 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-03-27' into staging
trivial patches for 2014-03-27
# gpg: Signature made Thu 27 Mar 2014 15:23:53 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-03-27: (23 commits)
linux-user: remove duplicate statement
hw/timer/grlib_gptimer: remove unnecessary assignment
hw/pci-host/apb.c: Avoid shifting left into sign bit
hw/intc/xilinx_intc: Avoid shifting left into sign bit
hw/intc/slavio_intctl: Avoid shifting left into sign bit
tests/libqos/pci-pc: Avoid shifting left into sign bit
hw/ppc: Avoid shifting left into sign bit
hw/intc/openpic: Avoid shifting left into sign bit
hw/usb/hcd-ohci.c: Avoid shifting left into sign bit
target-mips: Avoid shifting left into sign bit
hw/i386/acpi_build.c: Avoid shifting left into sign bit
hw/pci/pci_host.c: Avoid shifting left into sign bit
hw/intc/apic.c: Use uint32_t for mask word in foreach_apic
target-i386: Avoid shifting left into sign bit
CODING_STYLE: Section about mixed declarations
doc: update default PowerPC framebuffer settings
doc: update sun4m documentation
fix return check for KVM_GET_DIRTY_LOG ioctl
target-i386: Add missing 'static' and 'const' attributes
util: Add 'static' attribute to function implementation
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c36ad13fe9ece9a21a8c1dd082473a2b182298ee
Author: Matt Lupfer <mlupfer@xxxxxxx>
Date: Fri Feb 21 21:37:23 2014 -0700
Don't enable a HPET timer if HPET is disabled
A HPET timer can be started when HPET is not yet
enabled. This will not generate an interrupt
to the guest, but causes problems when HPET is later
enabled.
A timer that is created and expires at least once before
HPET is enabled will have an initialized comparator based
on a hpet_offset of 0 (uninitialized). When HPET is
enabled, hpet_set_timer() is called a second time, which
modifies the timer expiry to a time based on the
difference between current ticks (measured with the
newly initialized hpet_offset) and the timer's
comparator (which was generated before hpet_offset was
initialized). This results in a long period of no HPET
timer ticks.
When this occurs with a CentOS 5.x guest, the guest
may not receive timer interrupts during its narrow
timer check window and panic on boot.
Signed-off-by: Matt Lupfer <mlupfer@xxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5c312079417908381ffca44d18150b6a990c4f0b
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Wed Mar 12 11:48:18 2014 +0000
Detect pthread_setname_np at configure time
Warn if no way of setting thread name is available.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6ff45f01c734e1ad051f19913449e2577c9f4b7d
Merge: 9ad665d a7a5544
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 15:29:33 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140327' into staging
target-arm queue:
* Don't default to integratorcp board if no machine specified
# gpg: Signature made Thu 27 Mar 2014 14:09:12 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140327:
vl.c: Improve message when no default machine is found
hw/arm: Stop specifying integratorcp as the default board
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3768d505adcd6c3fe819432d7dabd312995fa678
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:42 2014 +0530
linux-user: remove duplicate statement
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Acked-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c9f2d70cc88346d50020d01face2135481e5acde
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:41 2014 +0530
hw/timer/grlib_gptimer: remove unnecessary assignment
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit af23906d50c7d7c28e7e5ff49f7cbf0fa5c6228a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:41 2014 +0000
hw/pci-host/apb.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0bc60bd7b34ad6e59b47dbf91179ba9427a85df7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:40 2014 +0000
hw/intc/xilinx_intc: Avoid shifting left into sign bit
Avoid undefined behaviour shifting left into the sign bit.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7d45e784015971e70239e33256fd606638107a3e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:39 2014 +0000
hw/intc/slavio_intctl: Avoid shifting left into sign bit
Add 'U' suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a879125b47c3ae554c01824f996a64a45a86556e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:38 2014 +0000
tests/libqos/pci-pc: Avoid shifting left into sign bit
Add U suffix when doing "1 << 31" to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a1f7f97b950a46393b0e55a9a0082e70f540cbbd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:37 2014 +0000
hw/ppc: Avoid shifting left into sign bit
Add U suffix to various places where we were doing "1 << 31",
which is undefined behaviour, and also to other constant
definitions in the same groups, for consistency.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit def60298825ccff006688ab9ee0ebb266c98b7e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:36 2014 +0000
hw/intc/openpic: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour. This is only strictly
necessary for the 1 << 31 cases; for consistency we extend it
to other constants in the same group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 00b0179347bae12c5856c1195b67ef5dc7887b9b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:35 2014 +0000
hw/usb/hcd-ohci.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour. This is only
strictly necessary for the 1<<31 cases, but we add it for the
other constants in these groups for consistency.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f45cb2f43f5bb0a4122a64e61c746048b59a84ed
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:34 2014 +0000
target-mips: Avoid shifting left into sign bit
Add U suffix to various places where we shift a 1 left by 31,
to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d9631b90da6ac592ea76b41a654dd5d29b2645d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:33 2014 +0000
hw/i386/acpi_build.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ac43fa508cc1cfe6d6f67c8eb99dc012e52c164e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:32 2014 +0000
hw/pci/pci_host.c: Avoid shifting left into sign bit
Add U suffix to avoid undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6d55574a656f3a533a370156aaefedcf7980d4d8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:31 2014 +0000
hw/intc/apic.c: Use uint32_t for mask word in foreach_apic
Use unsigned arithmetic for operations on the mask word
in the foreach_apic() macro, to avoid relying on undefined
behaviour when shifting into the sign bit.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2cd49cbfab0dd294de421893048ab614518fa263
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:00:30 2014 +0000
target-i386: Avoid shifting left into sign bit
Add 'U' suffixes where necessary to avoid (1 << 31) which
shifts left into the sign bit, which is undefined behaviour.
Add the suffix also for other constants in the same groupings
even if they don't shift into bit 31, for consistency.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e939c6ed619e2cf98c379318f6ee389c97163f18
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Mar 17 15:26:31 2014 -0300
CODING_STYLE: Section about mixed declarations
We had an unwritten rule about declarations having to be at beginning of
blocks. Make it a written rule.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 340fb41b311356d66b280468698b1f2d7b0c1a56
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Mon Mar 17 21:46:26 2014 +0000
doc: update default PowerPC framebuffer settings
Since 1.7, the default framebuffer settings for PowerPC are 800x600x32.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: qemu-ppc@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 33632788089531a4452976ff40bbb15551d37fea
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Mon Mar 17 21:46:25 2014 +0000
doc: update sun4m documentation
A few minor tidy-ups, plus add reference to the new -vga tcx and cg3
options.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b533f658a98325d0e47b36113bd9f5bcc046fdae
Author: Mario Smarduch <m.smarduch@xxxxxxxxxxx>
Date: Wed Mar 19 10:24:26 2014 -0700
fix return check for KVM_GET_DIRTY_LOG ioctl
Fix return condition check from kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) to
handle internal failures or no support for memory slot dirty bitmap.
Otherwise the ioctl succeeds and continues with migration.
Addresses BUG# 1294227
Signed-off-by: Mario Smarduch <m.smarduch@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a443bc3496658c9e144ad914933607ebc8418979
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 15:03:41 2014 +0100
target-i386: Add missing 'static' and 'const' attributes
This fixes warnings from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 08cf99629d5de859aad0d54bafb2f18803a86dfe
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 19:02:52 2014 +0100
util: Add 'static' attribute to function implementation
The static code analyzer smatch complains because of a missing 'static'
attribute:
util/module.c:166:6: warning:
symbol 'module_load' was not declared. Should it be static?
'static' is used in the forward declaration, but not in the
implementation.
Add it there, too.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 06ab66cfab317741ab55d164ec3530c08ce1a547
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 19:13:18 2014 +0100
hw/ide: Add missing 'static' attributes
This fixes a warning from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6df05bdd172d26b699fecf162c277286579f2c16
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 19:07:55 2014 +0100
target-arm: Add missing 'static' attribute
This fixes a warning from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ecb4e01e3449074576ae866c4547b5ff3849ddd7
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 14:49:11 2014 +0100
target-s390x: Add missing 'static' and 'const' attributes
This fixes warnings from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 76ac9940c3114db35df92582f3549d9a64a369c4
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:29 2014 +1100
target-ppc: MSR_POW not supported on POWER7/7+/8
Remove MSR_POW from the msr_mask for POWER7/7P/8.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5b2b7dc4e5ed10d439d1aac86879299d9f620f5b
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:28 2014 +1100
target-ppc: POWER7+ supports the MSR_VSX bit
Without MSR_VSX we die early during a Linux boot.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 536492ebb3934a827a981be1f207cf7835a53c30
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:27 2014 +1100
target-ppc: POWER8 supports isel
Add PPC_ISEL to insns_flags.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d6fb330f70831180c69899a4f8ba1a7a5fdce45c
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Mar 25 13:40:26 2014 +1100
target-ppc: POWER8 supports the MSR_LE bit
Add MSR_LE to the msr_mask for POWER8.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxxxx>
Tested-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6f1834a2baa2f2688efaa7756d000876c7898d13
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:39 2014 +0530
intc/openpic_kvm: Fix MemListener delete region callback function
Fixes d85937e683f6ff4d68293cb24c780fb1f6820d2c.
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9ad665df2a9eeb8ed6f3501896e45c1a3cd9dd5f
Merge: bea4acd 9013dca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 14:32:17 2014 +0000
Merge remote-tracking branch 'remotes/amit-migration/tags/for_upstream'
into staging
migration: traces
Adds trace messages to migration path. Patches have been on list for a
while, and have been reviewed by Juan.
# gpg: Signature made Thu 27 Mar 2014 10:44:21 GMT using RSA key ID
854083B6
# gpg: Can't check signature: public key not found
* remotes/amit-migration/tags/for_upstream:
migration: add more traces
util: add qemu_ether_ntoa
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a7a5544a3a59600f30f29985397f56ee40929850
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 14:00:52 2014 +0000
vl.c: Improve message when no default machine is found
Improve the clarity of the message QEMU prints when the user
doesn't specify a machine model to use and there is no default.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
commit d4715c4183043c5e977f821b6f9ca88b17d90bbb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 14:00:52 2014 +0000
hw/arm: Stop specifying integratorcp as the default board
Currently for both qemu-system-arm and qemu-system-aarch64
the default board model if the user doesn't specify one
is the 'integratorcp'. This is a totally arbitrary historical
accident since it was the first board to be modelled.
That board is now just one target among many for us, and
is a very poor choice of default:
* it's an ancient board that is now only found in the
junkpiles of longtime ARM/Linux hackers, if at all
* it's an ARMv5 CPU, when most distros are now assuming
ARMv7
* it's pretty much unmaintained in QEMU
* it doesn't even have versatilepb's advantage of
supporting PCI
Making it or any other board the default serves only
to confuse people new to ARM who expect something more
like the x86 monoculture. Remove the is_default marker
from integratorcp, and don't set it for any other board,
to give users a nudge that they need to think about
which board they want a QEMU model of. (QEMU will produce
the admittedly slightly cryptic error "No machine found.")
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit bea4acda3bff00e98cb00d5354f23de9e74a928f
Merge: db237e3 6a5b69a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 27 10:54:17 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging
* remotes/mcayland/qemu-sparc:
target-sparc: fix 32bit integer division overflow
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9013dca5539186ddca018bebcf2d5da63d061365
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Mar 11 10:42:29 2014 +1100
migration: add more traces
This replaces DPRINTF macro with tracepoints.
This moves some messages from migration.c to savevm.c.
This adds tracepoint to signal about fileds failed to migrate.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 4297c8ee6f0ef70e5a71e3387a0fccaa20b04f94
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Mar 11 10:42:26 2014 +1100
util: add qemu_ether_ntoa
This adds a helper to format ethernet MAC address.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 6a5b69a959483c7404576a7dc54221ced41e6515
Author: Olivier Danet <odanet@xxxxxxxxxxxx>
Date: Fri Mar 21 02:25:19 2014 +0100
target-sparc: fix 32bit integer division overflow
The signed integer division -0x8000_0000_0000_0000 / -1 must be handled
separately to avoid an overflow on the QEMU host.
Negative overflow must be a negative number for correct sign
extension in Sparc64 mode. Use <stdint.h> constants.
Signed-off-by: Olivier Danet <odanet@xxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit db237e33c08a279f0179f8f5128a6d10d9adc38a
Merge: 61898bc ad1c7e0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 17:10:15 2014 +0000
Merge remote-tracking branch 'remotes/riku/for-2.0' into staging
* remotes/riku/for-2.0:
linux-user: Correct DLINFO_ITEMS
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 61898bc020c3367c629a99a2abdaa1c60fce76cd
Merge: 0a87466 ec8929a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 16:17:36 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
spapr_vscsi: remove duplicate condition check
scsi: check req pointer before dereferencing it
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a87466ef3fe3d9a062195f801727569ab886bde
Merge: 0acf0a5 f7bc8ef
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 15:15:19 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,virtio bug fixes
Two bugfixes for virtio-net, and one for a recent
regression in acpi.
Both issues have been reported in the wild, so
I think it's preferable to merge these ASAP so
that reporters can make sure RC fixes their issue.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Wed 26 Mar 2014 10:52:16 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
* remotes/mst/tags/for_upstream:
virtio-net: add vlan receive state to RxFilterInfo
virtio-net: Do not filter VLANs without F_CTRL_VLAN
Revert "acpi-test: rebuild SSDT"
acpi: make SSDT 1.0 spec compliant when possible
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0acf0a50c8ae6a4e146e00df5dba9f763d7b75a6
Merge: 7f6613c bbbf9bf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 26 14:07:25 2014 +0000
Merge remote-tracking branch 'remotes/weil/qemu-2.0' into staging
* remotes/weil/qemu-2.0:
gtk: Support GTK without VTE
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ec8929a55512606456e364ffa80586219f67c904
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Mon Mar 24 21:14:46 2014 +0530
spapr_vscsi: remove duplicate condition check
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b0f49d138777fb6609aa2ea96d2c59fb872d2c2d
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Wed Mar 19 07:10:32 2014 +0530
scsi: check req pointer before dereferencing it
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ad1c7e0faac82eeb654cba7f99d4e6d88273e0f9
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Mar 25 21:47:28 2014 +0000
linux-user: Correct DLINFO_ITEMS
Commit a07c67dfccb1 (Implement AT_CLKTCK.) back in March 2008 added a
new auxvec entry but didn't increment DLINFO_ITEMS, so it's been out of
sync ever since.
Bump it up to 14 so that it matches the number of NEW_AUX_ENT's that
need to be counted in create_elf_tables().
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Riku Voipio <riku.voipio@xxxxxx>
Cc: Paul Brook <paul@xxxxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f7bc8ef8091229a4bec0e2a40af90abb8dcb3834
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Mar 26 08:19:43 2014 +0800
virtio-net: add vlan receive state to RxFilterInfo
Stefan Fritsch just fixed a virtio-net driver bug [1], virtio-net won't
filter out VLAN-tagged packets if VIRTIO_NET_F_CTRL_VLAN isn't negotiated.
This patch added a new field to @RxFilterInfo to indicate vlan receive
state ('normal', 'none', 'all'). If VIRTIO_NET_F_CTRL_VLAN isn't
negotiated, vlan receive state will be 'all', then all VLAN-tagged packets
will be received by guest.
This patch also fixed a boundary issue in visiting vlan table.
[1] http://lists.nongnu.org/archive/html/qemu-devel/2014-02/msg02604.html
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0b1eaa8803e680de9a05727355dfe3d306b81e17
Author: Stefan Fritsch <sf@xxxxxxxxxxx>
Date: Wed Mar 26 18:29:52 2014 +0800
virtio-net: Do not filter VLANs without F_CTRL_VLAN
If VIRTIO_NET_F_CTRL_VLAN is not negotiated, do not filter out all
VLAN-tagged packets but send them to the guest.
This fixes VLANs with OpenBSD guests (and probably NetBSD, too, because
the OpenBSD driver started as a port from NetBSD).
Signed-off-by: Stefan Fritsch <sf@xxxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53a786acac7b4d53288d603504021d928f734513
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 26 12:42:31 2014 +0200
Revert "acpi-test: rebuild SSDT"
This reverts commit d07e0e9cddf02dd2abedbbf7ab0e069c8f5dabfd.
Since
commit b4f4d54812624581ce429c805e5179c78222c707
acpi: make SSDT 1.0 spec compliant when possible
We are back to old encoding.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b4f4d54812624581ce429c805e5179c78222c707
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 26 12:31:31 2014 +0200
acpi: make SSDT 1.0 spec compliant when possible
The ACPI specification says:
The ASL compiler can emit two different AML opcodes for a Package
declaration, either PackageOp or VarPackageOp. For small, fixed-length
packages, the PackageOp is used and this opcode is compatible with ACPI
1.0. A VarPackageOp will be emitted if any of the following conditions
are true:
. The NumElements argument is a TermArg that can only be resolved at
runtime.
. At compile time, NumElements resolves to a constant that is larger than
255.
. The PackageList contains more than 255 initializer elements.
Note: The ability to create variable-sized packages was first introduced
in ACPI 2.0. ACPI 1.0 only allowed fixed-size packages with up to 255
elements.
So the spec seems to say a fixed value up to 255 must always
be used with PackageOp and not VarPackageOp, and some guests
(windows up to win2k8) seem to interpret it like this.
Let's do just this, choosing the encoding depending on
the number of elements.
Fixes 9bcc80cd71892df42605e0c097d85c0237ff45d1
(i386/acpi-build: allow more than 255 elements in CPON).
https://bugs.launchpad.net/bugs/1297651
Reported-by: Robert Hu <robert.hu@xxxxxxxxx>
Cc: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bbbf9bfb9c27e389340cf50a11c22fa46c572150
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Feb 19 07:04:34 2014 +0100
gtk: Support GTK without VTE
GTK without VTE is needed for hosts which don't support VTE (for example
all variants of MinGW), but it can also be reasonable for other hosts.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 7f6613cedc59fa849105668ae971dc31004bca1c
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Tue Mar 25 14:35:18 2014 +0100
target-mips: fix MTHC1 and MFHC1 when FPU in FR=0 mode
Previous implementation presumed that FPU registers are 64-bit and are
working in 64-bit mode. This change first checks MIPS_HFLAG_F64 and if not
set, it does load/store from the odd numbered register pair.
Patch by Matthew Fortune.
Signed-off-by: Matthew Fortune <matthew.fortune@xxxxxxxxxx>
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit b9bf8a1abb1cafe7184e3dbad9bf8819b3cb620a
Merge: 169e487 4e505dd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 25 18:30:52 2014 +0000
Merge remote-tracking branch
'remotes/awilliam/tags/vfio-pci-for-qemu-20140325.0' into staging
A couple trivial fixes for QEMU 2.0:
- Coding correction that allowed attempts to read the device
ROM after we'd already marked it failed (Bandan)
- Cosmetic error reporting fixes to remove unnecessary new lines
and fix a cut-n-paste wording error (Alex)
# gpg: Signature made Tue 25 Mar 2014 18:18:57 GMT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
* remotes/awilliam/tags/vfio-pci-for-qemu-20140325.0:
vfio: Cosmetic error reporting fixes
vfio: Correction in vfio_rom_read when attempting rom loading
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4e505ddd9af1d5810378a4e7b851f788b1c075ba
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Mar 25 12:08:52 2014 -0600
vfio: Cosmetic error reporting fixes
* Remove terminating newlines from hw_error() and error_report() calls
* Fix cut-n-paste error in text (s/to/from/)
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 169e4878ee96b7d6dec929e0cd400a0395865a85
Merge: d4cc1a2 131e744
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 25 17:49:45 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request'
into staging
Net patches
# gpg: Signature made Tue 25 Mar 2014 15:02:48 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/net-pull-request:
net: netmap_poll must update both read/write poll state
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d4cc1a213f8cb22fa0861ae2a907c60cf00796ff
Merge: 839a554 7b770c7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 25 15:23:08 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Tue 25 Mar 2014 14:34:45 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
mirror: fix early wake from sleep due to aio
mirror: fix throttling delay calculation
Fixed various typos
qemu-img: mandate argument to 'qemu-img check --repair'
osdep: initialize glib threads in all QEMU tools
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit db01eedb6d883a1fed5b4079f8a6ff048b9c1217
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Tue Mar 25 08:24:20 2014 -0600
vfio: Correction in vfio_rom_read when attempting rom loading
commit e638073c569e801ce9de added a flag to track whether
a previous rom read had failed. Accidentally, the code
ended up adding vfio_load_option_rom twice. (Thanks to Alex
for spotting it)
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 7b770c720b28b8ac5b82ae431f2f354b7f8add91
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Mar 21 13:55:19 2014 +0100
mirror: fix early wake from sleep due to aio
The mirror blockjob coroutine rate-limits itself by sleeping. The
coroutine also performs I/O asynchronously so it's important that the
aio callback doesn't wake the coroutine early as that breaks
rate-limiting.
Reported-by: Joaquim Barrera <jbarrera@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc8c9d6c6f28e4e376a6561a2a31524fd069bc2d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 21 13:55:18 2014 +0100
mirror: fix throttling delay calculation
The throttling delay calculation was using an inaccurate sector count to
calculate the time to sleep. This broke rate-limiting for the block
mirror job.
Move the delay calculation into mirror_iteration() where we know how
many sectors were transferred. This lets us calculate an accurate delay
time.
Reported-by: Joaquim Barrera <jbarrera@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dc6fb73d219472e011d93867f5e7eebfffde0319
Author: Deepak Kathayat <deepak.mk17@xxxxxxxxx>
Date: Mon Mar 24 16:30:17 2014 +0800
Fixed various typos
Signed-off-by: Deepak Kathayat <deepak.mk17@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4fd6a984b93701fcb40a0053098ae5c2c4ee27f4
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Tue Mar 25 00:08:54 2014 +0530
qemu-img: mandate argument to 'qemu-img check --repair'
qemu-img check --repair option accepts an argument. The argument to
--repair switch can either be 'all' or 'leak'. Fix the long option to
mandate argument with --repair switch.
The patch fixes following segmentation fault
Core was generated by `qemu-img check -f qcow2 --repair all t.qcow2'.
Program terminated with signal 11, Segmentation fault.
0 in img_check (argc=6, argv=0x7fffab9b8a10) at qemu-img.c:588
588 if (!strcmp(optarg, "leaks")) {
(gdb) bt
0 img_check (argc=6, argv=0x7fffab9b8a10) at qemu-img.c:588
1 __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
2 _start ()
(gdb)
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Reviewed-by: Leandro Dorileo <l@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ae2990c259abec198879c362dc13f7047f26c2cf
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Oct 8 11:58:31 2013 +0200
osdep: initialize glib threads in all QEMU tools
glib versions prior to 2.31.0 require an explicit g_thread_init() call
to enable multi-threading.
Failure to initialize threading causes glib to take single-threaded code
paths without synchronization. For example, the g_slice allocator will
crash due to race conditions.
Fix this for all QEMU tool programs (qemu-nbd, qemu-io, qemu-img) by
moving the g_thread_init() call from vl.c:main() into a new
osdep.c:thread_init() constructor function.
thread_init() has __attribute__((constructor)) and is automatically
invoked by the runtime during startup.
We can now drop the "simple" trace backend's g_thread_init() call since
thread_init() already called it.
Note that we must keep coroutine-gthread.c's g_thread_init() call which
is located in a constructor function. There is no guarantee for
constructor function ordering so thread_init() may only be called later.
Reported-by: Mario de Chenno <mario.dechenno@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 131e744a15c54f0bad3d3925eeca1acf47996e06
Author: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Date: Sun Mar 23 14:58:43 2014 +0530
net: netmap_poll must update both read/write poll state
Signed-off-by: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 839a5547574e57cce62f49bfc50fe1f04b00589a
Merge: 90c49ef da0af40
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 19:25:09 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140324' into staging
target-arm queue for 2.0:
* Fix wrong-results bug in A64 Neon MLS instruction
* Fix loading of ELF images for 32 bit boards in qemu-system-aarch64
# gpg: Signature made Mon 24 Mar 2014 17:14:07 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140324:
target-arm: Load ELF images with the correct machine type for CPU
target-arm: Fix A64 Neon MLS
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 90c49ef1650698cff1288e0d22aa858d89f820fa
Merge: e12b2a4 dac23a6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 19:00:02 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,test bug fixes
More small fixes all over the place.
Notably fixes for big-endian hosts by Marcel.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 24 Mar 2014 10:41:07 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
tests/acpi-test: do not fail if iasl is broken
vl.c: Use MAX_CPUMASK_BITS macro instead of hardcoded constant
sysemu.h: Document what MAX_CPUMASK_BITS really limits
acpi: fix endian-ness for table ids
acpi-test: signature endian-ness fixes
i386/acpi-build: support hotplug of VCPU with APIC ID 0xFF
acpi-test: rebuild SSDT
i386/acpi-build: allow more than 255 elements in CPON
pc: Refuse max_cpus if it results in too large APIC ID
acpi: Don't use MAX_CPUMASK_BITS for APIC ID bitmap
acpi: Assert sts array limit on AcpiCpuHotplug_add()
pc: Refuse CPU hotplug if the resulting APIC ID is too large
acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro
acpi-test: update expected SSDT files
acpi-build: fix misaligned access
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e12b2a4fab75c0771ed21ac6ce06120cbb27b68e
Merge: e279e25 b2c494c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 18:47:19 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-5' into
staging
spice: input: Fix absolute mouse y coordinates
# gpg: Signature made Mon 24 Mar 2014 07:44:11 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-5:
spice: input: Fix absolute mouse y coordinates
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e279e252ac7ea99b58eaf20d0aec4288de0386bb
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Fri Mar 21 21:29:37 2014 +0000
backends/baum.c: Fix compilation when SDL is not available.
backends/baum.c: In function â??chr_baum_initâ??:
backends/baum.c:569:64: error: missing binary operator before token "("
#if defined(CONFIG_SDL) && SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
^
backends/baum.c:598:64: error: missing binary operator before token "("
#if defined(CONFIG_SDL) && SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Message-id: 1395437377-5779-1-git-send-email-rjones@xxxxxxxxxx
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit da0af40dd70c8f8f821d79c367aecb08618af28e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 21 18:44:36 2014 +0000
target-arm: Load ELF images with the correct machine type for CPU
When trying to load an ELF file specified via -kernel, we need to
pass load_elf() the ELF machine type corresponding to the CPU we're
booting with, not the one corresponding to the softmmu binary
we happen to be running. (The two are different in the case of
loading a 32-bit ARM ELF file into a 32 bit CPU being emulated
by qemu-system aarch64.) This was causing us to incorrectly fail
to load ELF images in this situation.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1395427476-25546-1-git-send-email-peter.maydell@xxxxxxxxxx
commit d108609bf9ba160d2e2044ce7d553f691ac96dbd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 24 15:59:02 2014 +0000
target-arm: Fix A64 Neon MLS
The order of operands for the accumulate step in disas_simd_3same_int()
was reversed. This only affected the MLS instruction, since all the
other accumulating instructions in this category perform an addition
rather than a subtraction.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dac23a6c05e543590508b48b8ed31d89b0c99c61
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Mar 24 12:02:33 2014 +0200
tests/acpi-test: do not fail if iasl is broken
There is an issue with iasl on big endian machines: It
cannot disassemble acpi tables taken from little endian
machines, so we cannot check the expected tables.
The acpi test will check if the expected aml files
can be disassembled, and will issue an warning not
failing the test on those machines until this
problem is solved by the acpica community.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b2c494c3a473adf654144c845e04bebffb05dee0
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri Mar 21 14:28:49 2014 -0400
spice: input: Fix absolute mouse y coordinates
Current tablet + spice is unusable. Regressed with the UI input rework.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3a87f8b6859e6221b827ab4737779dddb37553ec
Merge: 06c1bee 71461b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 20 11:45:37 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0
* sPAPR loop fix
* SPR reset fix
* Reduce allocation size of indirect opcode tables
* Restrict number of CPU threads
* sPAPR H_SET_MODE fixes
* sPAPR firmware path fixes
* Static and constness cleanups
# gpg: Signature made Thu 20 Mar 2014 01:46:14 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
spapr: Implement interface to fix device pathname
spapr: QOM'ify pseries machine
spapr_vio: Fix firmware names
spapr_llan: Add to boot device list
qdev: Introduce FWPathProvider interface
vl.c: Extend get_boot_devices_list() to ignore suffixes
spapr_hcall: Fix little-endian resource handling in H_SET_MODE
target-ppc: Introduce powerisa-207-server flag
target-ppc: Force CPU threads count to be a power of 2
target-ppc: Fix overallocation of opcode tables
target-ppc: Reset SPRs on CPU reset
spapr_hcall: Fix h_enter to loop correctly
target-ppc: Add missing 'static' and 'const' attributes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 71461b0fef53467d2a85dbd72304dba0e01d8370
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:27 2014 +1100
spapr: Implement interface to fix device pathname
This extends the pseries machine type with the interface to fix firmware
pathnames for devices which have @bootindex property.
This fixes SCSI disks' device node names (which are wildcard nodes in
the device-tree), for spapr-vscsi, virtio-scsi and usb-storage.
This fixes PHB name from "pci" to "pci@XXXX" where XXXX is a BUID as
there is no bus on top of sPAPRPHBState where PHB firmware name could
be fixed using the BusClass::get_fw_dev_path() mechanism.
This stores the boot list in the /chosen/qemu,boot-list property of
the device tree. "\n" are replaced by spaces to support OF1275.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 29ee324740fa7af4b7cf0ce9295a07296e9a0f24
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:26 2014 +1100
spapr: QOM'ify pseries machine
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5a06393f1d7edc6274233533aac99a5ded1785ce
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:25 2014 +1100
spapr_vio: Fix firmware names
This changes VIO bridge fw name from spapr-vio-bridge to vdevice and
vscsi/veth node names from QEMU object names to VIO specific device tree
names.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ad4f62d0159fa2967195d095e7b532b9497fa6b0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:24 2014 +1100
spapr_llan: Add to boot device list
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6b1566cbe372660c77ca4aa7aa0071fa30f5f930
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Mar 17 13:40:23 2014 +1100
qdev: Introduce FWPathProvider interface
QEMU supports firmware names for all devices in the QEMU tree but
some architectures expect some parts of firmware path names in different
format.
This introduces a firmware-pathname-change interface definition.
If some machines needs to redefine the firmware path format, it has
to add the TYPE_FW_PATH_PROVIDER interface to an object that is above
the device on the QOM tree (typically /machine).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 30e32af7466841f5fc08a5339e2184884a7bc6f3
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 17 13:40:22 2014 +1100
vl.c: Extend get_boot_devices_list() to ignore suffixes
As suffixes do not make sense for sPAPR's device tree and
there is no way to filter them out on the BusState::get_fw_dev_path()
level, let's add an ability for the external caller to specify
whether to apply suffixes or not.
We could handle suffixes in SLOF (ignored for now) but this would require
serious rework in the node opening code in SLOF, which has no obvious
benefit for the currently emulated sPAPR machine.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a46622fd07edc6fd3c66f8ab79b4782a78b115f3
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 15:37:40 2014 +1100
spapr_hcall: Fix little-endian resource handling in H_SET_MODE
This changes resource code definitions to ones used in the host kernel.
This fixes H_SET_MODE_RESOURCE_LE (switch between big endian and
little endian) to sync registers from KVM before changing LPCR value.
This adds a set_spr() helper to update an SPR in a CPU's context to avoid
possible races and makes use of it to change LPCR.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit df99d30d4e0dd22be5572235a5213de429e00747
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 15:37:39 2014 +1100
target-ppc: Introduce powerisa-207-server flag
This flag will be used to decide whether to emulate some bits of
H_SET_MODE hypercall because some are POWER8-only.
While we are here, add 2.05 flag to POWER8 family too. POWER7/7+ already
have it.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ec83c73e5ece590538878b24dfcb422904533e0
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 5 14:02:36 2014 +0530
target-ppc: Force CPU threads count to be a power of 2
PowerPC kernel expects the number of SMT threads in a core to be a power
of 2. Since QEMU doesn't enforce this, it leads to an early guest kernel
crash if invalid threads count is specified.
Prevent this crash and make it a graceful exit from QEMU itself by
validating the user-supplied threads count.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a80172a4762465a40f6b59d10d64360bd272b700
Author: Stuart Brady <sdb@xxxxxxxxxxxx>
Date: Wed Mar 19 14:07:26 2014 +0000
target-ppc: Fix overallocation of opcode tables
create_new_table() should allocate 0x20 opc_handler_t pointers, but
actually allocates 0x20 opc_handler_t structs. Fix this.
Signed-off-by: Stuart Brady <sdb@xxxxxxxxxxxx>
Reviewed-by: Tom Musta <tommusta@xxxxxxxxx>
Tested-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d197fdbc3b83655f3c145722805f0998c04dce16
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Mar 20 00:03:57 2014 +1100
target-ppc: Reset SPRs on CPU reset
This resets SPR values to defaults on CPU reset. This should help
with little-endian guests reboot issues.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7aaf4957efad2bf6ac449d0caa9a1535f61006bc
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Fri Mar 14 19:21:49 2014 +0530
spapr_hcall: Fix h_enter to loop correctly
We wanted to loop till index is 8. On 8 we return with H_PTEG_FULL. If we
are successful in loading hpte with any other index, we continue with that
index value.
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 06c1bee85a7def8d0139ee6829728a891efe623f
Merge: d1a1451 f205da6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 23:34:42 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-2.0' into
staging
PReP machine and devices
* Raven PCI host bridge memory fixes (remainder)
# gpg: Signature made Wed 19 Mar 2014 23:35:08 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-2.0:
raven: Use raven_ for all function prefixes
raven: Fix PCI bus accesses with size > 1
raven: Add PCI bus mastering address space
raven: Set a correct PCI memory region
raven: Set a correct PCI I/O memory region
raven: Implement non-contiguous I/O region
raven: Rename intack region to pci_intack
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f205da688b3dc8f6f54220b6997ed5b910afcc54
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:25 2014 +0100
raven: Use raven_ for all function prefixes
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 2403837e67eca7eb5dfdadda25cdd38ef2dc9ad0
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:24 2014 +0100
raven: Fix PCI bus accesses with size > 1
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit d16644ec4ce1da5db24dd0a1618d814feaaf8ccb
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:23 2014 +0100
raven: Add PCI bus mastering address space
This has been tested on Linux 2.4/PPC with the lsi53c895a SCSI adapter.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 1fe9e2626f00b237a7e79d3eba4891da1bff6671
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:22 2014 +0100
raven: Set a correct PCI memory region
PCI memory region is 0x3f000000 bytes starting at 0xc0000000.
However, keep compatibility with Open Hack'Ware expectations
by adding a hack for Open Hack'Ware display.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 1ae1dc5ba241a6dd22b7359ec1b2d21dd8e66f5b
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:21 2014 +0100
raven: Set a correct PCI I/O memory region
PCI I/O region is 0x3f800000 bytes starting at 0x80000000.
Do not use global QEMU I/O region, which is only 64KB.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 9a1839164c9c8f06f4645e8207d7faee771ec78e
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:20 2014 +0100
raven: Implement non-contiguous I/O region
Remove now duplicated code from prep board.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 49a4e21251d89cdf9db8662a0d7138831f85d427
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Mar 17 23:00:19 2014 +0100
raven: Rename intack region to pci_intack
Regions added subsequently will also have the pci_ prefix.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit d1a1451cd3a60df7dbfd4fb7f616443d22be1beb
Merge: 037b7ad 7e4fb26
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 22:36:44 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* CPUState layout optimization for TCG
# gpg: Signature made Wed 19 Mar 2014 21:51:46 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
cpu: Move tcg_exit_req to the end of CPUState
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 037b7addb7f9ad5dc52c3d05da8b2f60386252ff
Merge: f71e769 abdffd1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 21:45:41 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* QOM machine memory and build fixes
* QOM link<> and child<> property reference counting fixes
# gpg: Signature made Wed 19 Mar 2014 21:44:04 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
virtio-rng: Avoid default_backend refcount leak
qom: Add check() argument to object_property_add_link()
qom: Make QOM link property unref optional
qom: Don't make link NULL on object_property_set_link() failure
qom: Split object_property_set_link()
vl.c: Fix OpenBSD compilation issue due to namespace collisions
vl.c: Fix memory leak in qemu_register_machine()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit abdffd1fb78c1b98bda925d3d59123beca6761a3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:57 2014 +0100
virtio-rng: Avoid default_backend refcount leak
QOM child properties take a reference to the object and release it when
the property is deleted. Therefore we should unref the default_backend
after we have added it as a child property.
Cc: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 39f72ef94ba74701d18daf82b44c18a60f94eb60
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:56 2014 +0100
qom: Add check() argument to object_property_add_link()
There are currently three types of object_property_add_link() callers:
1. The link property may be set at any time.
2. The link property of a DeviceState instance may only be set before
realize.
3. The link property may never be set, it is read-only.
Something similar can already be achieved with
object_property_add_str()'s set() argument. Follow its example and add
a check() argument to object_property_add_link().
Also provide default check() functions for case #1 and #2. Case #3 is
covered by passing a NULL function pointer.
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
[AF: Tweaked documentation comment]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7e4fb26d757b460de5b80b4220bcd926f7175cb2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Mar 14 15:30:10 2014 -0700
cpu: Move tcg_exit_req to the end of CPUState
Reverse an increase in the size of generated code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9561fda8d90e176bef598ba87c42a1bd6ad03ef7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:55 2014 +0100
qom: Make QOM link property unref optional
Some object_property_add_link() callers expect property deletion to
unref the link property object. Other callers expect to manage the
refcount themselves. The former are currently broken and therefore leak
the link property object.
This patch adds a flags argument to object_property_add_link() so the
caller can specify which refcount behavior they require. The new
OBJ_PROP_LINK_UNREF_ON_RELEASE flag causes the link pointer to be
unreferenced when the property is deleted.
This fixes refcount leaks in qdev.c, xilinx_axidma.c, xilinx_axienet.c,
s390-virtio-bus.c, virtio-pci.c, virtio-rng.c, and ui/console.c.
Rationale for refcount behavior:
* hw/core/qdev.c
- bus children are explicitly unreferenced, don't interfere
- parent_bus is essentially a read-only property that doesn't hold a
refcount, don't unref
- hotplug_handler is leaked, do unref
* hw/dma/xilinx_axidma.c
- rx stream "dma" links are set using set_link, therefore they
need unref
- tx streams are set using set_link, therefore they need unref
* hw/net/xilinx_axienet.c
- same reasoning as hw/dma/xilinx_axidma.c
* hw/pcmcia/pxa2xx.c
- pxa2xx bypasses set_link and therefore does not use refcounts
* hw/s390x/s390-virtio-bus.c
* hw/virtio/virtio-pci.c
* hw/virtio/virtio-rng.c
* ui/console.c
- set_link is used and there is no explicit unref, do unref
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c6aed9833419eed9de19919ff31aa021a6171521
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:54 2014 +0100
qom: Don't make link NULL on object_property_set_link() failure
The error behavior of object_property_set_link() is dangerous. It sets
the link property object to NULL if an error occurs. A setter function
should either succeed or fail, it shouldn't leave the value NULL on
failure.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f5ec6704c73932291c303d0cf72352ac26411d0d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Mar 19 08:58:53 2014 +0100
qom: Split object_property_set_link()
The path resolution logic in object_property_set_link() should be a
separate function. This makes the code easier to read and maintain.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c8897e8eb965c0d091683ffaf127c50f8231d048
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Mar 18 17:26:35 2014 +0200
vl.c: Fix OpenBSD compilation issue due to namespace collisions
Machine rewriting added MACHINE() macro which is
already in use by other OpenBSD library.
Since qemu/sockets.h exposes the OpenBSD namespace,
the minimalistic approach is to add it as the first QEMU include.
Reported-by: Brad Smith <brad@xxxxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f5946dbab388050da6d9343978a38c81cce0508d
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Mar 19 12:24:27 2014 +0100
vl.c: Fix memory leak in qemu_register_machine()
Since commit 261747f176f6 (vl: Use MachineClass instead of global
QEMUMachine list) valgrind complains about the following:
==54082== 57 bytes in 3 blocks are definitely lost in loss record 365 of
729
==54082== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==54082== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==54082== by 0x415F9E9: g_strconcat (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==54082== by 0x80157FE7: qemu_register_machine (vl.c:1597)
==54082== by 0x80208E6B: module_call_init (module.c:105)
==54082== by 0x80013B91: main (vl.c:3000)
Turns out that valgrind is right. We simply forget the memory that
g_strconcat() has allocated. Lets free it after the type_register().
We need a 2nd variable due to constness of the name part of the
type structure.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f71e769d0754dc9a593a9e17ec6693a261b29f82
Merge: ec86487 c01a71c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 19:05:13 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* Fix pointer type mismatch
# gpg: Signature made Wed 19 Mar 2014 18:51:47 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0:
exec: Fix CPU rework fallout
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c01a71c1a56fa27f43449ff59e5d03b2483658a2
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 17 17:13:12 2014 +0100
exec: Fix CPU rework fallout
Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad (cpu: Move halted and
interrupt_request fields to CPUState) passed CPUState::env_ptr to
tlb_flush() directory rather than through a typed variable.
Commit 00c8cb0a36f51a6866a83c08962d12a0eb21864b (cputlb: Change
tlb_flush() argument to CPUState) now changed the argument type.
This was unnoticed by gcc because env_ptr is a void pointer.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ec864874bd1c1e13c82f4096fd3957d26c70a680
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 16:07:30 2014 +0000
linux-user: Fix build if headers don't define _LINUX_CAPABILITY_VERSION_1
Older kernel headers don't define _LINUX_CAPABILITY_VERSION_1.
Switch to using the older _LINUX_CAPABILITY_VERSION; newer headers
still define this for source compatibility.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Acked-by: Riku Voipio <riku.voipio@xxxxxx>
commit cfd54a0409c92cbf3b2e6af39ce44a13f6940dd0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Mar 16 14:49:54 2014 +0100
target-ppc: Add missing 'static' and 'const' attributes
This fixes warnings from the static code analysis (smatch).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4c8821d13405056776d0255bb78925dac91996c3
Merge: c1b94a0 e0eb210
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 14:14:15 2014 +0000
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
* remotes/riku/linux-user-for-upstream:
linux-user: Implement capget, capset
linux-user: Don't allow guest to block SIGSEGV
signal: added a wrapper for sigprocmask function
linux-user: Don't reserve space for commpage for AArch64
linux-user: implement F_[GS]ETOWN_EX
linux-user: Don't return uninitialized value for atomic_barrier syscall
linux-user/signal.c: Correct error path for AArch64 do_rt_sigreturn
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c1b94a0ed2332b08ea7799c003c3ee9996782a3c
Merge: 319c66d 198fd05
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 13:47:22 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches for 2.0.0-rc1
# gpg: Signature made Wed 19 Mar 2014 13:03:27 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
dataplane: fix implicit IOThread refcount
block/nfs: report errors from libnfs
block/nfs: bump libnfs requirement to 1.9.3
qcow2: Fix fail path in realloc_refcount_block()
qcow2: Correct comment for realloc_refcount_block()
qemu-io: Extended "--cmd" description in usage text
qemu-io-cmds: Fixed typo in example for writev.
block: Add error handling to bdrv_invalidate_cache()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 319c66d5abfb30553895589d24b70043639ad06d
Merge: 059b352 09e0373
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 19 13:00:41 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140319' into staging
target-arm queue:
* last few A64 Neon instructions
* fix some PL011 UART bugs causing occasional serial lockups
* fix the non-PCI AHCI device
# gpg: Signature made Wed 19 Mar 2014 12:00:59 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140319:
target-arm: A64: Add saturating accumulate ops (USQADD/SUQADD)
target-arm: A64: Add saturating int ops (SQNEG/SQABS)
pl011: fix incorrect logic to set the RXFF flag
pl011: fix UARTRSR accesses corrupting the UARTCR value
pl011: reset the fifo when enabled or disabled
ahci: fix sysbus support
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af67ee9264c135f4b213b4bc1a3871c4e9ec7da3
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Mar 18 16:29:24 2014 -0300
vl.c: Use MAX_CPUMASK_BITS macro instead of hardcoded constant
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d2995916ea262bca40788f275c7f53f1c0a0b606
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Mar 18 16:29:23 2014 -0300
sysemu.h: Document what MAX_CPUMASK_BITS really limits
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 198fd05c357afff22f0b0e02639937519ed49b1f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Mar 18 17:50:52 2014 +0100
dataplane: fix implicit IOThread refcount
When creating an IOThread implicitly (the user did not specify
x-iothread=<id>) remember that iothread_find() does not return the
object with an incremented refcount.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 20fccb187c54105177a7859360e3cb7166c8f22f
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Mar 17 09:37:21 2014 +0100
block/nfs: report errors from libnfs
if an NFS operation fails we should report what libnfs knows
about the failure. It is likely more than just an error code.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b7d769c93214bd6e58d16009f47e61ccb541025c
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Mar 17 09:37:33 2014 +0100
block/nfs: bump libnfs requirement to 1.9.3
libnfs prior to 1.9.3 contains a bug that will report
wrong transfer sizes if the file offset grows beyond 4GB
and RPC responses are received out of order. this
error is not detectable and fixable in qemu.
additionally 1.9.3 introduces support for handling short
read/writes in general and takes care of the necessary
retransmissions internally.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a134d90f50806597c5da4fd191352fe62d40f71a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 17 23:04:52 2014 +0100
qcow2: Fix fail path in realloc_refcount_block()
If qcow2_alloc_clusters() fails, new_offset and ret will both be
negative after the fail label, thus passing the first if condition and
subsequently resulting in a call of qcow2_free_clusters() with an
invalid (negative) offset parameter. Fix this by introducing a new label
"fail_free_cluster" which is only invoked if new_offset is indeed
pointing to a newly allocated cluster that should be cleaned up by
freeing it.
While we're at it, clean up the whole fail path. qcow2_cache_put()
should (and actually can) never fail, hence the return value can safely
be ignored (aside from asserting that it indeed did not fail).
Furthermore, there is no reason to give QCOW2_DISCARD_ALWAYS to
qcow2_free_clusters(), a mere QCOW2_DISCARD_OTHER will suffice.
Ultimately, rename the "fail" label to "done", as it is invoked both on
failure and success.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8a15b813e6034856d4177c6ab242791795434c15
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 17 23:04:51 2014 +0100
qcow2: Correct comment for realloc_refcount_block()
Contrary to the comment describing this function's behavior, it does not
return 0 on success, but rather the offset of the newly allocated
cluster. This patch adjusts the comment accordingly to reflect the
actual behavior.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d208cc353a2860dc9614ba651439713e4ecdf9d3
Author: Maria Kustova <maxa@xxxxxxxx>
Date: Tue Mar 18 09:59:19 2014 +0400
qemu-io: Extended "--cmd" description in usage text
It's not clear from the usage description that "--cmd" option accepts
its argument as a string, so any special symbols have to be quoted from
the shell.
Updates in usage text:
- Specified parameter format for "--cmd" option.
- Added an instruction how to get help for "--cmd" option.
Signed-off-by: Maria Kustova <maria.k@xxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6e6507c06beb28e0551f68b13aa843ed1303f0f0
Author: Maria Kustova <maxa@xxxxxxxx>
Date: Tue Mar 18 09:59:17 2014 +0400
qemu-io-cmds: Fixed typo in example for writev.
Signed-off-by: Maria Kustova <maria.k@xxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5a8a30db4771675480829d7d3bf35a138e9c35f1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 12 15:59:16 2014 +0100
block: Add error handling to bdrv_invalidate_cache()
If it returns an error, the migrated VM will not be started, but qemu
exits with an error message.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 09e037354b6f940c18f417f23355cffd23f4fde5
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Tue Mar 18 23:10:06 2014 +0000
target-arm: A64: Add saturating accumulate ops (USQADD/SUQADD)
Add the saturating accumulate operations USQADD and SUQADD
to the A64 instruction set. This completes coverage of A64 Neon.
These operations (which are unsigned + signed -> signed and
signed + unsigned -> unsigned) don't exist in the A32/T32
instruction set, so require a complete new set of helper functions.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a79bc87c3acf8364abf2d47b261fa898db15885
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Tue Mar 18 23:10:06 2014 +0000
target-arm: A64: Add saturating int ops (SQNEG/SQABS)
This mostly re-uses the existing NEON helpers with an additional two for
the 64 bit case. I also took the opportunity to add TCG_CALL_NO_RWG
options to the helpers as they don't modify globals (saturation flags
are in the CPU Environment).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f72dbf3d2629be75d50b4c98816c360d82e8a848
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 13:18:41 2014 -0500
pl011: fix incorrect logic to set the RXFF flag
The receive fifo full bit should be set when 1 character is received and
the fifo is disabled or when 16 characters are in the fifo.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1395166721-15716-4-git-send-email-robherring2@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ce8f0905a59232982c8a220169e11c14c73e7dea
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 13:18:40 2014 -0500
pl011: fix UARTRSR accesses corrupting the UARTCR value
Offset 4 is UARTRSR/UARTECR, not the UARTCR. The UARTCR would be
corrupted if the UARTRSR is ever written. Fix by implementing a correct
model of the UARTRSR/UARTECR register. Reads of this register simply
reflect the error bits in data register. Only breaks can be triggered in
QEMU. With the pl011_can_receive function, we effectively have flow
control between the host and the model. Framing and parity errors simply
don't make sense in the model and will never occur.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1395166721-15716-3-git-send-email-robherring2@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 22709e90a270a36418f1b1d5d3277016eec1edc2
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 13:18:39 2014 -0500
pl011: reset the fifo when enabled or disabled
Intermittent issues have been seen where no serial input occurs. It
appears the pl011 gets in a state where the rx interrupt never fires
because the rx interrupt only asserts when crossing the fifo trigger
level. The fifo state appears to get out of sync when the pl011 is
re-configured. This combined with the rx timeout interrupt not being
modeled results in no more rx interrupts.
Disabling the fifo is the recommended way to clear the tx fifo in the
TRM (section 3.3.8). The behavior in this case for the rx fifo is
undefined in the TRM, but having fifo contents to be maintained during
configuration changes is not likely expected behavior. Reseting the
fifo state when the fifo size is changed is the simplest solution.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1395166721-15716-2-git-send-email-robherring2@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bd16430777cc3d25930e479fdbe290d92cec0888
Author: Rob Herring <rob.herring@xxxxxxxxxx>
Date: Tue Mar 18 19:36:13 2014 +0000
ahci: fix sysbus support
Non-PCI AHCI support is broken due to assertion failures when trying
to convert AHCIState to a PCIDevice pointer as AHCIState can have
different container structs. Fix this by using the non-asserting object
cast and checking the returned pointer is not NULL.
The AddressSpace pointer is also being initialized to NULL and causing
dma_memory_map call to fail. Fix this by initializing to
address_space_memory for sysbus instances.
Also correct AHCI_VMSTATE to use the correct container SysbusAHCIState
for sysbus instances.
Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxx>
Message-id: 1392073373-3295-1-git-send-email-robherring2@xxxxxxxxx
[PMM: added linebreaks to fix overlong lines]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 059b3527f0229f4d60fd77a317503d42abd5e50f
Merge: 2dda43b 2f487a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 18 16:39:29 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-2' into staging
vnc: fix vmware VGA incompatiblities
# gpg: Signature made Tue 18 Mar 2014 07:23:10 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-vnc-2:
ui/vnc: fix vmware VGA incompatiblities
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 821e3227863ea8db057190e578efa0f1f57ed9de
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Mar 18 15:49:41 2014 +0200
acpi: fix endian-ness for table ids
when using signature for table ID, we forgot to byte-swap it.
signatures are really ASCII strings, let's treat them as such.
While at it, get rid of most of _SIGNATURE macros.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c225aa3c6de64f61fe68de2e5f4e3897544daf0d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Mar 18 16:42:05 2014 +0200
acpi-test: signature endian-ness fixes
acpi table signature is really an ASCII string.
Treat it as such in tests.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2dda43bacc79f8e283702614745cd700c637de64
Merge: 315b593 1ed27a1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 18 14:31:42 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140317' into staging
target-arm queue:
* more A64 Neon instructions
* fixes to reset CBAR values for A9 and A15 boards
* fix accesses to PMCR register in -icount mode
# gpg: Signature made Mon 17 Mar 2014 22:04:52 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140317: (30 commits)
scripts/qemu-binfmt-conf.sh: Add AArch64 registration
target-arm: A64: Add [UF]RSQRTE (reciprocal root estimate)
target-arm: A64: Implement FCVTXN
target-arm: A64: Implement scalar saturating narrow ops
target-arm: A64: Move handle_2misc_narrow function
target-arm: A64: Implement AdvSIMD reciprocal estimate insns URECPE,
FRECPE
softfloat: export squash_input_denormal functions
target-arm: A64: Implement FCVTZS, FCVTZU in the shift-imm categories
target-arm: A64: Handle saturating left shifts SQSHL, SQSHLU, UQSHL
exec-all.h: Increase MAX_OP_PER_INSTR for ARM A64 decoder
target-arm: A64: Implement FRINT*
target-arm: A64: Implement SRI
target-arm: A64: Add FRECPX (reciprocal exponent)
target-arm: A64: List unsupported shift-imm opcodes
target-arm: A64: Implement FCVTL
target-arm: A64: Implement FCVTN
target-arm: A64: Implement FCVT[NMAPZ][SU] SIMD instructions
target-arm: A64: Implement SHLL, SHLL2
target-arm: A64: Implement SADDLP, UADDLP, SADALP, UADALP
target-arm: A64: Saturating and narrowing shift ops
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2fd71f1be2a2554b790fa63fc14b6b4c7683f1f3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Mon Mar 17 17:05:17 2014 +0100
i386/acpi-build: support hotplug of VCPU with APIC ID 0xFF
Building on the previous patch, raise the maximal count of processor
objects / NTFY branches / CPON elements from 255 to 256. This allows the
VCPU with APIC ID 0xFF to be hotplugged.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d07e0e9cddf02dd2abedbbf7ab0e069c8f5dabfd
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Mar 18 16:14:59 2014 +0200
acpi-test: rebuild SSDT
commit 9bcc80cd71892df42605e0c097d85c0237ff45d1
i386/acpi-build: allow more than 255 elements in CPON
Replaces 0x1 with a smaller One constant.
rebuild expected SSDT.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9bcc80cd71892df42605e0c097d85c0237ff45d1
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Mon Mar 17 17:05:16 2014 +0100
i386/acpi-build: allow more than 255 elements in CPON
The build_ssdt() function builds a number of AML objects that are related
to CPU hotplug, and whose IDs form a contiguous sequence of APIC IDs.
(APIC IDs are in fact discontiguous, but this is the traditional
interface: build a contiguous sequence from zero up that covers all
possible APIC IDs.) These objects are:
- a Processor() object for each VCPU,
- a NTFY method, with one branch for each VCPU,
- a CPON package with one element (hotplug status byte) for each VCPU.
The build_ssdt() function currently limits the *count* of processor
objects, and NTFY branches, and CPON elements, in 0xFF (see the assignment
to "acpi_cpus"). This allows for an inclusive APIC ID range of [0..254].
This is incorrect, because the highest APIC ID that we otherwise allow a
VCPU to take is 255.
In order to extend the maximum count to 256, and the traversed APIC ID
range correspondingly to [0..255]:
- the Processor() objects need no change,
- the NTFY method also needs no change,
- the CPON package must be updated, because it is defined with a
DefPackage, and the number of elements in such a package can be at most
255. We pick a DefVarPackage instead.
We replace the Op byte, and the encoding of the number of elements.
Compare:
DefPackage := PackageOp PkgLength NumElements PackageElementList
DefVarPackage := VarPackageOp PkgLength VarNumElements PackageElementList
PackageOp := 0x12
VarPackageOp := 0x13
NumElements := ByteData
VarNumElements := TermArg => Integer
The build_append_int() function implements precisely the following TermArg
encodings (a subset of what the ACPI spec describes):
TermArg := DataObject
DataObject := ComputationalData
ComputationalData := ConstObj | ByteConst | WordConst | DWordConst
directly encoded in the function, with build_append_byte():
ConstObj := ZeroOp | OneOp
ZeroOp := 0x00
OneOp := 0x01
call to build_append_value(..., 1):
ByteConst := BytePrefix ByteData
BytePrefix := 0x0A
ByteData := 0x00 - 0xFF
call to build_append_value(..., 2):
WordConst := WordPrefix WordData
WordPrefix := 0x0B
WordData := ByteData[0:7] ByteData[8:15]
call to build_append_value(..., 4):
DWordConst := DWordPrefix DWordData
DWordPrefix := 0x0C
DWordData := WordData[0:15] WordData[16:31]
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f03bd716a2935532379cff1c71c6f0f399921b70
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:54 2014 -0300
pc: Refuse max_cpus if it results in too large APIC ID
This changes the PC initialization code to reject max_cpus if it results
in an APIC ID that's too large, instead of aborting or erroring out when
it is already too late.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 798325ed3856bc1e2f2b640b7e0db60044fdddf9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:53 2014 -0300
acpi: Don't use MAX_CPUMASK_BITS for APIC ID bitmap
MAX_CPUMASK_BITS is a limit for max_cpus and CPU indexes, not for APIC
IDs.
ACPI_CPU_HOTPLUG_ID_LIMIT is the right macro for the limit on APIC IDs
on the ACPI and CPU hotplug code.
There are no functional changes introduced by this patch, as
MAX_CPUMASK_BITS + 1 == 255 + 1 == 256 == ACPI_CPU_HOTPLUG_ID_LIMIT.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 39ee3af3a85fedb55b9eeb1a0bc81a2460eeaa01
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:52 2014 -0300
acpi: Assert sts array limit on AcpiCpuHotplug_add()
AcpiCpuHotplug_add() can't handle vCPU arch IDs larger than
ACPI_CPU_HOTPLUG_ID_LIMIT. Instead of corrupting memory in case the vCPU
ID is too large, use g_assert() to ensure we are not over the limit.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5ff020b7b02dce36a66c106df986ff68f8452542
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:51 2014 -0300
pc: Refuse CPU hotplug if the resulting APIC ID is too large
The ACPI CPU hotplug code requires APIC IDs to be smaller than
ACPI_CPU_HOTPLUG_ID_LIMIT, so enforce the limit before trying to hotplug
a new vCPU, returning an error instead of crashing.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1d14ac5af04fab9ee734cc4c810f022df6745278
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Mar 14 16:33:50 2014 -0300
acpi: Add ACPI_CPU_HOTPLUG_ID_LIMIT macro
The new macro will be helpful to allow us to detect too large SMP limits
before it is too late.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3dd46eb4969baaf32f490eaf57ed23672f1daad2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 10 21:13:59 2014 +0200
acpi-test: update expected SSDT files
commit 13f65b2e1073cf7e2c8fb3880c77d8a53fa2f95e
acpi-test: update expected SSDT files
set an incorrect SSDT.
rebuild it.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2f487a3d40faff1772e14da6b921900915501f9a
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Mar 17 18:38:58 2014 +0100
ui/vnc: fix vmware VGA incompatiblities
this fixes invalid rectangle updates observed after commit 12b316d
with the vmware VGA driver. The issues occured because the server
and client surface update seems to be out of sync at some points
and the max width of the surface is not dividable by
VNC_DIRTY_BITS_PER_PIXEL (16).
Reported-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 315b59344126beab85a62b53582794b14436a5a4
Merge: cdf0592 4f3ed19
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 22:31:32 2014 +0000
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140317'
into staging
4 small patches:
- Fixing findings of valgrind regarding minor memory leaks:
Currently we forget the pointer of qemu_allocate_irqs. Since we never
free the irqs, this is not critical, but obviously not good programming
style. While we are at it, we dont need the irq infrastructure for
the sclp consoles.
- Handle new ELF error codes for BIOS loading
# gpg: Signature made Mon 17 Mar 2014 21:34:12 GMT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
* remotes/borntraeger/tags/kvm-s390-20140317:
s390x/sclpconsole-lm: Fix and simplify irq setup
s390x/sclpconsole: Fix and simplify interrupt injection
s390x/cpu hotplug: Fix memory leak
s390/ipl: Fix error path on BIOS loading
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cdf0592cb888d071e4b4f37048ad8646ac9fbc8c
Merge: 87f6396 cab0a7e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 22:15:52 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-v8p-2' into staging
* remotes/rth/tcg-v8p-2:
tcg-sparc: Convert to new ldst opcodes
tcg-sparc: Convert to new ldst helpers
tcg-sparc: Tidy tcg_out_tlb_load interface
tcg-sparc: Use TCGMemOp within qemu_ldst routines
tcg-sparc: Improve tcg_out_movi
tcg-sparc: Dont handle constant arguments to ext32 ops
tcg-sparc: Don't handle remainder
tcg-sparc: Use intptr_t as appropriate
tcg-sparc: Tidy call+jump patterns
tcg-sparc: Fix tlb read
tcg-sparc: Fix ld64 for 32-bit mode
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4f3ed190a673c0020c3ccebb4882ae4675cb5f4d
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 10 14:19:52 2014 +0100
s390x/sclpconsole-lm: Fix and simplify irq setup
valgrind complains about a memory leak in irq setup of sclpconsole:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 89of 833
==42117== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117== by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==42117== by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117== by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117== by 0x800F5685: console_init (sclpconsole.c:235)
==42117== by 0x80297C79: event_realize (event-facility.c:386)
==42117== by 0x80105071: device_set_realized (qdev.c:693)
==42117== by 0x801CDC4B: property_set_bool (object.c:1337)
==42117== by 0x801CBD7F: object_property_set (object.c:819)
[...]
We dont need the indirection of an qemu irq to inject an slcp interrupt.
Fixes a valgrind error and makes the code simpler.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
commit b074e6220542107afb9fad480a184775be591d2a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 10 14:17:04 2014 +0100
s390x/sclpconsole: Fix and simplify interrupt injection
valgrind complains about a memory leak in irq setup of sclpconsole:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 89 of 833
==42117== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117== by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==42117== by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117== by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117== by 0x800F5685: console_init (sclpconsole.c:235)
==42117== by 0x80297C79: event_realize (event-facility.c:386)
==42117== by 0x80105071: device_set_realized (qdev.c:693)
==42117== by 0x801CDC4B: property_set_bool (object.c:1337)
==42117== by 0x801CBD7F: object_property_set (object.c:819)
[...]
Turns out that we actually dont need the indirection, so trigger the
sclp interrupt directly.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
commit 7b53f2940e3bf43ae50c929330a4837ca4da7a94
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Mar 10 15:03:16 2014 +0100
s390x/cpu hotplug: Fix memory leak
valgrind complains about the following:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 88 of 833
==42117== at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117== by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117== by 0x4145569: g_malloc (in
/usr/lib64/libglib-2.0.so.0.3400.2)
==42117== by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117== by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117== by 0x8029FA4B: irq_cpu_hotplug_init (sclpcpu.c:84)
==42117== by 0x80297C79: event_realize (event-facility.c:386)
==42117== by 0x80105071: device_set_realized (qdev.c:693)
[...]
Right it is. Don't drop the pointer of the irq.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Jason J. Herne <jjherne@xxxxxxxxxx>
commit 0a1bec8a4e1c55bb581521c60db30e3f4867ceb1
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Mar 14 13:38:57 2014 +0100
s390/ipl: Fix error path on BIOS loading
commit 18674b26788a9e47f1157170234e32ece2044367
(elf-loader: add more return codes) enabled the elf loader to return
other errors than -1.
Lets also handle that case for our "BIOS" on s390.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
CC: Alexey Kardashevskiy <aik@xxxxxxxxx>
CC: Alexander Graf <agraf@xxxxxxx>
commit cab0a7ea002b0a01ebfbde5d3c8ace0b6848ffcc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 9 19:51:21 2013 -0700
tcg-sparc: Convert to new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7ea5d7256d06a04e8953b25f7766c9e32fa408e8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Mar 5 09:42:08 2014 -0800
tcg-sparc: Convert to new ldst helpers
All of the helpers with the explicit big/little endian option
require the return address as a parameter. Acquire this via
a trampoline.
Move the load of areg0 into the trampoline.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a8b12c108c364587213396c3cd3e22d740f87e2e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 15:01:14 2013 -0700
tcg-sparc: Tidy tcg_out_tlb_load interface
Pass address registers explicitly, rather than as indicies of args[].
It's two argument registers either way. Use more TCGReg as appropriate.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit eef0d9e740be3fb3b8226d8dffb0871455d45ce5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 20:12:01 2013 -0700
tcg-sparc: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9c7d27bd189c8df698fac1369f718e7fa30d9d9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 9 21:07:09 2013 -0700
tcg-sparc: Improve tcg_out_movi
If bits 31:13 are zero, reduce the insn count by one.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d0a60681a287e5697fa5b537dabb77f9c9c7f04
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 4 15:24:04 2014 -0800
tcg-sparc: Dont handle constant arguments to ext32 ops
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f9eb02555e743bdeb2e22ea3c43a36cb9dad72f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 19:22:15 2013 -0700
tcg-sparc: Don't handle remainder
The generic fallback is exactly what we implemented.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8fc56cedda388641a3a5e1650db9a58c2280549
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 18:31:45 2013 -0700
tcg-sparc: Use intptr_t as appropriate
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aad2f06a7f03d06945e727373e4e059997220529
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 18:25:38 2013 -0700
tcg-sparc: Tidy call+jump patterns
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d801a8f2ce9b89aef6006992ea1c573be817d80b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 17:19:12 2013 -0700
tcg-sparc: Fix tlb read
We were computing the full address into %o0 and then not using it.
Adjust some of the computation to rely less on having to pull immediate
values into registers.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e7bc9004e729d4db1fdced5ccc09a322df53723f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 14:20:00 2013 -0700
tcg-sparc: Fix ld64 for 32-bit mode
Since were not using an annulled branch, we need to put a nop
in the delay slot.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1ed27a17cd9d9ebec8963bc358d74060b1dd6127
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:53 2014 +0000
scripts/qemu-binfmt-conf.sh: Add AArch64 registration
Add the binfmt-misc magic needed to register QEMU for handling AArch64
ELF binaries.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-26-git-send-email-peter.maydell@xxxxxxxxxx
commit c2fb418e35be3eb1f60987174f94c029f7d4dd7d
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:53 2014 +0000
target-arm: A64: Add [UF]RSQRTE (reciprocal root estimate)
This adds support for [UF]RSQRTE instructions. It utilises the existing
NEON helpers with some changes. The changes include an explicit passing
of fpstatus (so the correct one is used between arm32 and aarch64),
denormilzation, more correct error handling and also proper scaling of
the fraction going into the estimate.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-25-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5553955eb6ec890f324a2ff6c6cc1365b98b981f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:53 2014 +0000
target-arm: A64: Implement FCVTXN
Implement the FCVTXN operation, which does a narrowing fp precision
conversion using the "round to odd" (von Neumann) mode. This can
conveniently be implemented as "do operation using round to zero;
then set the LSB of the mantissa to 1 if the Inexact flag was set".
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-24-git-send-email-peter.maydell@xxxxxxxxxx
commit 5201c13654c35e5e0173a9947848f3a9f9a5a8bc
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:52 2014 +0000
target-arm: A64: Implement scalar saturating narrow ops
This completes the set of integer narrowing saturating ops including:
SQXTN, SQXTN2
SQXTUN, SQXTUN2
UQXTN, UQXTN2
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-23-git-send-email-peter.maydell@xxxxxxxxxx
commit 8b092ca9ef06fd308ecf1d46c805f938a95acc21
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:52 2014 +0000
target-arm: A64: Move handle_2misc_narrow function
Move the handle_2misc_narrow() function up the file so that it can
be called from disas_simd_scalar_two_reg_misc().
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-22-git-send-email-peter.maydell@xxxxxxxxxx
commit b6d4443a7bf607c5ca5d4b8dabffc421e571f4eb
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:52 2014 +0000
target-arm: A64: Implement AdvSIMD reciprocal estimate insns URECPE,
FRECPE
Implement URECPE and FRECPE instructions in both scalar and vector forms.
The actual reciprocal estimate function is shared with the A32/T32 Neon
code. However in A64 we aren't using the Neon "standard FPSCR value"
so extra checks are necessary to handle non-squashed denormal inputs
which can never happen for A32/T32. Calling conventions for the helpers
are thus modified to pass the fpst directly; we mark the helpers as
TCG_CALL_NO_RWG since we're changing the declarations anyway.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-21-git-send-email-peter.maydell@xxxxxxxxxx
commit 7baeabce1d25c667d0ec7e4e74a1312e0b887b54
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
softfloat: export squash_input_denormal functions
I need these available outside of softfloat for some of the reciprocal
processing in aarch64 helper functions.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-20-git-send-email-peter.maydell@xxxxxxxxxx
commit 2ed3ea110f47a7e3639281edb1d6483b1efce6c3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
target-arm: A64: Implement FCVTZS, FCVTZU in the shift-imm categories
Implement FCVTZS and FCVTZU in the shift-imm and scalar-shift-imm
categories; this completes the implementation of those two groups.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-19-git-send-email-peter.maydell@xxxxxxxxxx
commit a847f32c04538e92675c7b27f5f60d2eaad3e56c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
target-arm: A64: Handle saturating left shifts SQSHL, SQSHLU, UQSHL
Implement the saturating left shift instructions SQSHL, SQSHLU
and UQSHL for the scalar-shift-imm and shift-imm categories.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-18-git-send-email-peter.maydell@xxxxxxxxxx
commit 14dcdac82f398cbac874c8579b9583fab31c67bf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:51 2014 +0000
exec-all.h: Increase MAX_OP_PER_INSTR for ARM A64 decoder
The ARM A64 decoder's worst case number of TCG ops per instruction
is 266 (for insn 0x4c800000, a post-indexed ST4 multiple-structures
store). Raise the MAX_OP_PER_INSTR define accordingly.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-17-git-send-email-peter.maydell@xxxxxxxxxx
commit 03df01ed9a83a22790f3fd1cfbe7fc48caf9bfd0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: Implement FRINT*
Implement the FRINT* round-to-integral operations from
the 2-reg-misc category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-16-git-send-email-peter.maydell@xxxxxxxxxx
commit 37a706adbf96fbb05abbb8b17b14aebee266f2d1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: Implement SRI
Implement SRI (shift right and insert).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-15-git-send-email-peter.maydell@xxxxxxxxxx
commit 8f0c6758b0e1c3b9676e7c3ccea8a176537cf843
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: Add FRECPX (reciprocal exponent)
These are fairly simple exponent only estimation functions using helpers.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-14-git-send-email-peter.maydell@xxxxxxxxxx
commit a566da1b02704a79038043ddbe850f40b033cd63
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:50 2014 +0000
target-arm: A64: List unsupported shift-imm opcodes
Add the remaining unsupported opcodes to the decode switches
for the shift-imm and scalar shift-imm categories so we can
see what is still to be implemented.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-13-git-send-email-peter.maydell@xxxxxxxxxx
commit 931c8cc270793877f8d7bf9934ac9fa3fb7800be
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement FCVTL
Implement FCVTL, the only instruction in the 2-reg-misc group
which widens from size to 2*size elements.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-12-git-send-email-peter.maydell@xxxxxxxxxx
commit 261a5b4dd1dc6c68b274cc39bb5d4d236b24d4cd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement FCVTN
Implement FCVTN (narrowing fp-to-fp conversions) from the SIMD
2-reg-misc category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-11-git-send-email-peter.maydell@xxxxxxxxxx
commit 04c7c6c261c3000c851eb177a7d32236828f4be2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement FCVT[NMAPZ][SU] SIMD instructions
Implement the floating-point-to-integer conversion instructions
FCVT[NMAPZ][SU] in the 2-reg-misc and scalar-2-reg-misc
categories.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-10-git-send-email-peter.maydell@xxxxxxxxxx
commit 73a81d10fda3cb45e62efd6829f19debb9f54073
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:49 2014 +0000
target-arm: A64: Implement SHLL, SHLL2
Implement the SHLL and SHLL2 instructions from the 2-reg-misc
category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-9-git-send-email-peter.maydell@xxxxxxxxxx
commit 6781fa119f3f403bcab59142faa9581aff974358
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:48 2014 +0000
target-arm: A64: Implement SADDLP, UADDLP, SADALP, UADALP
Implement the SADDLP, UADDLP, SADALP and UADALP instructions
in the SIMD 2-reg misc category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-8-git-send-email-peter.maydell@xxxxxxxxxx
commit c1b876b2e9a47e3e36be57a4f3d167b19c5f586a
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:48 2014 +0000
target-arm: A64: Saturating and narrowing shift ops
This implements the remaining [US][Q][R]SHR[U][N][2] opcodes, which are
saturating and narrowing shift right operations. These are used in
things like libav. Note signed shifts can have an "unsigned" saturating
narrow operation which will floor negative values.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394822294-14837-7-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: Added the scalar encodings, style tweaks]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b05c3068577f6caea6f1911b9e03d52dbf84f475
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:48 2014 +0000
target-arm: A64: Add remaining CLS/Z vector ops
Implement the CLS, CLZ operations in the 2-reg-misc category.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-6-git-send-email-peter.maydell@xxxxxxxxxx
commit f612537e0706761d5692deaa72516695ef0a2ac8
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Add FSQRT to C3.6.17 (two misc)
Implement FSQRT in the two-reg-misc category.
GCC uses this instruction form.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 10113b6903c0256c1741918430b0304c5a60b7a8
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Add last AdvSIMD Integer to FP ops
This adds the remaining [US]CVTF operations to the SIMD
shift-immediate, scalar-shift-immediate, two-reg-misc and
scalar-two-reg-misc groups of opcodes.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394822294-14837-4-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: added scalar 2-misc and scalar-shift-imm encodings]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cf4ab1af296b8ef5d5a1dc65fda804b88ddd0553
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Fix bug in add_sub_ext handling of rn
rn == 31 always means SP (not XZR) whether an add_sub_ext
instruction is setting the flags or not; only rd has behaviour
dependent on whether we are setting flags.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-3-git-send-email-peter.maydell@xxxxxxxxxx
commit a984e42c916ad5afdf3f8660f284857547943aa4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:47 2014 +0000
target-arm: A64: Implement PMULL instruction
Implement the PMULL instruction; this is the last unimplemented insn
in the three-reg-diff group.
Note that PMULL with size 3 is considered part of the AES part
of the crypto extensions (see the ID_AA64ISAR0_EL1 register definition
in the v8 ARM ARM), so it isn't necessary to burn an extra feature
bit on it, even though we're using more feature bits than a single
"crypto extension present/not present" toggle.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394822294-14837-2-git-send-email-peter.maydell@xxxxxxxxxx
commit d6d60581f3f6778de85ee23427006151b5226667
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:46 2014 +0000
target-arm: Add ARM_CP_IO notation to PMCR reginfo
Now that the PMCR writefn makes timer accesses, its reginfo needs
the ARM_CP_IO flag, so that icount mode works correctly. (Fixes
the bug accidentally introduced in commit 7c2cb42b).
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394908291-16546-1-git-send-email-peter.maydell@xxxxxxxxxx
commit ba7500852d8c3926a732892236765eee1bcaea93
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:46 2014 +0000
virt: Set reset-cbar on CPUs
Set the reset-cbar property on CPUs used by the virt board,
if they have it. This isn't necessary for correct functioning
under Linux (since the A9 isn't a valid CPU for the virt board),
but it is the correct behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 4719ab918a837fb12f34599139f2c7c0137ca703
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:46 2014 +0000
exynos4210: Set reset-cbar property of Cortex-A9 CPUs
Set the reset-cbar property of the Exynos4210 SoC's Cortex-A9
CPUs, so that Linux doesn't misrecognize them as a broken
uniprocessor SoC.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-4-git-send-email-peter.maydell@xxxxxxxxxx
commit b5a3ca3e3028ab86131920b45a19d553f278bdb4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:45 2014 +0000
realview-pbx-a9: Set reset-cbar property for CPUs
If the CPU is a Cortex-A9 then we should set its reset-cbar property
so that the guest can read the correct PERIPHBASE/CBAR register value;
newer versions of the Linux kernel (as of commit bc41b8724 in 3.12)
will otherwise assume the CPU is a buggy single core A9 SoC. The
realview-pbx-a9 is the only one of the cluster of boards in realview.c
which works with the Cortex-A9 (ie which gets an a9mpcore_priv device);
make sure it also has reset-cbar set correctly.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 9948c38bd9aef8fa762a1b62b9fccc35e11a6fd5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 16:31:45 2014 +0000
vexpress: Set reset-cbar property for CPUs
Newer versions of the Linux kernel (as of commit bc41b8724 in 3.12)
now assume that if the CPU is a Cortex-A9 and the reset value of the
PERIPHBASE/CBAR register is zero then the CPU is a specific buggy
single core A9 SoC, and will not try to start other cores. Since we
now have a CPU property for the reset value of the CBAR, we can
just fix the vexpress board model to correctly set CBAR so SMP
works again. To avoid duplicate boilerplate code in both the A9
and A15 daughterboard init functions, we split out the CPU and
private memory region init to its own function.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Rob Herring <rob.herring@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1394462692-8871-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 87f639629334c4592c3ba1011af0f691db1e7ed1
Merge: 087edb5 2bda660
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 15:51:57 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-gtk-3' into staging
gtk: warp bugfixes.
gtk: Allow to activate grab-on-hover from the command line
# gpg: Signature made Mon 17 Mar 2014 13:35:35 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-gtk-3:
gtk: Don't warp absolute pointer
gtk: Fix mouse warping with gtk3
gtk: Allow to activate grab-on-hover from the command line
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2bda66028b4962c36d4eabe2995edab12df93691
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Mar 13 15:30:24 2014 -0400
gtk: Don't warp absolute pointer
This matches the behavior of SDL, and makes the mouse usable when
using -display gtk -vga qxl
https://bugzilla.redhat.com/show_bug.cgi?id=1051724
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 298526fe92d0b35ea343f8ddcc3a1d54cb422494
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Thu Mar 13 15:30:23 2014 -0400
gtk: Fix mouse warping with gtk3
We were using the wrong coordinates, this fixes things to match the
original gtk2 implementation.
You can see this error in action by using -vga qxl, however even after
this
patch the mouse warps in small increments up and to the left, -7x and -3y
pixels at a time, until the pointer is warped off the widget. I think it's
a qxl bug, but the next patch covers it up.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 881249c79292b6883ecf4bdb79c11cc7dbdb4878
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Mar 12 08:33:50 2014 +0100
gtk: Allow to activate grab-on-hover from the command line
As long as we have no persistent GTK configuration, this allows to
enable the useful grab-on-hover feature already when starting the VM.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
[ kraxel: fix warning with CONFIG_GTK=n ]
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e0eb210ec0c1cd262e3f642133ee93acdaf60aa0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 12:15:35 2014 +0000
linux-user: Implement capget, capset
Implement the capget and capset syscalls. This is useful because
simple programs like 'ls' try to use it in AArch64, and otherwise
we emit a lot of noise about it being unimplemented.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 087edb503afebf184f07078900efc26c73035e98
Merge: f4b11ee 025172d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 17 13:05:48 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/fixes-for-2.0' into staging
* remotes/bonzini/fixes-for-2.0:
vl.c: Output error on invalid machine type
target-alpha: fix subl and s8subl indentation
qemu-nbd: Fix coverity issues
rules.mak: Fix per object libs extraction
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 025172d56e11ba3d86d0937933a23aab3b8606b1
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Fri Mar 14 13:06:54 2014 +0100
vl.c: Output error on invalid machine type
Output error message using qemu's error_report() function when user
provides the invalid machine type on the command line. This also saves
time to find what issue is when you downgrade from one version of qemu
to another that doesn't support required machine type yet (the version
user downgraded to have to have this patch applied too, of course).
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
[Replace printf with error_printf, suggested by Markus Armbruster. -
Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 83d1c8ae881e88d70cf23bc8007cf5739313d23c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Mar 15 19:33:15 2014 +0100
target-alpha: fix subl and s8subl indentation
Two missing braces, one close and one open, fabulously let the code
compile.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0c544d73bbb4c8612b7754a8e1c8b0c8af1617ff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Mar 14 18:10:54 2014 +0100
qemu-nbd: Fix coverity issues
There are two issues in qemu-nbd: a missing return value check after
calling accept(), and file descriptor leaks in nbd_client_thread.
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6295b98d7b767c377d88fa787ca62603a8ca6adb
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Mar 14 10:21:05 2014 +0800
rules.mak: Fix per object libs extraction
Don't sort the extracted options, sort the objects.
Reported-by: Christian Mahnke <cmahnke@xxxxxxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f4b11eee2f562c23b3efc33b96ba4542c9ca81aa
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Mar 17 09:35:22 2014 +0800
Makefile: Fix "make clean"
This fixes a dangerous bug: "make clean" after "make distclean" will
delete every single file including those under .git, if you do in-tree
build!
Rationale: A first "make distclean" will unset $(DSOSUF), a following
"make distclean" or "make clean" will find all the files and delete it.
Fix it by explicitly typing the file extensions here, and combine
multiple find invocations into one.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Message-id: 1395020122-4957-1-git-send-email-famz@xxxxxxxxxx
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a7ec0f98e3a37a4d31c832cfa14dc2c1c0890421
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 14 14:36:56 2014 +0000
linux-user: Don't allow guest to block SIGSEGV
Don't allow the linux-user guest to block SIGSEGV -- QEMU needs this
signal to detect accesses to pages which it has marked read-only
because it has cached translated code from them.
We implement this by making the do_sigprocmask() wrapper suppress
SIGSEGV when doing the host process signal mask manipulation; instead
we store the current state of SIGSEGV in the TaskState struct.
If we get a SIGSEGV for the guest when the guest has blocked the
signal, we treat it as if the default SEGV handler was in place,
as the kernel does for forced SIGSEGV delivery.
This patch is based on an idea by Alex Barcelo, but rather than
simply lying to the guest about the SIGSEGV state we track it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Alex Barcelo <abarcelo@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1c275925bfbbc2de84a8f0e09d1dd70bbefb6da3
Author: Alex Barcelo <abarcelo@xxxxxxxxxx>
Date: Fri Mar 14 14:36:55 2014 +0000
signal: added a wrapper for sigprocmask function
Create a wrapper for signal mask changes initiated by the guest;
(this includes syscalls and also the sigreturns from signal.c)
this will give us a place to put code which prevents the guest
from changing the handling of signals used by QEMU itself
internally.
The wrapper is called from all the guest-initiated sigprocmask, but
is not called from internal qemu sigprocmask calls.
Signed-off-by: Alex Barcelo <abarcelo@xxxxxxxxxx>
[PMM: Added calls to wrapper for sigprocmask uses in signal.c
when setting the signal mask on entry and exit from signal
handlers, since these also are guest-provided signal masks.]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 6b1275ff15b205a7738aa8ba96fe355f097b5879
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 12:59:17 2014 +0000
linux-user: Don't reserve space for commpage for AArch64
AArch64 Linux, unlike AArch32, doesn't use a commpage. This means we
should not be reserving room in the guest address space for one.
Fixes LP:1287195.
Reported-by: Amanieu d'Antras <amanieu@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 8d5d30046b9aadfeee60e09fe79c063f419993db
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Fri Mar 7 15:24:08 2014 +0100
linux-user: implement F_[GS]ETOWN_EX
F_GETOWN is replaced by F_GETOWN_EX inside the glibc fcntl wrapper
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 3b899ea7d405dc7634ac629aa7b0e7639d506d9f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 13:06:01 2014 +0000
linux-user: Don't return uninitialized value for atomic_barrier syscall
QEMU's implementation of the m68k atomic_barrier syscall, like the
kernel's,
is just a no-op. However we still need to return a result code from it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 7f72cd235fa33f2fc7a8d1cc4d621bf7db61e9eb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 13:06:00 2014 +0000
linux-user/signal.c: Correct error path for AArch64 do_rt_sigreturn
The error path in AArch64 do_rt_sigreturn() which fails before
attempting lock_user_struct() was doing an unlock_user_struct()
on an uninitialized variable. Initialize frame to NULL so we
can use the same error-exit path in all cases (unlock of NULL
is permitted and does nothing).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 6fffa26244737f8fd8641a21fee29bd6aa9fdff5
Merge: e638308 9c749e4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 15 18:22:10 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-03-15' into staging
trivial patches for 2014-03-15
# gpg: Signature made Sat 15 Mar 2014 09:54:30 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-03-15:
FSL eTSEC: Fix typo in rx ring
scripts/make-release: Don't distribute .git directories
configure: Don't use __int128_t for clang versions before 3.2
audio: Add 'static' attributes to several variables
tests: Fix 'make test' for i686 hosts (build regression)
misc: Fix typos in comments
Add qga/qapi-generated to .gitignore
hw/timer/grlib_gptimer: Avoid integer overflows
.travis.yml: add IRC notifications for build failures
.travis.yml: trivial whitespace fixup
.travis.yml: re-enable lttng user space trace test
.travis.yml: add a new build target with non-core devlibs
sasl: Avoid 'Could not find keytab file' in syslog
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e6383080977ef1c761a00005ed533695acbe81e1
Merge: 4191d0e 582ab77
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 15 18:03:15 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-aarch-6-2' into staging
* remotes/rth/tcg-aarch-6-2:
tcg-aarch64: Introduce tcg_out_insn_3405
tcg-aarch64: Support div, rem
tcg-aarch64: Support muluh, mulsh
tcg-aarch64: Support add2, sub2
tcg-aarch64: Support deposit
tcg-aarch64: Use tcg_out_insn for setcond
tcg-aarch64: Support movcond
tcg-aarch64: Support andc, orc, eqv, not, neg
tcg-aarch64: Handle constant operands to and, or, xor
tcg-aarch64: Handle constant operands to add, sub, and compare
tcg-aarch64: Implement mov with tcg_out_insn
tcg-aarch64: Introduce tcg_out_insn_3401
tcg-aarch64: Convert shift insns to tcg_out_insn
tcg-aarch64: Introduce tcg_out_insn
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9c749e4dbe65e61e159ad822a4110167c2c108fe
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Fri Mar 14 17:51:41 2014 +0100
FSL eTSEC: Fix typo in rx ring
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 379e21c258d5faf0cd7c6f9208347726e14ae241
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri Mar 14 12:49:13 2014 -0400
scripts/make-release: Don't distribute .git directories
[crobinso@localhost qemu-2.0.0-rc0]$ find . -name .git
./dtc/.git
./pixman/.git
This is already done for the rom submodules.
https://bugs.launchpad.net/qemu/+bug/1224414
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a00f66ab9b3021e781695a73c579b6292501ab37
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 7 10:43:38 2014 +0100
configure: Don't use __int128_t for clang versions before 3.2
Those versions don't fully support __int128_t.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 69df1c3c9d937a2b4f005a5bad0fefd21b39f383
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Mar 5 22:21:32 2014 +0100
audio: Add 'static' attributes to several variables
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6d4adef48dd6bb738474ab857f4fcb240ff9d2d6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 7 11:11:22 2014 +0100
tests: Fix 'make test' for i686 hosts (build regression)
'make test' is broken at least since commit
baacf04799ace72a9c735dd9306a1ceaf305e7cf. Several source files were moved
to util/, and some of them there split, so add the missing prefix and new
files to fix the compiler and linker errors.
There remain more issues, but these changes allow running the test on a
Linux i686 host.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3b163b0165b1eee51afd00aeae8d2ad41d05c2a2
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Mar 7 19:48:59 2014 +0100
misc: Fix typos in comments
Codespell found and fixed these new typos:
* doesnt -> doesn't
* funtion -> function
* perfomance -> performance
* remaing -> remaining
A coding style issue (line too long) was fixed manually.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f214530f56b99be507e40cc261c9616ec84b72d3
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Mon Mar 10 14:08:59 2014 -0400
Add qga/qapi-generated to .gitignore
The folder "qga/qapi-generated" shows up after building QEMU, and
gets in the way during e.g. "git add ."; Add it to .gitignore to
keep it from accidentally ending up in the wrong place.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9d5614d582d23ec96b167583557bf3f25f64f050
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Sun Feb 16 12:12:38 2014 +0100
hw/timer/grlib_gptimer: Avoid integer overflows
The GPTIMER uses 32-bit registers. Use a 64-bit operation to get the
ptimer count, otherwise we end up with a count of 0 for GPTIMER counter
values of 0xffffffff.
Use the GPTIMER counter value for tracing to avoid an overflow of the
32-bit value passed to trace_grlib_gptimer_enable().
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 39d16d29c81295be72dbae6e6bc7adc58deacb41
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:53 2014 +0000
.travis.yml: add IRC notifications for build failures
I'm trying to avoid spamming the IRC channel (not overly likely as
builds take a while). So failure will always be reported but if the
build continues to work then the IRC notifications will be quiet.
Note any GitHub based repository with Travis enabled will use this
notification. If it proves to be too spammy we may want to ask users not
to use Travis themselves although this seems sub-optimal.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cc13eead53b2e4cf5f209fec606aebf11c1dc8a8
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:52 2014 +0000
.travis.yml: trivial whitespace fixup
Purely cosmetic but satisfies my OCD.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 86c3b20a5f654ae444ba6bd1a7b0516e0a17541d
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:51 2014 +0000
.travis.yml: re-enable lttng user space trace test
This build was disabled while the lttng tracing was broken. Stefan has
recently submitted a pull request with it re-enabled.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6d585ca55999aec2bcfcbf04c3cbecbb952b7302
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Wed Mar 12 14:13:50 2014 +0000
.travis.yml: add a new build target with non-core devlibs
The current builds don't include all the features which are
auto-detected and then disabled when the appropriate test packages don't
exist. I've added another target that enables all known additional
packages for increased coverage. I didn't add it to the core package
list to reduce build time.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dfb3804d478bce02350bdf87534dc7dd3d1ded51
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Mar 14 15:39:36 2014 +0100
sasl: Avoid 'Could not find keytab file' in syslog
The "keytab" specification in "qemu.sasl" only makes sense if "gssapi" is
selected in "mech_list". Even if the latter is not done (ie. "gssapi" is
not selected), the cyrus-sasl library tries to open the specified keytab
file, although nothing has a use for it outside the gssapi backend.
Since the default keytab file "/etc/qemu/krb5.tab" is usually absent, the
cyrus-sasl library emits a warning to syslog at startup, which tends to
annoy users (who didn't ask for gssapi in the first place).
Comment out the keytab specification per default.
"qemu-doc.texi" already correctly explains how to use "mech_list: gssapi"
together with "keytab:".
See also:
- upstream libvirt commit fe772f24,
- Red Hat Bugzilla <https://bugzilla.redhat.com/show_bug.cgi?id=1018434>.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
ACKed-By: Cole Robinson <crobinso@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4191d0eb414b14bcf3eab803095566aeb9b198f0
Merge: 03d5142 46dea41
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 14 18:44:22 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 14 Mar 2014 16:12:14 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
qemu-iotests: remove 085 and 087 from 'quick' group
qemu-iotests: add 083 NBD client disconnect tests
tests: add nbd-fault-injector.py utility
nbd: close socket if connection breaks
block: Explicitly specify 'unsigned long long' for VHDX 64-bit constants
blockdev: Refuse to open encrypted image unless paused
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 03d51428e2da0188a0adea00cbd713cc1e967e7a
Merge: 5d92c74 aa7a6a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 14 18:17:25 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
virtio-scsi: actually honor sense_size from configuration space
scsi: Fix migration of scsi sense data
spapr-vscsi: fix CRQ status
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 582ab779c5cf9c941909faa65e092b6b492e2da6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:57:36 2013 -0700
tcg-aarch64: Introduce tcg_out_insn_3405
Cleaning up the implementation of tcg_out_movi at the same time.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 8678b71ce61a337109bca27b058a9027ff1c24ae
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:29:18 2013 -0700
tcg-aarch64: Support div, rem
Clean up multiply at the same time.
For remainder, generic code will produce mul+sub,
whereas we can implement with msub.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 1fcc9ddfb3c42431c027eb490613b51491202daa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:03:27 2013 -0700
tcg-aarch64: Support muluh, mulsh
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit c6e929e7847cb440dbda8ae562a1fb1fdc5f0c77
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 13:30:07 2013 -0700
tcg-aarch64: Support add2, sub2
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit b3c56df769c4b53b91219a0993f8ab8fcb25857b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 13:05:07 2013 -0700
tcg-aarch64: Support deposit
Also tidy the implementation of ubfm, sbfm, extr in order to share code.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit ed7a0aa8bc15a5278c8e76b83c359167c021ce86
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 11 18:54:46 2013 -0700
tcg-aarch64: Use tcg_out_insn for setcond
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 04ce397b337cb1f81cde54d2b5dd7d6f0e08fffd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 9 23:58:19 2013 -0400
tcg-aarch64: Support movcond
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 14b155ddc4358342fcec7891615a4303b698221c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 9 23:15:44 2013 -0400
tcg-aarch64: Support andc, orc, eqv, not, neg
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit e029f29385d0f9116c717d2e7a9c55d4bac8fe8a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 11:27:03 2013 -0700
tcg-aarch64: Handle constant operands to and, or, xor
Handle a simplified set of logical immediates for the moment.
The way gcc and binutils do it, with 52k worth of tables, and
a binary search depth of log2(5334) = 13, seems slow for the
most common cases.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 90f1cd9138deba50a6ff15a7f520c8e35ae870ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 09:56:14 2013 -0700
tcg-aarch64: Handle constant operands to add, sub, and compare
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 7d11fc7c2b853fe01b5166a9de01ca94d0787b85
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 14:49:18 2013 -0700
tcg-aarch64: Implement mov with tcg_out_insn
Avoid the magic numbers in the current implementation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 096c46c0ff3ad1db6048373620b44bef19f8408f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 14:37:08 2013 -0700
tcg-aarch64: Introduce tcg_out_insn_3401
This merges the implementation of tcg_out_addi and tcg_out_subi.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit df9351e372cb4a9d3079fcc5c7edead10b2a288e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 13:49:17 2013 -0700
tcg-aarch64: Convert shift insns to tcg_out_insn
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 50573c66ebba29e96222390645d0adeb64f814cd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 13 12:10:08 2013 -0700
tcg-aarch64: Introduce tcg_out_insn
Converting the add/sub (3.5.2) and logical shifted (3.5.10) instruction
groups to the new scheme.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
commit 46dea4160d587add2f3670306c41ad9ad4064af5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 13 10:28:01 2014 +0100
qemu-iotests: remove 085 and 087 from 'quick' group
The 'quick' group in qemu-iotests are not allowed to run QEMU since we
don't know which targets are available. In other words, they may only
use qemu-img, qemu-io, and qemu-nbd.
Drop 085 and 087 from the 'quick' group since they run QEMU. This
makes "make check-block" pass again.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dc668ded1009f88da5e31bc5a143cf3e9070d49b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 26 15:30:20 2014 +0100
qemu-iotests: add 083 NBD client disconnect tests
This new test case uses nbd-fault-injector.py to simulate broken TCP
connections at each stage in the NBD protocol. This way we can exercise
block/nbd-client.c's socket error handling code paths.
In particular, this serves as a regression test to make sure
nbd-client.c doesn't cause an infinite loop by leaving its
nbd_receive_reply() fd handler registered after the connection has been
closed. This bug was fixed in an earlier patch.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e8ece0db3e8604d3a17bbd2bd1277161851a44a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 26 15:30:19 2014 +0100
tests: add nbd-fault-injector.py utility
The nbd-fault-injector.py script is a special kind of NBD server. It
throws away all writes and produces zeroes for reads. Given a list of
fault injection rules, it can simulate NBD protocol errors and is useful
for testing NBD client error handling code paths.
See the patch for documentation. This scripts is modelled after Kevin
Wolf <kwolf@xxxxxxxxxx>'s blkdebug block driver.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4a41a2d68a684241aca96dba066e0699941b730d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Feb 26 15:30:18 2014 +0100
nbd: close socket if connection breaks
nbd_receive_reply() is called by the event loop whenever data is
available or the socket has been closed by the remote side.
This patch closes the socket when an error occurs to prevent the
nbd_receive_reply() handler from being called indefinitely after the
connection has failed.
Note that we were already correctly returning EIO for pending requests
but leaving the nbd_receive_reply() handler registered resulted in high
CPU consumption and a flood of error messages.
Reuse nbd_teardown_connection() to close the socket.
Reported-by: Zhifeng Cai <bluewindow@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 62e466e84592900756f080802782d0615c6a3b5c
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Mar 14 06:50:37 2014 -0400
block: Explicitly specify 'unsigned long long' for VHDX 64-bit constants
On 32-bit hosts, some compilers will warn on too large integer constants
for constants that are 64-bit in length. Explicitly put a 'ULL' suffix
on those defines.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3adb58fe0b2db4942f5b2f5d19bc51a29b93a89
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 14 09:22:48 2014 +0100
blockdev: Refuse to open encrypted image unless paused
Opening an encrypted image takes an additional step: setting the key.
Between open and the key set, the image must not be used.
We have some protection against accidental use in place: you can't
unpause a guest while we're missing keys. You can, however, hot-plug
block devices lacking keys into a running guest just fine, or insert
media lacking keys. In the latter case, notifying the guest of the
insert is delayed until the key is set, which may suffice to protect
at least some guests in common usage.
This patch makes the protection apply in more cases, in a rather
heavy-handed way: it doesn't let you open encrypted images unless
we're in a paused state.
It doesn't extend the protection to users other than the guest (block
jobs?). Use of runstate_check() from block.c is disgusting. Best I
can do right now.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aa7a6a399f8253d3831465b1db8544032b49f57a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Mar 6 11:18:53 2014 +0100
virtio-scsi: actually honor sense_size from configuration space
We were always truncating the sense size to 96 bytes.
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2e323f03bfa323636552b386c982412944ff86ae
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Mar 6 16:26:02 2014 +0800
scsi: Fix migration of scsi sense data
c5f52875 changed the size of sense array in vmstate_scsi_device by
mistake. This patch restores the old size, and add a subsection for the
remaining part of the buffer size. So that migration is not broken.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 22956a3755749b9cf6375ad024d58c1d277100bf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Mar 5 16:15:16 2014 +1100
spapr-vscsi: fix CRQ status
Normally VIOSRP_OK (0) means success and non-zero value means error
except VIOSRP_OK2 (0x99) which is another success code by weird accident.
This uses 0 as success code always as some guests do not cope with
the 0x99 value well. The existing linux driver checks for both VIOSRP_OK
and VIOSRP_OK2 since 2.6.32.
This returns non-zero code (VIOSRP_ADAPTER_FAIL == 0x10) on errors which
can only happen if DMA write failed.
Suggested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5d92c74f8a1728a202ba9457872ab0f27ff15e81
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Mar 13 20:08:15 2014 -0700
Update version for v2.0-rc0
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b19fc63cadb2815d5bcb1ec25b22849e455cbb31
Merge: 90c5d39 01c22f2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 21:50:39 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.0'
into staging
QOM/QTest infrastructure fixes
* QOM cast fix for virtserialport and regression test
* QTest error handling fix
* QTest output cleanup
# gpg: Signature made Thu 13 Mar 2014 20:43:34 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-2.0:
main-loop: Suppress "I/O thread spun" warnings for qtest
qtest: Fix crash if SIGABRT during qtest_init()
virtio-console-test: Test virtserialport as well
virtio-console: Fix VIRTIO_CONSOLE() cast macro
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 90c5d39cb847d7f360454950be647cd83cacea58
Merge: 8bf0975 7effdaa
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 21:27:54 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0
* Fixes for -device VGA
# gpg: Signature made Thu 13 Mar 2014 19:57:12 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
spapr: Fix return value of vga initialization
Fix vga_interface_type for command line argument '-device VGA'
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 01c22f2cdd4fcf02276ea10f48253850a5fd7259
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 14:17:29 2014 +0000
main-loop: Suppress "I/O thread spun" warnings for qtest
When running under qtest we don't actually have any vcpu threads
to be starved, so the warning about the I/O thread spinning isn't
relevant, and the way qtest manipulates the simulated clock means
the warning is produced a lot as a false positive. Suppress it if
qtest_enabled(), so 'make check' output is less noisy.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cb201b4872f16dfbce63f8648b2584631e2e965f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 13 10:41:34 2014 +0100
qtest: Fix crash if SIGABRT during qtest_init()
If an assertion fails during qtest_init() the SIGABRT handler is
invoked. This is the correct behavior since we need to kill the QEMU
process to avoid leaking it when the test dies.
The global_qtest pointer used by the SIGABRT handler is currently only
assigned after qtest_init() returns. This results in a segfault if an
assertion failure occurs during qtest_init().
Move global_qtest assignment inside qtest_init(). Not pretty but let's
face it - the signal handler depends on global state.
Reported-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f33f991185bccd22963c256437b9d8ea63361ff5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 16:47:24 2014 +0100
virtio-console-test: Test virtserialport as well
A test is only as good as its coverage - testing virtserialport in
addition to virtconsole showed that commit
0399a3819b27083ba69b88a9baa9025facab85bd (virtio-console: QOM cast
cleanup for VirtConsole) broke virtserialport.
Acked-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit be21c336162f5f4269131faffb1c6461cf57b74a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 17:12:53 2014 +0100
virtio-console: Fix VIRTIO_CONSOLE() cast macro
Commit 0399a3819b27083ba69b88a9baa9025facab85bd (virtio-console: QOM
cast cleanup for VirtConsole) broke virtserialport since it shares
functions and state struct with virtconsole. Let virtconsole inherit
from virtserialport, and use virtserialport type for casting.
Note that virtio-serial-port is the abstract base type in
virtio-serial-bus.c, whereas virtserialport is the user-instantiatable
type in virtio-console.c. Therefore using TYPE_VIRTIO_CONSOLE_SERIAL_PORT.
Reported-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Acked-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8bf0975902bb23aea98da91e3a102bae3e1d94a6
Merge: bbbd67f d0b2542
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 20:09:11 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-2.0' into
staging
PReP machine and devices
* ppc_rom.bin update
* Raven PCI host bridge preparations for OpenBIOS
# gpg: Signature made Thu 13 Mar 2014 19:28:37 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-2.0:
raven: Move BIOS loading from board code to PCI host
prep: Update ppc_rom.bin
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7effdaa32198b7077c51e29621dfca3d1b14e420
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 10 22:37:41 2014 +0800
spapr: Fix return value of vga initialization
Before spapr_vga_init will returned false if the vga is specified by
the command '-device VGA' because vga_interface_type was evaluated to
VGA_NONE. With the change in previous patch of this series,
spapr_vga_init should return true if it's told that the vga will be
initialized in flow of the generic devices initialization.
To keep '-nodefaults' have the semantics of bare minimum, it adds a
check of 'has_defaults' in usb_enabled() to avoid that a USB controller
is added by '-nodefautls, -device VGA' implicitly.
This patch also makes two cleanups:
1. skip initialization for VGA_NONE
2. remove the useless 'break'
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d44229c54f7477035c7e914dd12c84e01bbd4123
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Mon Mar 10 22:37:40 2014 +0800
Fix vga_interface_type for command line argument '-device VGA'
Some machine (like pseries) initialization code determines if it has
graphics according to vga_interface_type. In the original code,
vga_interface_type is evaluated to VGA_NONE even if a VGA is added
via '-device VGA'. It causes the machine not aware of the graphics
device configured. Add a new VGA device type to indicate that it has a
VGA device, which will be initialized in QOM device initialization.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d0b25425749d5525b2ba6d9d966d8800a5643b35
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Nov 5 00:09:45 2013 +0100
raven: Move BIOS loading from board code to PCI host
Raven datasheet explains where firmware lives in system memory, so do
it there instead of in board code. Other boards using the same PCI
host will not have to copy the firmware loading code.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
[AF: Drop BIOS size workaround in favor of replacing our firmware blob]
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 4c1410d59c6d02882b97ded8c3144bfbd039e0df
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Mar 12 18:43:01 2014 +0100
prep: Update ppc_rom.bin
This increases file size from 512 KiB to 1 MiB.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit bbbd67f0ccdba93702e58879997c1d2ca67311b1
Merge: d7f0a59 2ef1f68
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 19:13:33 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/qom-cpu-for-2.0' into
staging
QOM CPUState refactorings / X86CPU
* Deadlock fix for exit requests around CPU reset
* X86CPU x2apic for KVM
* X86CPU model subclasses
* SPARCCPU preparations for model subclasses
* -cpu arguments for arm, cris, lm32, moxie, openrisc, ppc, sh4, uc32
* m68k assertion cleanups
* CPUClass hooks for cpu.h inline functions
* Field movements from CPU_COMMON to CPUState and follow-up cleanups
# gpg: Signature made Thu 13 Mar 2014 19:06:56 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-cpu-for-2.0: (58 commits)
user-exec: Change exception_action() argument to CPUState
cputlb: Change tlb_set_page() argument to CPUState
cputlb: Change tlb_flush() argument to CPUState
cputlb: Change tlb_flush_page() argument to CPUState
target-microblaze: Replace DisasContext::env field with MicroBlazeCPU
target-cris: Replace DisasContext::env field with CRISCPU
exec: Change cpu_abort() argument to CPUState
exec: Change memory_region_section_get_iotlb() argument to CPUState
cputlb: Change tlb_unprotect_code_phys() argument to CPUState
cpu-exec: Change cpu_resume_from_signal() argument to CPUState
exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument
exec: Change cpu_watchpoint_{insert,remove{,_by_ref,_all}} argument
target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook
translate-all: Change tb_flush_jmp_cache() argument to CPUState
translate-all: Change tb_gen_code() argument to CPUState
translate-all: Change cpu_io_recompile() argument to CPUState
translate-all: Change tb_check_watchpoint() argument to CPUState
translate-all: Change cpu_restore_state_from_tb() argument to CPUState
translate-all: Change cpu_restore_state() argument to CPUState
cpu-exec: Change cpu_loop_exit() argument to CPUState
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2ef1f68d4f6630e6c77071d2dd979123d1b4d0ed
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Sep 4 08:54:24 2013 +0200
user-exec: Change exception_action() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0c591eb0a9d0593d71d7cb61f4184222ac14fdd2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 13:59:37 2013 +0200
cputlb: Change tlb_set_page() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 00c8cb0a36f51a6866a83c08962d12a0eb21864b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Sep 4 02:19:44 2013 +0200
cputlb: Change tlb_flush() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 31b030d4abc5bea89c2b33b39d3b302836f6b6ee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Sep 4 01:29:02 2013 +0200
cputlb: Change tlb_flush_page() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0063ebd6ac5ce0a17896d05f117757a6ebf3ca96
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 20:02:48 2013 +0200
target-microblaze: Replace DisasContext::env field with MicroBlazeCPU
This cleans up some mb_env_get_cpu() needed for cpu_abort().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0dd106c5f098466aae7a87362b98467f09863079
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 18:42:27 2013 +0200
target-cris: Replace DisasContext::env field with CRISCPU
This cleans up repeated cris_env_get_cpu() for cpu_abort().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a47dddd7348d3e75ad650ef5e2ca9c3b13a600ac
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 17:38:47 2013 +0200
exec: Change cpu_abort() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d7f0a59ff02affb8270ad9b6ee7e60974ac92df0
Merge: 4a9a1f4 d58b912
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 18:37:00 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-6' into
staging
input: activate legacy kbd
gtk: Add mouse wheel support
# gpg: Signature made Thu 13 Mar 2014 10:34:17 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-6:
gtk: Add mouse wheel support
input: activate legacy kbd
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bb0e627a84752707e629fde5534558ac08e7c521
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 13:32:01 2013 +0200
exec: Change memory_region_section_get_iotlb() argument to CPUState
It no longer needs CPUArchState since moving watchpoints to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit baea4fae7b6d75ce0d1aeb2be0a223c7be8f4161
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 10:51:26 2013 +0200
cputlb: Change tlb_unprotect_code_phys() argument to CPUState
Note that the argument is unused.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ea8cb8895a9f9adea89fb202984dcd9e890e504
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Sep 3 02:12:23 2013 +0200
cpu-exec: Change cpu_resume_from_signal() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3310ab3380995af2c640a3ffd82f6e7b352c9e6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Sep 2 17:26:20 2013 +0200
exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument
Use CPUState. Allows to clean up CPUArchState in gdbstub.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 75a34036d43dc961cbef2a4705682d0666caf384
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Sep 2 16:57:02 2013 +0200
exec: Change cpu_watchpoint_{insert,remove{,_by_ref,_all}} argument
Use CPUState. This lets us drop a few local env usages.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d0e39c5d70c4e0a9c41ef816a19887fd8f55c665
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Sep 2 14:14:24 2013 +0200
target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 611d4f996f650294483ff4b01c3140651e2dd29c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:52:07 2013 +0200
translate-all: Change tb_flush_jmp_cache() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 648f034c6cd81c64d93a1cfd7bb262006f560649
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:43:17 2013 +0200
translate-all: Change tb_gen_code() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 90b40a696a6bcfac88529930d4d1e1599878dae3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:21:47 2013 +0200
translate-all: Change cpu_io_recompile() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 239c51a54fe2a1ffc5108f496caae79e5be0cabc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:12:23 2013 +0200
translate-all: Change tb_check_watchpoint() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74f10515d1b6e6064e4161157f8c98095c49065f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 17:02:58 2013 +0200
translate-all: Change cpu_restore_state_from_tb() argument to CPUState
And normalize the argument order.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3f38f309b22d9a30b5b427501eb3d522c439482e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Sep 1 16:51:34 2013 +0200
translate-all: Change cpu_restore_state() argument to CPUState
This lets us drop some local variables in tlb_fill() functions.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5638d180d6c469fc4c56127a3c717e8b9f27d925
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Aug 27 17:52:12 2013 +0200
cpu-exec: Change cpu_loop_exit() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d5a11fefef1eeed86a8f06021067ba9990729a5a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Aug 27 00:28:06 2013 +0200
exec: Change tlb_fill() argument to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f0c3c505a8ec1a948006b3a16a35864a2270a84b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 21:22:53 2013 +0200
cpu: Move breakpoints field from CPU_COMMON to CPUState
Most targets were using offsetof(CPUFooState, breakpoints) to determine
how much of CPUFooState to clear on reset. Use the next field after
CPU_COMMON instead, if any, or sizeof(CPUFooState) otherwise.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ff4700b05cfb305a880762c288b88ca01c782352
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 18:23:18 2013 +0200
cpu: Move watchpoint fields from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0429a9719551a4aa794051aeb8c7b42658902c27
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 18:14:44 2013 +0200
cpu: Move opaque field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 27103424c40ce71053c07d8a54ef431365fa9b7f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 08:31:06 2013 +0200
cpu: Move exception_index field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6f03bef0ffc5cd75ac5ffcca0383c489ae48108c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 06:22:03 2013 +0200
cpu: Move jmp_env field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8cd70437f385fc53f34481d506cf4a18ebe75976
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 06:03:38 2013 +0200
cpu: Move tb_jmp_cache field from CPU_COMMON to CPUState
Clear it on reset.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 28ecfd7a62fafe8f4f0b35a157005f4d13913043
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 05:51:49 2013 +0200
cpu: Move icount_decr field from CPU_COMMON to CPUState
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit efee734004c42ba185098086e5185d8a85ed02af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 05:39:29 2013 +0200
cpu: Move icount_extra field from CPU_COMMON to CPUState
Reset it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 99df7dce8ae81e4a42dac98094ccca3a32dcf8f8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 05:15:23 2013 +0200
cpu: Move can_do_io field from CPU_COMMON to CPUState
Rename can_do_io() to cpu_can_do_io() and change argument to CPUState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 93afeade09680c657e109bf192dbf70233e4ebbe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 03:41:01 2013 +0200
cpu: Move mem_io_{pc,vaddr} fields from CPU_COMMON to CPUState
Reset them.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7510454e3e74aafa2e6c50388bf24904644b6a96
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 26 03:01:33 2013 +0200
cpu: Turn cpu_handle_mmu_fault() into a CPUClass hook
Note that while such functions may exist both for *-user and softmmu,
only *-user uses the CPUState hook, while softmmu reuses the prototype
for calling it directly.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7372c2b926200db295412efbb53f93773b7f1754
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 13:24:49 2014 +0000
target-m68k: Remove custom qemu_assert() function
Remove the custom qemu_assert() function defined by
target-m68k/translate.c
in favour of either using glib g_assert_not_reached() (for the genuinely
can't-happen cases) or cpu_abort() (for the "this isn't implemented",
in line with other unimplemented cases in the target).
This has the benefit of silencing some clang warnings about
variables used while uninitialized (which are emitted because
clang can't figure out that qemu_assert(0, something) never
returns.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9262685b818512215f0829f0dc95c2363898a1ad
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 03:17:10 2014 +0100
cpu: Factor out cpu_generic_init()
All targets using it gain the ability to set -cpu name,key=value,...
options via the default TYPE_CPU CPUClass::parse_features()
implementation.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1590bbcb02921dfe8e3cf66e3a3aafd31193babf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Mar 3 23:33:51 2014 +0100
cpu: Implement CPUClass::parse_features() for the rest of CPUs
CPUs who do not provide their own implementation of feature parsing
will treat each option as a QOM property and set it to the supplied
value.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 247bf011f67c4037df7bfcd11ff0106e06f439c9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 01:26:33 2014 +0100
target-sparc: Defer SPARCCPU feature inference to QOM realize
Gets it out of cpu_sparc_register() and aligns with target-arm.
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 433ac7a968ccff83f0d0e9a3c3921bc208175239
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 00:38:58 2014 +0100
target-sparc: Implement CPUClass::parse_features() for SPARCCPU
Factor cpu_model parsing out of cpu_sparc_find_by_name() by passing
cpu_sparc_find_by_name() the name portion only and calling
CPUClass::parse_features() from cpu_sparc_register() afterwards.
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db5d39f7866d3b02e06b91b0404061a4da00cd6c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Mar 3 23:47:54 2014 +0100
target-sparc: Use error_report() for CPU error reporting
Replace non-debug fprintf() with error_report().
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 94a444b295cddad008483eb928925a793af5aa9b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Mar 3 23:19:19 2014 +0100
cpu: Introduce CPUClass::parse_features() hook
Adapt the X86CPU implementation to suit the generic hook.
This involves a cleanup of error handling to cope with NULL errp.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d940ee9b787d37a9ea90f4379a79825ade08bb05
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Feb 10 08:21:30 2014 -0200
target-i386: X86CPU model subclasses
Register separate QOM types for each x86 CPU model.
This will allow management code to more easily probe what each CPU model
provides, by simply creating objects using the appropriate class name,
without having to restart QEMU.
This also allows us to eliminate the qdev_prop_set_globals_for_type()
hack to set CPU-model-specific global properties.
Instead of creating separate class_init functions for each class, I just
used class_data to store a pointer to the X86CPUDefinition struct for
each CPU model. This should make the patch shorter and easier to review.
Later we can gradually convert each X86CPUDefinition field to lists of
per-class property defaults.
The "host" CPU model is special, as the feature flags depend on KVM
being initialized. So it has its own class_init and instance_init
function, and feature flags are set on instance_init instead of
class_init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[AF: Limit the host CPU type to CONFIG_KVM as build fix]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 500050d1e0fd4bf61bd77915f5e42e2180cf6f7d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Feb 10 22:02:44 2014 +0100
target-i386: Prepare CPUClass::class_by_name for X86CPU
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Tested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ef02ef5f4536dba090b12360a6c862ef0e57e3bc
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 11:58:12 2014 -0300
target-i386: Enable x2apic by default on KVM
When on KVM mode, enable x2apic by default on all CPU models.
Normally we try to keep the CPU model definitions as close as the real
CPUs as possible, but x2apic can be emulated by KVM without host CPU
support for x2apic, and it improves performance by reducing APIC access
overhead. x2apic emulation is available on KVM since 2009 (Linux
2.6.32-rc1), there's no reason for not enabling x2apic by default when
running KVM.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8fb4f821e93a75431973bf3a11bacd924e43816c
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 11:58:11 2014 -0300
target-i386: Introduce x86_cpu_compat_disable_kvm_features()
Instead of the feature-specific disable_kvm_pv_eoi() function, create a
more general function that can be used to disable other feature bits in
machine-type compat code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5fcca9ff3b7bd6567bc1a9488f2481f163de46ba
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 11:58:10 2014 -0300
target-i386: Make kvm_default_features an array
We will later make the KVM-specific code affect other feature words,
too.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74f54bc4bab8ccc5e0692c3aee479c155a701343
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Feb 19 16:39:21 2014 -0300
target-i386: Don't declare variables in the middle of blocks
Some of my recent changes introduced variable declarations in the middle
of code blocks.
Fix the code so that it compiles without warnings when using
-Wdeclaration-after-statement.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9576de75734488e9774bdcb0ce4d7a38a8dc7901
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:58 2014 -0200
target-i386: Rename x86_def_t to X86CPUDefinition
As the new X86CPU subclass code is going to change lots of the code
invoving x86_def_t, let's rename the struct to match coding style first.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 285f025d2c804de78d4f3a90cd1efa4c8907d641
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:57 2014 -0200
target-i386: Call x86_cpu_load_def() earlier
As we will initialize the X86CPU fields on instance_init eventually,
move the code that initializes the X86CPU data based on the CPU model
name closer to the object_new() call.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c080e30ec8727d7b8c4995fe288852541aa58b06
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:56 2014 -0200
target-i386: Rename cpu_x86_register() to x86_cpu_load_def()
There isn't any kind of "registration" involved in cpu_x86_register()
anymore: it is simply looking up a CPU model name and loading the model
definition data into the X86CPU object. Rename it to x86_cpu_load_def()
to reflect what it does.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8c2e1b0093aa4a89548df47d969217d8b0dfd070
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 25 18:53:55 2013 +0200
cpu: Turn cpu_has_work() into a CPUClass hook
Default to false.
Tidy variable naming and inline cast uses while at it.
Tested-by: Jia Liu <proljc@xxxxxxxxx> (or32)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1cf5ccbca8915277098727d900d52c495a711f88
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 20:02:29 2014 +0100
target-xtensa: Clean up ENV_GET_CPU() usage
Commits a00817cc4c18b7872e92765a4736fb2227cc237b and
fdfba1a298ae26dd44bcfdb0429314139a0bc55a added usages of ENV_GET_CPU()
macro in target-specific code.
Use xtensa_env_get_cpu() instead.
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 62864712b3c585545365e332a041b515e319a3b8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:58:13 2014 +0100
target-unicore32: Clean up ENV_GET_CPU() usage
Commit fdfba1a298ae26dd44bcfdb0429314139a0bc55a added a usage of
ENV_GET_CPU() macro in target-specific code.
Use uc32_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2fad1112dbbac5b5428707e03bddd89cd20e21d2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:51:00 2014 +0100
target-sparc: Clean up ENV_GET_CPU() usage
Commits fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 and
f606604f1c10b60ef294f1b9b229426521a365e3 added usages of ENV_GET_CPU()
macro in target-specific code.
Use sparc_env_get_cpu() instead and reuse the variables.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2efc6be2eaacc289fbfb865198d290b0f6d2ac6e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:40:08 2014 +0100
target-s390x: Clean up ENV_GET_CPU() usage
Commits f606604f1c10b60ef294f1b9b229426521a365e3,
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 and
5ce5944dc0ffdc43c11b5cad11e526f699aabe4c added usages of ENV_GET_CPU()
macro in target-specific code.
Use s390_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 33276f1b9cf0cc2a1f3ccedb20d3850fb2b97c1d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:29:41 2014 +0100
target-ppc: Clean up ENV_GET_CPU() usage
Commits fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
ab1da85791340e504d10487e1add81b9988afa98,
f606604f1c10b60ef294f1b9b229426521a365e3 and
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 added usages of ENV_GET_CPU()
macro in target-specific code.
Use ppc_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19d6ca16d9079a29e95307948f80f9ef02f7582c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:15:27 2014 +0100
target-i386: Clean up ENV_GET_CPU() usage
Commits fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
f606604f1c10b60ef294f1b9b229426521a365e3 and
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 added usages of ENV_GET_CPU()
macro in target-specific code.
Use x86_env_get_cpu() or reuse existing X86CPU variable instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70d74660e7024c6725543b791d9c8138abedd433
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 19:10:29 2014 +0100
target-arm: Clean up ENV_GET_CPU() usage
Commits ab1da85791340e504d10487e1add81b9988afa98,
fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
2c17449b3022ca9623c4a7e2a504a4150ac4ad30 added usages of ENV_GET_CPU()
macro to target-specific code.
Use arm_env_get_cpu() instead and enforce separating variable
declarations.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2810ffd34a89b697f0ad4aeebf2d5f2c2abc79e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Mar 9 18:58:57 2014 +0100
target-alpha: Clean up ENV_GET_CPU() usage
Commits 2c17449b3022ca9623c4a7e2a504a4150ac4ad30,
fdfba1a298ae26dd44bcfdb0429314139a0bc55a,
ab1da85791340e504d10487e1add81b9988afa98 and
f606604f1c10b60ef294f1b9b229426521a365e3 added usages of ENV_GET_CPU()
macro in target-specific code.
Use alpha_env_get_cpu() instead.
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9d111183d5d67be6252dd4a4e688ef4ad323f817
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Feb 13 15:07:14 2014 +1000
cpu: Don't clear cpu->exit_request on reset
cpu->exit_request is part of the execution environment and should
not be cleared when a CPU resets.
Otherwise, we might deadlock QEMU if a CPU resets while there is
I/O going on.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a9a1f49c58fb0cbdd17ad3de2cc682aad3230b8
Merge: 57fac92 ac1b84d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 17:19:14 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-chardev-1' into
staging
char: restore read callback on a reattached (hotplug) chardev
# gpg: Signature made Thu 13 Mar 2014 10:29:34 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-chardev-1:
char: restore read callback on a reattached (hotplug) chardev
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 57fac92c2d4487d5c45e1ca96df6790f96c9e64c
Merge: 41975b2 57ed25b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 15:33:04 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Thu 13 Mar 2014 13:50:49 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request: (24 commits)
block/raw-win32: bdrv_parse_filename() for hdev
block/raw-posix: Strip protocol prefix on creation
block/raw-posix: bdrv_parse_filename() for cdrom
block/raw-posix: bdrv_parse_filename() for floppy
block/raw-posix: bdrv_parse_filename() for hdev
qemu-io: Fix warnings from static code analysis
block: Unlink temporary file
qcow2: Don't write with BDRV_O_INCOMING
qcow2: Keep option in qcow2_invalidate_cache()
qmp: add query-iothreads command
iothread: stash thread ID away
dataplane: replace internal thread with IOThread
iothread: add "iothread" qdev property type
qdev: make get_pointer() handle temporary strings
iothread: add I/O thread object
aio: add aio_context_acquire() and aio_context_release()
rfifolock: add recursive FIFO lock
object: add object_get_canonical_path_component()
block: Rewrite the snapshot authorization mechanism for block filters.
iotests: Test corruption during COW request
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 41975b269cf1503c735f8233f8ef373d74f1f137
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Mar 13 14:27:59 2014 +0100
oslib-posix: Fix build on FreeBSD
Commit 10f5bff622cad71645e22c027b77ac31e51008ef (util: Split out
exec_dir from os_find_datadir) moved code from os-posix.c to
util/oslib-posix.c but forgot to move a FreeBSD #include alongside,
needed for CTL_KERN among others.
Cc: Fam Zheng <famz@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1394717279-23406-1-git-send-email-andreas.faerber@xxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 57ed25b1b08a43f29326df064d43b6420a23b5ba
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:45 2014 +0100
block/raw-win32: bdrv_parse_filename() for hdev
The "host_device" protocol driver should strip the "host_device:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc28c6aa46334be01f3e65a74601ae38f94bd602
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:44 2014 +0100
block/raw-posix: Strip protocol prefix on creation
The hdev_create() implementation in block/raw-posix.c is used by the
"host_device", "host_cdrom" and "host_floppy" protocol block drivers
together. Thus, any of the associated prefixes may occur and exactly one
should should be stripped, if it does (thus,
"host_device:host_cdrom:/dev/cdrom" is not shortened to "/dev/cdrom").
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 18fa1c42a314a3e18f097b28ec5189a144d36f99
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:43 2014 +0100
block/raw-posix: bdrv_parse_filename() for cdrom
The "host_cdrom" protocol drivers should strip the "host_cdrom:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d3f49845831d75fa2e2a5dab04cb78fb12f8a2bc
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:42 2014 +0100
block/raw-posix: bdrv_parse_filename() for floppy
The "host_floppy" protocol driver should strip the "host_floppy:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7af803d4f80efb56c250f16409501994e60adf60
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Mar 8 00:39:41 2014 +0100
block/raw-posix: bdrv_parse_filename() for hdev
The "host_device" protocol driver should strip the "host_device:" prefix
from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f988388025c230ef3293cc0c3820cb40e03adfbf
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Mar 5 22:23:00 2014 +0100
qemu-io: Fix warnings from static code analysis
Smatch complains about several global symbols which should be local.
Add the missing 'static' attributes and move the 'extern' declaration
of variable qemuio_misalign to qemu-io.h. This variable also changes
the type from 'int' to 'bool' which better fits documents its use.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9562f69cfdc55c7c1625bb88df1637fed182e68b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Feb 15 18:03:21 2014 +0100
block: Unlink temporary file
If the image file cannot be opened and was created as a temporary file,
it should be deleted; thus, in this case, we should jump to the
"unlink_and_fail" label and not just to "fail".
Reported-by: Benoît Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 27eb6c097c132bf9fc49d73554b0160293b630cd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 11 15:15:03 2014 +0100
qcow2: Don't write with BDRV_O_INCOMING
qcow2_open() causes writes when repairing an image with the dirty flag
set and when clearing autoclear flags. It shouldn't do this when another
qemu instance is still actively working on this image file.
One effect of the bug is that images may have a cleared dirty flag while
the migration source host still has it in use with lazy refcounts
enabled, so refcounts are not accurate and the dirty flag must remain
set.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d475e5acd2f4679d6ce458369ee658dbd60227e9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 11 17:42:41 2014 +0100
qcow2: Keep option in qcow2_invalidate_cache()
Instead of manually building a list of all options from BDRVQcowState
values just reuse the options that were used to open the image.
qcow2_open() won't fully use all of the options in the QDict, but that's
okay.
This fixes all of the driver-specific options in qcow2, except for
lazy-refcounts, which was special cased before.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dc3dd0d2bed6edf3b60041f31200c674348168e9
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 27 11:48:42 2014 +0100
qmp: add query-iothreads command
The "query-iothreads" command returns a list of information about
iothreads. See the patch for API documentation.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88eb7c29e4320597d2f246adf731f0aac97cfbcc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 27 11:48:41 2014 +0100
iothread: stash thread ID away
Keep the thread ID around so we can report it via QMP.
There's only one problem: qemu_get_thread_id() (gettid() wrapper on
Linux) must be called from the thread itself. There is no way to get
the thread ID outside the thread.
This patch uses a condvar to wait for iothread_run() to populate the
thread_id inside the thread.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 48ff269272f18d2b8fa53cb08365df417588f585
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:08 2014 +0100
dataplane: replace internal thread with IOThread
Today virtio-blk dataplane uses a 1:1 device-per-thread model. Now that
IOThreads have been introduced we can generalize this to N:M devices per
threads.
This patch drops thread code from dataplane in favor of running inside
an IOThread AioContext.
As a bonus we solve the case where a guest keeps submitting I/O requests
while dataplane is trying to stop. Previously the dataplane thread
would continue to process requests until the request gave it a break.
Now we can shut down in bounded time thanks to
aio_context_acquire/release.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6e4a876b433f78f72724f45ae3f9e26596da1b4d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:07 2014 +0100
iothread: add "iothread" qdev property type
Add a "iothread" qdev property type so devices can be hooked up to an
IOThread from the comand-line:
qemu -object iothread,id=iothread0 \
-device some-device,x-iothread=iothread0
Note that Paolo Bonzini <pbonzini@xxxxxxxxxx> has suggested using QOM
links instead. This way the relationship between the objects is
reflected in QOM. There are currently shortcomings of
object_property_add_link() which prevent this use case. I will attempt
to fix them and move to QOM links in a separate series.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d1de46448d0d52183c397d76fbc86cb614ed21b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Mar 3 11:30:06 2014 +0100
qdev: make get_pointer() handle temporary strings
get_pointer()'s print() callback might return a heap allocated
string, to avoid adding dedicated get_pointer_foo for this case
convert current print() callbacks to return temporary heap
allocated string and make get_pointer() free it.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit be8d8537668c9be7a8dee6aed94b2b3f9fcd4a9f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:05 2014 +0100
iothread: add I/O thread object
This is a stand-in for Michael Roth's QContext. I expect this to be
replaced once QContext is completed.
The IOThread object is an AioContext event loop thread. This patch adds
the concept of multiple event loop threads, allowing users to define
them.
When SMP guests run on SMP hosts it makes sense to instantiate multiple
IOThreads. This spreads event loop processing across multiple cores.
Note that additional patches are required to actually bind a device to
an IOThread.
[Andreas Färber <afaerber@xxxxxxx> pointed out that the embedded parent
object instance should be called "parent_obj" and have a newline
afterwards. This patch has been changed to reflect this.
-- Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 98563fc3ec44c1becce6f1720ad6b0a82ed101b4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:04 2014 +0100
aio: add aio_context_acquire() and aio_context_release()
It can be useful to run an AioContext from a thread which normally does
not "own" the AioContext. For example, request draining can be
implemented by acquiring the AioContext and looping aio_poll() until all
requests have been completed.
The following pattern should work:
/* Event loop thread */
while (running) {
aio_context_acquire(ctx);
aio_poll(ctx, true);
aio_context_release(ctx);
}
/* Another thread */
aio_context_acquire(ctx);
bdrv_read(bs, 0x1000, buf, 1);
aio_context_release(ctx);
This patch implements aio_context_acquire() and aio_context_release().
Note that existing aio_poll() callers do not need to worry about
acquiring and releasing - it is only needed when multiple threads will
call aio_poll() on the same AioContext.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2da61b671eb89fcaa306738f44eed472977d6587
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:03 2014 +0100
rfifolock: add recursive FIFO lock
QemuMutex does not guarantee fairness and cannot be acquired
recursively:
Fairness means each locker gets a turn and the scheduler cannot cause
starvation.
Recursive locking is useful for composition, it allows a sequence of
locking operations to be invoked atomically by acquiring the lock around
them.
This patch adds RFifoLock, a recursive lock that guarantees FIFO order.
Its first user is added in the next patch.
RFifoLock has one additional feature: it can be initialized with an
optional contention callback. The callback is invoked whenever a thread
must wait for the lock. For example, it can be used to poke the current
owner so that they release the lock soon.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11f590b1a242492a0108da42f40f0e2b20f0a778
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Mar 3 11:30:02 2014 +0100
object: add object_get_canonical_path_component()
It is often useful to find an object's child property name. Also use
this new function to simplify the implementation of
object_get_canonical_path().
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b5042a36229b4fa5eeb66bbcde78f704975aec00
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Mon Mar 3 19:11:34 2014 +0100
block: Rewrite the snapshot authorization mechanism for block filters.
This patch keep the recursive way of doing things but simplify it by
giving
two responsabilities to all block filters implementors.
They will need to do two things:
-Set the is_filter field of their block driver to true.
-Implement the bdrv_recurse_is_first_non_filter method of their block
driver like
it is done on the Quorum block driver. (block/quorum.c)
[Paolo Bonzini <pbonzini@xxxxxxxxxx> pointed out that this patch changes
the semantics of blkverify, which now recurses down both bs->file and
s->test_file.
-- Stefan]
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 98d39e34fe95f8609be3ccbd1b67926631d2c7c0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 10 23:44:09 2014 +0100
iotests: Test corruption during COW request
Extend test file 060 by a test case for corruption occuring concurrently
to a COW request. QEMU should not crash but rather return an appropriate
error message.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 938789ea92b3073ad1113b3e1bdf90d469ea4bf4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 10 23:44:08 2014 +0100
block: bs->drv may be NULL in bdrv_debug_resume()
Currently, bdrv_debug_resume() requires every bs->drv in the BDS stack
to be NULL until a bs->drv with an implementation of bdrv_debug_resume()
is found. For a normal function, this would be fine, but this is a
function for debugging purposes and should therefore allow intermediate
BDS not to have a driver (i.e., be "ejected"). Otherwise, it is hard to
debug such situations.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dba2855572c746836ad90ce9154403b5929d996b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Mar 10 23:44:07 2014 +0100
qcow2: Check bs->drv in copy_sectors()
Before dereferencing bs->drv for a call to its member bdrv_co_readv(),
copy_sectors() should check whether that pointer is indeed valid, since
it may have been set to NULL by e.g. a concurrent write triggering the
corruption prevention mechanism.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3456a8d1852e970688b73d03fdc44dde851759e1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Mar 11 10:58:39 2014 +0100
block: Update image size in bdrv_invalidate_cache()
After migration has completed, we call bdrv_invalidate_cache() so that
drivers which cache some data drop their stale copy of the data and
reread it from the image file to get a new version of data that the
source modified while the migration was running.
Reloading metadata from the image file is useless, though, if the size
of the image file stays stale (this is a value that is cached for all
image formats in block.c). Reads from (meta)data after the old EOF
return only zeroes, causing image corruption.
We need to update bs->total_sectors in all layers that could potentially
have changed their size (i.e. backing files are not a concern - if they
are changed, we're in bigger trouble)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 26d49c46750aff62c8c6e7a8b14c79d4114a8e53
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Mar 7 23:10:12 2014 +0100
qcow2-refcount: Sanitize refcount table entry
When reading the refcount table entry in get_refcount(), only bits which
are actually significant for the refcount block offset should be taken
into account.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit be86c53c058d75fc3938b1b54f363259f282b3d5
Merge: c8d146a 295d51a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 13:19:46 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into
staging
PowerPC queue for 2.0-rc0
* QEMUMachine include cleanup
* SLOF update
* XICS reset fix
* sPAPR PCI host bridge refactorings
# gpg: Signature made Thu 13 Mar 2014 02:50:51 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/ppc-for-2.0:
spapr-pci: Convert fprintf() to error_report()
spapr-pci: Convert to QOM realize
xics-kvm: Fix reset function
pseries: Update SLOF firmware image to qemu-slof-20140304
Move QEMUMachine typedef to qemu/typedefs.h
Revert "KVM: Split QEMUMachine typedef into separate header"
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c8d146aecceb560664b112279ffddf6fe1db99db
Merge: 0100f42 f876202
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 12:32:47 2014 +0000
Merge remote-tracking branch
'remotes/afaerber/tags/qom-devices-for-peter' into staging
QOM/QTest infrastructure fixes and device conversions
* QTest cleanups and test cases for some virtio devices
* QTest for sPAPR PCI host bridge
* qom-test now tests reading all properties beneath /machine
* QOM API leak fixes
* QOM cleanups for SSI devices
* QOM conversion of QEMUMachine
* QOM realize for buses
* sPAPR PCI bus name change
# gpg: Signature made Thu 13 Mar 2014 00:22:40 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-peter: (31 commits)
libqtest: Fix possible deadlock in qtest initialization
pci: Move VMState registration/unregistration to QOM realize/unrealize
qdev: Realize buses on device realization
qdev: Prepare realize/unrealize hooks for BusState
tests: Add spapr-pci-host-bridge qtest
virtio-serial-port: Convert to QOM realize/unrealize
virtio-console: QOM cast cleanup for VirtConsole
tests: Add virtio-console qtest
tests: Add virtio-serial qtest
tests: Add virtio-scsi qtest
tests: Add virtio-rng qtest
tests: Add virtio-balloon qtest
tests: Add virtio-blk qtest
tests: Clean up IndustryPack TPCI200 gcov paths
qom-test: Test QOM properties
hw/boards: Convert current_machine to MachineState
vl: Use MachineClass instead of global QEMUMachine list
hw/core: Introduce QEMU machine as QOM object
qdev-monitor-test: Don't test human-readable error message
qdev-monitor-test: Simplify using g_assert_cmpstr()
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0100f42550201f346cc0c20c1864f941509eb592
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Mar 13 11:24:15 2014 +0000
libqtest: Avoid inline varargs functions
Older versions of gcc (eg 4.6) can't handle varargs functions declared
inline for anything other than completely trivial uses, and complain:
tests/qom-test.c: In function 'qmp': tests/libqtest.h:359:60: sorry,
unimplemented: function 'qmp' can never be inlined because it uses
variable argument lists
Avoid this problem by putting the functions into libqtest.c instead
of using inline definitions in libqtest.h.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit ac1b84dd1e020648db82a99260891aa982d1142c
Author: Gal Hammer <ghammer@xxxxxxxxxx>
Date: Tue Feb 25 12:12:35 2014 +0200
char: restore read callback on a reattached (hotplug) chardev
Fix a bug that was introduced in commit 386a5a1e. A removal of a device
set the chr handlers to NULL. However when the device is plugged back,
its read callback is not restored so data can't be transferred from the
host to the guest (e.g. via the virtio-serial port).
https://bugzilla.redhat.com/show_bug.cgi?id=1027181
Signed-off-by: Gal Hammer <ghammer@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 295d51aa6a0d3b9a97200913f58a4d8b0c53ac42
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Nov 21 15:08:58 2013 +1100
spapr-pci: Convert fprintf() to error_report()
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c6ba42f6bce0e361e27803622987ffbd05ce7b7a
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Nov 21 15:08:55 2013 +1100
spapr-pci: Convert to QOM realize
This converts the old-style SysBusDevice::init() callback to a new-style
DeviceClass::realize() callback.
As a part of conversion, this replaces fprintf(stderr) with error_setg()
as realize() does not "return" any value, instead it puts the extended
error into **errp.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fb0e843a11abae5b959a4b02be7aef617c023b4e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Feb 13 12:08:35 2014 +1100
xics-kvm: Fix reset function
Currently interrupt priorities are set to 0 (highest) at the very
beginning of the guest execution which is not correct and makes the guest
produce random interrupt error messages such as:
"Interrupt 0x1001 (real) is invalid, disabling it".
This also prevents interrupt states from correct migration.
This initializes priority to 0xFF as the emulated XICS does.
Suggested-by: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8f3babb74d48e17e8a717b79d57c1fbe6b3b2480
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Mar 10 23:07:58 2014 +1100
pseries: Update SLOF firmware image to qemu-slof-20140304
The changelog is:
> version: update to 20140304
> Introduce dummy console device
> vio-vscsi: Fix CRQ allocation alignment
> version: update to 20140204
> virtio-9p: disable unused structure
> Make "boot net:dhcp" boot from IPv4 only
> Fix virtio device shutdown
> Change shutdown method name for virtio-scsi
> Add support for 64bit LE ABI v1 and v2 support
> Change representation of string environment variable
> cas: return error when unknown node found
> version: update
> Reset obp-tftp arguments before parsing
> Enable seamless netboot on IPv6 network
> Fix shutdown for virtio devices
> Fix zero checksum in UDP header
> Handle router advertisement message properly
> [oex]hci_exit: Check before freeing/unmapping memory
> Work around missing sc 1 traps on pHyp
> fix print_version() to return where it came from
> usb-xhci: memory freeing and using returns as bool uniformly
> Output banner and initial display output in VNC window
> use VERSION file to generate FW version
> cas: remove warning
> Add support for loading little endian ELF binaries.
> Add bswap_{16,32,64}p
> dhcpv6 and other minor net-snk fixes
> Fix missing drop in virtio-fs setup-alias
> Find next available alias name
> SLOF does not exit if given 1KB disk
> boot: enable support for bootindex
> pci-properties: add properties to enable hotplug for spapr
> e1000: remember node handle
> Increase quiesce tokens array size
> virtio: timeout after 5sec
> Enable IPv6 support in dns
> usb-ohci: fix warnings
> Add ipv6 support in net-snk
> ipv4: fix frame overwriting following arp_send_request
> e1000: fix SLOF_dma_map_out arguments
> Maintain single global packet buffer for tftp
> Increase virtio-net receive queue size
> Increase veth receive queue size
> Fix dprintf macros at various points
> usb-ohci: rewrite done_head processing code
> boot: add net in default boot order
> block 0 address in the allocator
> scsi: make-media-alias fix
> usb-xhci: add xhci host controller support
> usb-xhci: add xhci support
> Avoid veth read/write calls with zero length buffer
> boot: include other aliases
> usb-core: disable xhci
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
commit 7a1a4dac94e5dea21ecc404f362ef2c62f9f089c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 03:40:13 2014 +0100
Move QEMUMachine typedef to qemu/typedefs.h
As reported in commit 9c06a1f79f959fffd09bfb7efc3d76051a6cd2da, xen.h is
not self-contained with regards to its use of QEMUMachine. Fix this.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 602a3921ffd62a08c29750d123e0d5d96acc84ee
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Mar 13 03:29:51 2014 +0100
Revert "KVM: Split QEMUMachine typedef into separate header"
This reverts commit 9c06a1f79f959fffd09bfb7efc3d76051a6cd2da.
The new header sysemu/qemumachine.h is undesired.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f8762027a33e2f5d0915c56a904962b1481f75c1
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Mar 11 15:00:34 2014 +0200
libqtest: Fix possible deadlock in qtest initialization
'socket_accept' waits for QEMU to init its unix socket.
If QEMU encounters an error during command line parsing,
it can exit before initializing the communication channel.
Using a timeout for sockets fixes the issue.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2f69df746f06d785ffbf6cc9711f7df9d014e35
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Mon Nov 25 17:48:42 2013 -0500
pci: Move VMState registration/unregistration to QOM realize/unrealize
Use the realize and unrealize hooks to register and unregister
vmstate_pcibus respectively.
Relocate some stuff to avoid forward declarations.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
[AF: Keep using PCI_BUS() cast macro]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c21ce77d7e5643089ceec556c0408445d017f32
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Mar 12 21:02:12 2014 +0100
qdev: Realize buses on device realization
Integrate (un)realization of child buses with realization/unrealization
of the device hosting them. Code in device_unparent() is reordered for
unrealization of buses to work as part of device unrealization.
That way no changes need to be made to bus instantiation.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02e7f85dac3c639b70460ce557cb6c29963db97a
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Mon Nov 25 17:48:40 2013 -0500
qdev: Prepare realize/unrealize hooks for BusState
Add a "realized" property calling realize/unrealize hooks as for devices.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04e9a20b495f37f3132f4ada80fd925b4794b253
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Feb 10 14:52:56 2014 +1100
tests: Add spapr-pci-host-bridge qtest
This adds a test whether sPAPR PHB can be added via the command line.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ef66625f3a8978dcbbad773e6813f747971381e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 19:02:12 2013 +0200
virtio-serial-port: Convert to QOM realize/unrealize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0399a3819b27083ba69b88a9baa9025facab85bd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 19:10:02 2013 +0200
virtio-console: QOM cast cleanup for VirtConsole
Introduce type constant, cast macro and rename parent field.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6e8114a0650e78b6476e312de59361ef11c62b59
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 17:49:12 2014 +0100
tests: Add virtio-console qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aa97405e3289059ab614e906ce4f1141971dfd9c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 17:36:57 2014 +0100
tests: Add virtio-serial qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 26c9a015ef8ad158a62690f72ee04d10545db80d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 16:42:15 2014 +0100
tests: Add virtio-scsi qtest
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6f46f02f4756d0cd6c45515c1728a899fbb1dd3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:43:10 2014 +0100
tests: Add virtio-rng qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02063aaa653c35291f06d58400a3349305000dd6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:39:47 2014 +0100
tests: Add virtio-balloon qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7a59bed62184d2d5ef5c6ed87c7ee6c23c57802
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:32:55 2014 +0100
tests: Add virtio-blk qtest
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 83bb0b2ffd589346c8b8f4fee9296d0a8a309cf4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 21 16:29:17 2014 +0100
tests: Clean up IndustryPack TPCI200 gcov paths
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dc06cbd28611c366096fd1c9b8bba7b459a96877
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 7 15:36:16 2014 +0100
qom-test: Test QOM properties
Recursively walk all properties under /machine and try to retrieve their
value. This is a regression test for link<> properties and the
DeviceState::hotpluggable property.
Cf. be2f78b6b062eec5170e2612299fb8953046993f and
1a37eca107cece3ed454bae29eef0bd1fac4a244
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0056ae24bc36798fdd96d0b31e217e9f73896736
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Wed Mar 5 19:30:47 2014 +0200
hw/boards: Convert current_machine to MachineState
In order to allow attaching machine options to a machine instance,
current_machine is converted into MachineState.
As a first step of deprecating QEMUMachine, some of the functions
were modified to return MachineClass.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 261747f176f6f2d88f8268aaebfdd1a1afe887e2
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Wed Mar 5 19:30:46 2014 +0200
vl: Use MachineClass instead of global QEMUMachine list
The machine registration flow is refactored to use the QOM functionality.
Instead of linking the machines into a list, each machine has a type
and the types can be traversed in the QOM way.
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 36d20cb2b39311869b061e1669cb55ccbf0af759
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Wed Mar 5 19:30:45 2014 +0200
hw/core: Introduce QEMU machine as QOM object
The main functional change is to convert QEMUMachine into MachineClass
and QEMUMachineInitArgs into MachineState, instance of MachineClass.
As a first step, in order to make possible an incremental development,
both QEMUMachine and QEMUMachineInitArgs are being embedded into the
new types.
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 49649f23db977137c031a21eee2f0521404f6710
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 6 10:12:53 2014 +0100
qdev-monitor-test: Don't test human-readable error message
Test the error class instead. Expecting a specific message is
fragile. In fact, it broke once already, in commit 75884af. Restore
the test of error member "class" dropped there, and drop the test of
error member "desc".
There are no other tests of "desc" as far as I can tell.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a3d7cbc1397bf01249b5c39dd1e285bd6aa818dc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Mar 6 10:12:52 2014 +0100
qdev-monitor-test: Simplify using g_assert_cmpstr()
Use g_assert_cmpstr() instead of combining g_assert() and strcmp(3).
This simplifies the code since we no longer have to play games to
distinguish NULL from "" using "(null)".
gcc extension haters will also be happy that ?: was dropped.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b8601b0ea0b91467561e0bbddd52a833e4b2b1a
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Mar 6 14:11:00 2014 +1100
spapr-pci: Change the default PCI bus naming
Previously libvirt required the first/default PCI bus to have name "pci".
Since QEMU can support multiple buses now, libvirt wants "pci.0" now.
This removes custom bus name and lets QEMU make up default names.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit cdccf7d7e7f16046cdb192423323a42ad7f43bec
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:30:45 2014 -0800
block/m25p80: Remove FROM_SSI_SLAVE() usages
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Rename parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f760d5f2bbe89685f2fe4b12a898c26196d3a1e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:30:10 2014 -0800
ssi: Remove SSI_SLAVE_FROM_QDEV() macro
There are no usages left of this legacy cast. Delete.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Rename SSISlave parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
ssi: Rename parent field
commit 7c77b654c5371e970bc3190afe8dc85bc4f2c8ff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:29:35 2014 -0800
misc/max111x: QOM casting sweep
Define and use QOM cast macro. Removes some usages of legacy casting
systems.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Rename parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ef4a1c304ef60224c29aa9f6d9c2ac0591d020a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:29:00 2014 -0800
misc/max111x: Create abstract max111x type
Create an abstract class that encompasses both max111x variants. This is
needed for QOM cast macro creation (and is the right thing to do
anyway). Macroify type-names in the process.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d43269dddc2e084a61bb6cfcc18081b0b6bb0e62
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:28:25 2014 -0800
ssi: Convert legacy SSI_BUS -> BUS casts
Remove two legacy ->qbus style casts from TYPE_SSI_BUS to TYPE_BUS in
ssi.c.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Convert one missing ->qbus and rename parent field]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1a7d9ee6dd4aa44fc7d937bded8d542e0265e57f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 11 16:27:50 2014 -0800
ssi: Convert legacy SSI_SLAVE -> DEVICE casts
Convert legacy ->qdev style casts from TYPE_SSI_SLAVE to TYPE_DEVICE.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Introduce local DeviceState variable for transition to QOM realize]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a01aedc8d32e6f5b08a4041b62be3c5fab7a3382
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Mar 4 15:28:18 2014 +0100
qom: Avoid leaking str and bool properties on failure
When object_property_add_str() and object_property_add_bool() fail, they
leak their internal StringProperty and BoolProperty structs. Remember
to free the structs on error.
Luckily this is a low-impact memory leak since most QOM properties are
static qdev properties that will never take the error case.
object_property_add() only fails if the property name is already in use.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7b0309490cb108d881a0c66d6b350b4db7b3b4ac
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Mar 3 15:57:55 2014 +0800
qdev-monitor: Set properties after parent is assigned in device_add
Test steps:
(qemu) device_add e1000,addr=adsf
Property 'e1000.addr' doesn't take value 'adsf'
(qemu) info qtree
Then qemu crashed.
Currently we set a link to the new device from its parent bus, but the
device hasn't been added to QOM tree yet. When it fails to set properties,
object_unparent() can't clean up the device.
Delay setting of device properties until the device has been added to
the QOM composition tree. This way, when setting a property fails,
object_unparent() can clean up the device properly.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 267a3264cdaf0ca945ffc7a60c019ad9f89be8d8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Feb 18 17:56:53 2014 +0100
qdev: Set DeviceClass::hotpluggable default in class_init()
Move setting DeviceClass::hotpluggable default from device's
class_base_init() to device's class_init().
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2b81b35f8f18d6874d1a0605ac5e40028966051b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Mar 7 19:04:13 2014 +0100
qdev: Fix bus dependency of DeviceState::hotpluggable getter
Commit 1a37eca107cece3ed454bae29eef0bd1fac4a244 (qdev: add
"hotpluggable" property to Device) added a property "hotpluggable" to
each device, with its getter accessing parent_bus->allow_hotplug.
Add a NULL check.
Cc: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 750036a848ea913ba6343718ffa70da98f7eef6b
Merge: 2f23e9a 21143b6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 17:53:37 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-upstream'
into staging
PReP machine and devices
* ppc_rom.bin update and submodule
# gpg: Signature made Wed 12 Mar 2014 17:32:40 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-upstream:
prep: Update ppc_rom.bin
Add OpenHack'Ware submodule
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2f23e9ae2cc37788ae1211803a7f8545ae14df91
Merge: a822837 68e5ec6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 16:45:25 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request'
into staging
Net patches
# gpg: Signature made Wed 12 Mar 2014 13:48:20 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/net-pull-request:
tap: avoid deadlocking rx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 21143b615aaf6f1661a1a6e69f00a39e456cc168
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Mar 2 22:27:14 2014 +0100
prep: Update ppc_rom.bin
Functionally, this is a revert of Jocelyn's r3309 /
55aa45ddde3283cdd781326d001f7456bf02f684 (Quickly hack PowerPC BIOS
able to boot on CDROM again.), for which we do not have the sources.
Therefore the sources used are v0.4.1 plus pc-bios/ohw.diff plus a
workaround turning IDE errors into warnings.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit fd3ece2533730eb4ab2dd787a1c1418b38b40d6a
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Wed Mar 12 17:16:56 2014 +0100
Add OpenHack'Ware submodule
This replaces the ohw.diff file on top of v0.4.1.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit a822837d123183293f1cfc3167cc4e5255765915
Merge: 01ac27c 84f3fe1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 15:46:43 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request'
into staging
Tracing pull request
# gpg: Signature made Wed 12 Mar 2014 13:20:10 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/tracing-pull-request:
trace: Fix build warnings for Win32 build
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit eee822e3595bbdd69e71198edd65dd29db27a6e5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Mar 12 16:13:58 2014 +0200
acpi-build: fix misaligned access
clang build reported a misaligned access:
runtime error: store to misaligned address 0x2b5aa47dfb19 for type
'uint16_t' (aka 'unsigned short'), which requires 2 byte alignment
0x2b5aa47dfb19: note: pointer points here
45 53 54 0b ff ff 5b 80 50 45 4f 52 01 50 45 53 54 01 5b 81 0b 50
45 4f 52 01 50 45 50 54 08 14
fix this up
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 01ac27ce7f144e1768d8c0948a2789eb0f109928
Merge: 2c3445b dc9528f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 15:03:42 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-misc-1' into
staging
Docs: Introduce multiport serial support in qemupciserial.inf.
# gpg: Signature made Wed 12 Mar 2014 09:35:55 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-misc-1:
Docs: Introduce multiport serial support in qemupciserial.inf.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 84f3fe1b077a06ca50f85fa3ff696a8fe094623b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 19:44:25 2014 +0000
trace: Fix build warnings for Win32 build
The Win32 build warns about trace/control-internal.h:
warning: 'trace_event_count' declared inline after being called
Fix this by simply reordering trace_event_id() and
trace_event_count().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2c3445bb850fbfb4481e9487d8852f10e8c74e4c
Merge: 7602e3e 5c1e189
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 12:47:26 2014 +0000
Merge remote-tracking branch 'remotes/kiszka/queues/slirp' into staging
* remotes/kiszka/queues/slirp:
slirp smb with modern win guests when samba is also running on host
qemu/slirp: Fix SMB security configuration on newer samba versions
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7602e3e4a36715f8de9932dfd489cc4a2c6a7807
Merge: 613c12e 16c358e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 11:44:59 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging
* remotes/mcayland/qemu-sparc:
target-sparc: Add and use CPU_FEATURE_CASA
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 613c12ec28573b10cae0cd91139ba69b964f347c
Merge: be813ef 2a7a1a5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Mar 12 10:47:07 2014 +0000
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp:
tests: test-qmp-commands: Fix double free
qapi script: do not add "_" for every capitalized char in enum
qapi script: do not allow string discriminator
qapi: convert BlockdevOptions to use enum discriminator
qapi script: support enum type as discriminator in union
qapi script: use same function to generate enum string
qapi script: code move for generate_enum_name()
qapi script: check correctness of union
qapi script: remember line number in schema parsing
qapi script: add check for duplicated key
qapi script: remember explicitly defined enum values
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d58b9122716bc444305515ead3a69b91d807bf3c
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Mar 11 17:26:44 2014 +0100
gtk: Add mouse wheel support
Hook into scroll-event to properly forward mouse wheel movements to the
guest, just like we already do in SDL.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7f5e07d9b36467a7ce84ecf57623df561910c181
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Mar 11 14:08:31 2014 +0100
input: activate legacy kbd
Restores traditional behavior: Keyboard input will be routed to the most
recently added keyboard. Without this all kbd input goes to the ps/2
keyboard, even if you add a usb keyboard to your guest.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dc9528fdf9f61dfa6355b4052dc42b8cbadf9167
Author: Miki Mishael <mmishael@xxxxxxxxxx>
Date: Sun Jan 19 11:43:05 2014 -0500
Docs: Introduce multiport serial support in qemupciserial.inf.
Support for pci-serial-2x and pci-serial-4x
was added to the inf file.
Standard Windows driver mf.sys used to
split single function device into per-port nodes.
Signed-off-by: Miki Mishael <mmishael@xxxxxxxxxx>
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 68e5ec64009812dbaa03ed9cfded9344986f5304
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat Mar 8 16:00:43 2014 +0100
tap: avoid deadlocking rx
The net subsystem has a control flow mechanism so peer NetClientStates
can tell each other to stop sending packets. This is used to stop
monitoring the tap file descriptor for incoming packets if the guest rx
ring has no spare buffers.
There is a corner case when tap_can_send() is true at the beginning of
an event loop iteration but becomes false before the tap_send() fd
handler is invoked.
tap_send() will read the packet from the tap file descriptor and attempt
to send it. The net queue will hold on to the packet and return 0,
indicating that further I/O is not possible. tap then stops monitoring
the file descriptor for reads.
This is unlike the normal case where tap_can_send() is the same before
and during the event loop iteration. The event loop would simply not
monitor the file descriptor if tap_can_send() returns true. Upon next
iteration it would check tap_can_send() again and begin monitoring if we
can send.
The deadlock happens because tap_send() explicitly disabled read_poll.
This is done with the expectation that the peer will call
qemu_net_queue_flush(). But hw/net/virtio-net.c does not monitor
vm_running transitions and issue the flush. Hence we're left with a
broken tap device.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Neil Skrypuch <neil@xxxxxxxxxxxxxxx>
Tested-by: Neil Skrypuch <neil@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5c1e1890bfa1f6b4bc3f51e368bfd47af1b60db0
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Thu Nov 28 23:32:55 2013 +0400
slirp smb with modern win guests when samba is also running on host
After numerous reports that -smb (or -netdev user,smb=foo) not working
with modern windows (win7 and vista are reported as non-working), I
started digging myself. And found that indeed it doesn't work, and
why.
The thing is that modern win tries to connect to port 445 (microsoft-ds)
first, and if that fails, it falls back to old port 139 (netbios-ssn).
slirp code in qemu only redirects port 139, it does not touch port 445.
So the prob is that if samba is also running on the host, guest will try
to communicate using port 445, and that will succed, but ofcourse guest
will not talk with our samba but with samba running on the host.
If samba is not running on the host, guest will fall back to port 139,
and will reach the redirecting rule and qemu will spawn smbd correctly.
The solution is to redirect both ports (139 and 445), and the fix is
a one-liner, adding second call to slirp_add_exec() at the end of
net/slirp.c:slirp_smb() function (provided below).
But it looks like that is not a proper fix really, since in theory
we should redirect both ports to the SAME, single samba instance,
but I'm not sure this is possible with slirp. Well, even if two
smbd processes will be run on the same config dir, it should not
be a problem.
The one-liner (not exactly 1 since it touches previous line too) is like
this:
Signed-off-By: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit c2804ee6c0eba19c029bb2950fa2998c16f3ea11
Author: Michael Buesch <m@xxxxxxx>
Date: Fri Nov 1 12:23:49 2013 +0100
qemu/slirp: Fix SMB security configuration on newer samba versions
The smb.conf automatically generated by qemu's -smb option fails on
current
samba, because smbd rejects the security=share option with the following
warning:
> WARNING: Ignoring invalid value 'share' for parameter 'security'
Which makes it fall back to security=user without guest login.
This results in being unable to login to the samba server from the guest
OS.
This fixes it by selecting 'user' explicitly and mapping
unknown users to guest logins.
Signed-off-by: Michael Buesch <m@xxxxxxx>
Reviewed-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 16c358e96e0597b7d60754547166ad05ecc6d93d
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 11 10:36:00 2014 +0100
target-sparc: Add and use CPU_FEATURE_CASA
The LEON3 processor has support for the CASA instruction which is
normally only available for SPARC V9 processors. Binutils 2.24
and GCC 4.9 will support this instruction for LEON3. GCC uses it to
generate C11 atomic operations.
The CAS synthetic instruction uses an ASI of 0x80. If TARGET_SPARC64 is
not defined use a supervisor data load/store for an ASI of 0x80 in
helper_ld_asi()/helper_st_asi(). The supervisor data load/store was
choosen according to the LEON3 documentation.
The ASI 0x80 is defined in the SPARC V9 manual, Table 12â??Address Space
Identifiers (ASIs). Here we have: 0x80, ASI_PRIMARY, Unrestricted
access, Primary address space.
Tested with the following program:
#include <assert.h>
#include <stdatomic.h>
void test(void)
{
atomic_int a;
int e;
_Bool b;
atomic_store(&a, 1);
e = 1;
b = atomic_compare_exchange_strong(&a, &e, 2);
assert(b);
assert(atomic_load(&a) == 2);
atomic_store(&a, 3);
e = 4;
b = atomic_compare_exchange_strong(&a, &e, 5);
assert(!b);
assert(atomic_load(&a) == 3);
}
Tested also on a NGMP board with a LEON4 processor.
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit be813ef02d18ba58e1ff32f1706bcacb88f1f764
Merge: 2396187 13f65b2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 19:52:32 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,test bug fixes
More small fixes: the issues annoy developers so
I thought they are worth fixing quickly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 11 Mar 2014 11:27:44 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
acpi-test: update expected SSDT files
acpi-build: don't access unaligned addresses
q35: Correct typo BRDIGE -> BRIDGE
configure: don't modify .status on error
pc: avoid duplicate names for ROM MRs
loader: rename in_ram/has_mr
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 239618707637ec87eba8c452d2b2f75dc5ca20c7
Merge: 01207d0 b0f15a5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 19:39:17 2014 +0000
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
target-i386: bugfix of Intel MPX
file_ram_alloc: unify mem-path,mem-prealloc error handling
kvm-all: exit in case max vcpus exceeded
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 01207d0b78208c2f49c3f457d6794eea215d5be7
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Mar 11 16:49:23 2014 +0100
qemu-thread-posix: Fix build against older glibc version
pthread_setname_np was introduced with 2.12.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0ca540dbaea142ec5c3e7a1d12db7139b8317f37
Merge: ed9b103 72c1d3a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 13:20:23 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140310' into staging
target-arm queue:
* implement WFE as yield (improves performance with emulated SMP)
* fixes to avoid undefined behaviour shifting left into sign bit
* libvixl format string fixes for 32 bit hosts
* fix build error when intptr_t and tcg_target_long are different
sizes (eg x32)
* implement PMCCNTR register
* fix incorrect setting of E bit in CPSR (broke booting under
KVM on ARM)
# gpg: Signature made Mon 10 Mar 2014 15:05:25 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140310:
target-arm: Implement WFE as a yield operation
hw/arm/musicpal: Avoid shifting left into sign bit
hw/ssi/xilinx_spips.c: Avoid shifting left into sign bit
hw/arm/omap1.c: Avoid shifting left into sign bit
pxa2xx: Don't shift into sign bit
libvixl: Fix format strings for several int64_t values
target-arm: Fix intptr_t vs tcg_target_long
target-arm: Implements the ARM PMCCNTR register
target-arm: Fix incorrect setting of E bit in CPSR
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2a7a1a56d1e30de07cf7d7636a35bf7706b9500e
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Sat Mar 8 12:20:06 2014 -0500
tests: test-qmp-commands: Fix double free
The ret variable is freed twice, but on the second time we actually want
to free ret3 instead. Don't know why this didn't explode.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5d371f41b4db8e47c89626ecf9d9914119583e23
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:40 2014 -0800
qapi script: do not add "_" for every capitalized char in enum
Now "enum AIOContext" will generate AIO_CONTEXT instead of A_I_O_CONTEXT,
"X86CPU" will generate X86_CPU instead of X86_C_P_U.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5223070c47c6fc35ee000b2392ae76d9fab54f16
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:39 2014 -0800
qapi script: do not allow string discriminator
Since enum based discriminators provide better type-safety and
ensure that future qapi additions do not forget to adjust dependent
unions, forbid using string as discriminator from now on.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 59ca664ef86c8a9078157336b566e832fc5466e2
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:38 2014 -0800
qapi: convert BlockdevOptions to use enum discriminator
After this patch, hidden enum type BlockdevOptionsKind will not
be generated, and other API can use enum BlockdevDriver.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit bceae7697ff1711675c26f715b945737bc6849ae
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Thu Mar 6 17:08:56 2014 -0800
qapi script: support enum type as discriminator in union
By default, any union will automatically generate a enum type as
"[UnionName]Kind" in C code, and it is duplicated when the discriminator
is specified as a pre-defined enum type in schema. After this patch,
the pre-defined enum type will be really used as the switch case
condition in generated C code, if discriminator is an enum field.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b0b58195e4a3039b6a473124dc27ed707db50240
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:36 2014 -0800
qapi script: use same function to generate enum string
Prior to this patch, qapi-visit.py used custom code to generate enum
names used for handling a qapi union. Fix it to instead reuse common
code, with identical generated results, and allowing future updates to
generation to only need to touch one place.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6299659f54420955419c4995283f7dd770367939
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:35 2014 -0800
qapi script: code move for generate_enum_name()
Later both qapi-types.py and qapi-visit.py need a common function
for enum name generation.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b86b05ed60d8d49c5770851860d4e6b89c133e7e
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:34 2014 -0800
qapi script: check correctness of union
Since line info is remembered as QAPISchema.line now, this patch
uses it as additional info for every expr in QAPISchema inside qapi.py,
then improves error message with it in checking of exprs.
For common union the patch will check whether base is a valid complex
type if specified. For flat union it will check whether base presents,
whether discriminator is found in base, whether the key of every branch
is correct when discriminator is an enum type.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 515b943a91db6c9faf9e35377c18db9ca32ecb40
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:33 2014 -0800
qapi script: remember line number in schema parsing
Before this patch, 'QAPISchemaError' scans whole input until 'pos'
to get error line number. After this patch, the scan is avoided since
line number is remembered in schema parsing. This patch also benefits
other error report functions, which would be introduced later.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4b35991a3bd5f9e03333d5b1bd4a7bcf9941aac5
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:32 2014 -0800
qapi script: add check for duplicated key
It is bad that same key was specified twice, especially when a union has
two branches with same condition. This patch can prevent it.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dad1fcab91bf101a02151069036d416367b59c5c
Author: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Date: Tue Mar 4 18:44:31 2014 -0800
qapi script: remember explicitly defined enum values
Later other scripts will need to check the enum values.
Signed-off-by: Wenchao Xia <wenchaoqemu@xxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ed9b103d3e3102f17791ca53d4a8b17a3de929de
Merge: c57ec32 c9dd407
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 13:03:21 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-4' into
staging
minor spice patches.
# gpg: Signature made Mon 10 Mar 2014 13:13:14 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-4:
configure: Prettify message for hosts without spice support
spice: QemuUIInfo windup
spice: fix simple display surface handling
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c57ec3249e9839c7ea2e3789f6e40f9ec1c92f55
Merge: fe6c53b dbb2a13
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 12:52:08 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-5' into
staging
input: fixes for the rewrite.
# gpg: Signature made Mon 10 Mar 2014 12:50:25 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-5:
input: map INPUT_BUTTON_WHEEL_{UP,DOWN} to legacy input z axis moves.
input: sdl: fix guest_cursor logic.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 13f65b2e1073cf7e2c8fb3880c77d8a53fa2f95e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 10 21:13:59 2014 +0200
acpi-test: update expected SSDT files
SSDT doesn't have _SUN for non hotpluggable slots
anymore.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b4e5a4bffda0d5dd79c87c66f28a5fac87182e30
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Mar 10 21:30:16 2014 +0200
acpi-build: don't access unaligned addresses
casting an unaligned address to e.g.
uint32_t can trigger undefined behaviour in C.
Replace cast + assignment with memcpy.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 263cf4367fd86dc0e15beebe65919cd50501844d
Author: BALATON Zoltan <balaton@xxxxxxxxxx>
Date: Fri Feb 28 11:28:03 2014 +0100
q35: Correct typo BRDIGE -> BRIDGE
Signed-off-by: BALATON Zoltan <balaton@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit dc655404659def26fbcd66583ca61575af9da8b9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 9 17:37:49 2014 +0200
configure: don't modify .status on error
./configure --help
make
will try to re-run configure with --help
which isn't what was intended.
The reason is that config.status was written
even on configure error.
Defer writing config.status until configure
has completed successfully.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ac41881b48858b279960a17c07f0b159af91e75a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Mar 6 14:57:09 2014 +0200
pc: avoid duplicate names for ROM MRs
Since
commit 04920fc0faa4760f9c4fc0e73b992b768099be70
loader: store FW CFG ROM files in RAM
RAM MRs including ROM files in FW CFGs are created
and named using the file basename.
This becomes problematic if these names are
supplied by user, since the basename might not
be unique.
There are two cases we care about:
- option-rom flag.
- option ROM for devices. This triggers e.g. when
using rombar=0.
At the moment we get an assert. E.g
qemu -option-rom /usr/share/ipxe/8086100e.rom -option-rom
/usr/share/ipxe.efi/8086100e.rom
RAMBlock "/rom@genroms/8086100e.rom" already registered, abort!
This is a regression from 1.6.
For now let's keep it simple and just avoid creating the
MRs in case of option ROMs.
when using 1.7 machine types, enable
option ROMs in RAM to match that version.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fe6c53b4bbd2e83f82087bc5e37daa11ffc65879
Merge: 118760d e22492d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 11 10:53:17 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-vnc-1' into staging
vnc dirty tracking optinizations.
various vnc bugfixes.
# gpg: Signature made Mon 10 Mar 2014 12:39:54 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-vnc-1:
ui/vnc: disable adaptive update calculations if not needed
ui/vnc: optimize setting in vnc_dpy_update()
ui/vnc: optimize clearing in find_and_clear_dirty_height()
ui/vnc: optimize dirty bitmap tracking
ui/vnc: derive cmp_bytes from VNC_DIRTY_PIXELS_PER_BIT
ui/vnc: introduce VNC_DIRTY_PIXELS_PER_BIT macro
vnc: fix use-after-free in vnc_update_client_sync
vnc: Fix qemu crashed when vnc client disconnect suddenly
vnc: Fix tight_detect_smooth_image() for lossless case
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b0f15a5d5628994c71a6f428f360a5a537ad3b39
Author: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
Date: Mon Mar 3 05:24:14 2014 +0000
target-i386: bugfix of Intel MPX
The correct size of cpuid 0x0d sub-leaf 4 is 0x40, not 0x10.
This is confirmed by Anvin H Peter and Mallick Asit K.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Asit K Mallick <asit.k.mallick@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
commit 118760dfc9f4db2df3700ddb2934543abef86bfa
Merge: b304bf0 220c8ed
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 19:14:11 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,pci,virtio,memory bug fixes
This collects several small fixes from all over the place.
Additionally, Marcel's changes make acpi unit tests more robust.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 09 Mar 2014 19:14:57 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
qemu: x86: ignore ioapic polarity
pckbd: return 'keyboard enabled' on read input port command
pam: partly fix write-only mode
acpi-test: issue errors instead of warnings when possible
acpi-test: retain both asl and aml files on failure
MAINTAINERS: drop an out of date address
Add a 'name' parameter to qemu_thread_create
Add 'debug-threads' suboption to --name
Rework --name to use QemuOpts
PCIE: fix regression with coldplugged multifunction device
memory_region_present: return false if address is not found in child
MemoryRegion
virtio-net: remove function calls from assert
acpi-test-data: update expected files
acpi-build: append description for non-hotplug
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b304bf0021a2dfb24fa91f704a1d976b74f56f20
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Mar 6 09:49:25 2014 +0100
s390/kvm: Add Maintainers for s390/kvm
Lets add Conny and myself as maintainers for s390/kvm and
related code. This does not include any tcg related code,
which is maintained by Richard and Alex.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1394095765-29686-2-git-send-email-borntraeger@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3f1506704eca5f0f26dd7b5c56f4a8ca6d21f745
Merge: 0c126db cbc14e6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 16:22:39 2014 +0000
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
* remotes/riku/linux-user-for-upstream:
linux-user: set minimum kernel version to 2.6.32
linux-user: correct handling of break exception for MIPS
linux-user: translate signal number on return from sigtimedwait
linux-user: Implement sendmmsg syscall
linux-user: Fix getresuid, getresgid if !USE_UID16
linux-user: Don't use UID16 on AArch64
linux-user: AArch64: Implement SA_RESTORER for signal handlers
linux-user/signal.c: Fix AArch64 big-endian FP register restore
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0c126db27ceaca994548214656a457c9b011dc17
Merge: e9d818b 5264917
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 15:36:12 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-openbios' into staging
* remotes/mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 72c1d3af6e9c2745edfeaa71918a68bcee4b79db
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:30 2014 +0000
target-arm: Implement WFE as a yield operation
Implement WFE to yield our timeslice to the next CPU.
This avoids slowdowns in multicore configurations caused
by one core busy-waiting on a spinlock which can't possibly
be unlocked until the other core has an opportunity to run.
This speeds up my test case A15 dual-core boot by a factor
of three (though it is still four or five times slower than
a single-core boot).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393339545-22111-1-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: Rob Herring <rob.herring@xxxxxxxxxx>
commit 2b194951c592ad670ddf3bc5764216408ade46f8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:30 2014 +0000
hw/arm/musicpal: Avoid shifting left into sign bit
Add missing 'U' suffixes to avoid shifting left into sign
bit of a signed integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-5-git-send-email-peter.maydell@xxxxxxxxxx
commit c8f8f9fb2b8bd832be7e87c548929e40113e8e3d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:30 2014 +0000
hw/ssi/xilinx_spips.c: Avoid shifting left into sign bit
Add missing 'U' suffix to avoid shifting left into sign bit of
a signed integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-4-git-send-email-peter.maydell@xxxxxxxxxx
commit d2f41a1169bb0357bd863296b1a664fe2af10acd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
hw/arm/omap1.c: Avoid shifting left into sign bit
Add missing 'U' suffix to avoid shifting left into sign bit.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 43a32ed68f3aac5ccde4fa6fa4a158e9e8153c94
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
pxa2xx: Don't shift into sign bit
Add missing 'U' suffixes to avoid potentially shifting into
the sign bit of a signed integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392988008-15938-2-git-send-email-peter.maydell@xxxxxxxxxx
commit b29c8f115de5f48f0019afc2c779cf64e5fcefaf
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
libvixl: Fix format strings for several int64_t values
"%d" or "%x" won't work on hosts where int values are smaller than 64 bit.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1394219753-26106-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0624976f6166fe3d59477f4c08d5cdd7c1edc7d1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 10 14:56:29 2014 +0000
target-arm: Fix intptr_t vs tcg_target_long
Fixes a build error when these are different, e.g. x32.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1394043257-4800-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7c2cb42b5033a851aa2a81de8d8a9e75bb65c2b6
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Mon Mar 10 14:56:28 2014 +0000
target-arm: Implements the ARM PMCCNTR register
This patch implements the ARM PMCCNTR register including
the disable and reset components of the PMCR register.
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Message-id:
bbf405e1feaf352cf39d5db402c9efcbd0f57c78.1393459802.git.alistair.francis@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af5199347a874db2214bf818151bad71b856ff37
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 14:56:28 2014 +0000
target-arm: Fix incorrect setting of E bit in CPSR
Commit 4cc35614a moved the exception mask bits out of env->uncached_cpsr
and into env->daif. However the env->daif contents are AArch64 style
mask bits, which include not just the AArch32 AIF bits but also the
new D bit (masks debug exceptions). This means that when reconstructing
the AArch32 CPSR value we must not allow the D bit in env->daif to get
into the CPSR, because the corresponding bit in the CPSR is E, the
endianness bit.
This bug didn't affect execution under TCG because we don't implement
endianness-swapping and so simply ignored the E bit; however it meant
that kernel booting under KVM failed, because KVM does honour the E bit.
Reported-by: Alexey Ignatov <lexszero@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c9dd4074df9b702090fa0e42c0101d75d44c7eb9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Mar 6 18:13:33 2014 +0100
configure: Prettify message for hosts without spice support
Instead of
spice support no (/)
configure now prints
spice support no
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9b74d0d598b022e558d06bf6d57f0f303d1a4bc8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 18:47:20 2014 +0100
spice: QemuUIInfo windup
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4b87dc4c9729aaa77737d2f20c255231f4edb526
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 10:48:58 2014 +0100
spice: fix simple display surface handling
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit dbb2a1326a7af6159861d3d7976c251a15ce0f92
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 10 09:31:01 2014 +0100
input: map INPUT_BUTTON_WHEEL_{UP,DOWN} to legacy input z axis moves.
Unbreaks mouse wheel.
Reported-by: BALATON Zoltan <balaton@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c3aa84b68f45d915160a523b4d7b9c6f4cf2219c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Mar 10 09:22:16 2014 +0100
input: sdl: fix guest_cursor logic.
Unbreaks relative mouse mode with SDL.
Reported-by: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e9d818b8b1a7fadc6c92256b716f1bc21b8daabc
Merge: 16513b1 f8e2484
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 12:34:41 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-aarch-6-1' into staging
* remotes/rth/tcg-aarch-6-1:
tcg-aarch64: Remove nop from qemu_st slow path
tcg-aarch64: Simplify tcg_out_ldst_9 encoding
tcg-aarch64: Use intptr_t apropriately
tcg-aarch64: Remove the shift_imm parameter from tcg_out_cmp
tcg-aarch64: Hoist common argument loads in tcg_out_op
tcg-aarch64: Don't handle mov/movi in tcg_out_op
tcg-aarch64: Set ext based on TCG_OPF_64BIT
tcg-aarch64: Change all ext variables to TCGType
tcg-aarch64: Remove redundant CPU_TLB_ENTRY_BITS check
tcg-aarch64: Enable builtin disassembler
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cbc14e6f286169949105c10ec60c924e086521ad
Author: Riku Voipio <riku.voipio@xxxxxxxxxx>
Date: Wed Feb 19 14:50:41 2014 +0200
linux-user: set minimum kernel version to 2.6.32
Popular glibc based distributions[1] require minimum
2.6.32 as kernel version. For some targets 2.6.18
would be enough, but dropping so low would mean some
suboptimal system calls could get used.
Set the minimum kernel advertized to 2.6.32 for
all architectures but aarch64 to ensure working qemu
linux-user in case host kernel is older.
[1] https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/921078
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 16513b1b45a3fc6889c6173bc9a211a027a5ac0f
Merge: f53f3d0 464400f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Mar 10 11:48:42 2014 +0000
Merge remote-tracking branch
'remotes/juanquintela/tags/migration/20140308-1' into staging
migration/next for 20140308
# gpg: Signature made Sat 08 Mar 2014 21:26:01 GMT using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* remotes/juanquintela/tags/migration/20140308-1:
migration: extend section_start/end traces
vl: add system_wakeup_request tracepoint
qemu_file: Fix mismerge of "use fwrite() correctly"
XBZRLE: Fix qemu crash when resize the xbzrle cache
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e22492d332c5c80ea8cb1755c29ca9b6240c7716
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:38 2014 +0100
ui/vnc: disable adaptive update calculations if not needed
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 919372251cbfa9e43b0264fec475dd1eca23784f
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:37 2014 +0100
ui/vnc: optimize setting in vnc_dpy_update()
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 863d7c91050551def59116f4f3b39fab7f1568f7
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:36 2014 +0100
ui/vnc: optimize clearing in find_and_clear_dirty_height()
The following artifical test (just the bitmap operation part) running
vnc_update_client 65536 times on a 2560x2048 surface illustrates the
performance difference:
All bits clean - vnc_update_client_new: 0.07 secs
vnc_update_client_new2: 0.07 secs
vnc_update_client_old: 10.98 secs
All bits dirty - vnc_update_client_new: 11.26 secs
- vnc_update_client_new2: 0.29 secs
vnc_update_client_old: 20.19 secs
Few bits dirty - vnc_update_client_new: 0.07 secs
- vnc_update_client_new2: 0.07 secs
vnc_update_client_old: 10.98 secs
vnc_update_client_new2 shows the performance of vnc_update_client
with this patch added.
Comparing with the test run of the last patch the performance
is at least unchanged while it is significantly improved
for the all bits dirty case.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 12b316d4c173bf07f421ef9dc98ba4b53916066e
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:35 2014 +0100
ui/vnc: optimize dirty bitmap tracking
vnc_update_client currently scans the dirty bitmap of each client
bitwise which is a very costly operation if only few bits are dirty.
vnc_refresh_server_surface does almost the same.
this patch optimizes both by utilizing the heavily optimized
function find_next_bit to find the offset of the next dirty
bit in the dirty bitmaps.
The following artifical test (just the bitmap operation part) running
vnc_update_client 65536 times on a 2560x2048 surface illustrates the
performance difference:
All bits clean - vnc_update_client_new: 0.07 secs
vnc_update_client_old: 10.98 secs
All bits dirty - vnc_update_client_new: 11.26 secs
vnc_update_client_old: 20.19 secs
Few bits dirty - vnc_update_client_new: 0.08 secs
vnc_update_client_old: 10.98 secs
The case for all bits dirty is still rather slow, this
is due to the implementation of find_and_clear_dirty_height.
This will be addresses in a separate patch.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6cd859aa8a7fb60fe6edb89e628cddfe25dfe186
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:34 2014 +0100
ui/vnc: derive cmp_bytes from VNC_DIRTY_PIXELS_PER_BIT
this allows for setting VNC_DIRTY_PIXELS_PER_BIT to different
values than 16 if desired.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b4c85ddcec24c60616aad9b3b7fc36ce19ba3ca4
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 8 10:08:33 2014 +0100
ui/vnc: introduce VNC_DIRTY_PIXELS_PER_BIT macro
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 38ee14f4f33f8836fc0e209ca59c6ae8c6edf380
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Mar 6 13:54:28 2014 +0100
vnc: fix use-after-free in vnc_update_client_sync
Spotted by Coverity:
876 static int vnc_update_client_sync(VncState *vs, int has_dirty)
877 {
(1) Event freed_arg: "vnc_update_client(VncState *, int)" frees "vs".
[details]
Also see events: [deref_arg]
878 int ret = vnc_update_client(vs, has_dirty);
(2) Event deref_arg: Calling "vnc_jobs_join(VncState *)" dereferences
freed pointer "vs". [details]
Also see events: [freed_arg]
879 vnc_jobs_join(vs);
880 return ret;
881 }
Remove vnc_update_client_sync wrapper, replace it with an additional
argument to vnc_update_client, so we can so the sync properly in
vnc_update_client (i.e. skip it in case of a client disconnect).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit e3c1adf16e38714ebd761dd02517dd07760ba6d2
Author: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>
Date: Thu Jan 23 13:30:57 2014 +0000
vnc: Fix qemu crashed when vnc client disconnect suddenly
Hi,
When I use RealVNC viewer client (http://www.realvnc.com/) to connect vnc
server,
the client disconnect suddenly, and I click reconnect button immediately,
then the Qemu crashed.
In the function vnc_worker_thread_loop, will call vnc_async_encoding_start
to set the local vs->output buffer by global queue's buffer. Then send
rectangles to
the vnc client call function vnc_send_framebuffer_update. Finally, Under
normal circumstances,
call vnc_async_encoding_end to set the global queue'buffer by the local
vs->output conversely.
When the vnc client disconnect, the job->vs->csock will be set to -1. And
the current prcoess
logic will goto disconnected partion without call function
vnc_async_encoding_end.
But, the function vnc_send_framebuffer_update will call buffer_reserve,
which
maybe call g_realloc reset the local vs's buffer, meaning the global
queue's buffer is modified also.
If anyone use the original global queue's buffer memory will cause
corruption and then crash qemu.
This patch assure the function vnc_async_encoding_end being called
even though the vnc client disconnect suddenly.
Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2e7bcdb99adbd8fc10ad9ddcf93bd2bf3c0f1f2d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 21 16:42:52 2014 +0100
vnc: Fix tight_detect_smooth_image() for lossless case
VncTight member uint8_t quality is either (uint8_t)-1 for lossless or
less than 10 for lossy.
tight_detect_smooth_image() first promotes it to int, then compares
with -1. Always unequal, so we always execute the lossy code. Reads
beyond tight_conf[] and returns crap when quality is actually
lossless.
Compare to (uint8_t)-1 instead, like we do elsewhere.
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5264917bcf79d63d7a8df47eef1fd99597ba33a5
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Mon Mar 10 08:48:31 2014 +0000
Update OpenBIOS images
Update OpenBIOS images to SVN r1280 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit 98bc3ab0f256cb983700089770db0823e59c7ceb
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Mar 9 18:42:06 2014 +0200
loader: rename in_ram/has_mr
we put copy of ROMs in MR for migration.
but the name rom_in_ram makes one think we
load it in guest RAM.
Rename has_mr to make intent clearer.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 220c8ed536491315b4040d820328b8dfd60d67a7
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Fri Feb 28 13:57:19 2014 -0500
qemu: x86: ignore ioapic polarity
Both QEMU and KVM have already accumulated a significant number of
optimizations based on the hard-coded assumption that ioapic polarity
will always use the ActiveHigh convention, where the logical and
physical states of level-triggered irq lines always match (i.e.,
active(asserted) == high == 1, inactive == low == 0). QEMU guests
are expected to follow directions given via ACPI and configure the
ioapic with polarity 0 (ActiveHigh). However, even when misbehaving
guests (e.g. OS X <= 10.9) set the ioapic polarity to 1 (ActiveLow),
QEMU will still use the ActiveHigh signaling convention when
interfacing with the emulated ioapic.
This patch modifies the emulated ioapic to completely ignore polarity
as set by the guest OS, enabling misbehaving guests to work alongside
those which comply with the ActiveHigh polarity specified by QEMU's
ACPI tables.
Signed-off-by: Gabriel L. Somlo <somlo@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f1b7e0e498c03e5b4519eeea73b49aafe9d88618
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Feb 11 23:46:03 2014 +0100
pckbd: return 'keyboard enabled' on read input port command
Bit 7 of Input Port is the keyboard inhibit switch.
0 means keyboard inhibited, while 1 means keyboard enabled.
Incidentaly, this also fixes an error encountered while booting
an Award BIOS: "Keyboard is locked out - Unlock the key".
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 175f099b30d4736d23384a838b5f324961f67a1e
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Feb 11 23:46:02 2014 +0100
pam: partly fix write-only mode
In write-only mode, writes are forwarded to RAM, while reads should not be
handled (ie should return 0xff).
Assume that in this mode, no read access is ever done, as they shouldn't
give any sensible result.
So, in write-only mode, alias PAM region to RAM, instead of PCI memory
(which can even be mapped to some device!)
This fixes Award BIOS, which use this mode to shadow system BIOS and
video BIOS.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15d914b18dd7a9a3bd85291f476613b2f9c2caa6
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Feb 27 16:17:32 2014 +0200
acpi-test: issue errors instead of warnings when possible
If the expected (offline) acpi tables loaded correctly,
it is safe to assume the iasl installation is OK and
issue an error if the actual tables failed to load.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 262f6f5140ea54646c518adc94aab86c4b1c0019
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Feb 27 16:17:31 2014 +0200
acpi-test: retain both asl and aml files on failure
Updated the error message while at it.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4a4fcdf6df3189a4ab5bdec70cffb7587c50405d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Feb 19 15:46:07 2014 +0200
MAINTAINERS: drop an out of date address
Gleb's address seems to be out of date. Since it stayed like that for a
while now, I'm guessing he's no longer interested in getting mail.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4900116e6f0edef6877c0e8a9ca19957d47765c9
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Jan 30 10:20:32 2014 +0000
Add a 'name' parameter to qemu_thread_create
If enabled, set the thread name at creation (on GNU systems with
pthread_set_np)
Fix up all the callers with a thread name
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 8f480de0c91a18d550721f8d9af969ebfbda0793
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Jan 30 10:20:31 2014 +0000
Add 'debug-threads' suboption to --name
Add flag storage to qemu-thread-* to store the namethreads flag
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 5d12f961c6f10cba15b0aa43a877c1fffca463d1
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Jan 30 10:20:30 2014 +0000
Rework --name to use QemuOpts
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 6e1f0a55a14bad1d0c8b9d29626ef4e4b2617c74
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 17 15:00:06 2014 +0100
PCIE: fix regression with coldplugged multifunction device
PCIE is causing asserts each time a multifunction device is added
on command line (coldplug).
This is caused by
commit a66e657e18cd9b70e9f57ae5512c07faf2bc508f
pci/pcie: convert PCIE hotplug to use hotplug-handler API
QEMU abort is caused by misplaced assertion, which should
be checked only when device is hotplugged.
Reference to regression report:
http://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg216226.html
Fixes: a66e657e18cd9b70e9f57ae5512c07faf2bc508f
Reported-By: Nigel Kukard <nkukard+qemu@xxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8e46bbf362458fc3e4638a53249248a1ee40b912
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Feb 6 11:24:33 2014 +0100
memory_region_present: return false if address is not found in child
MemoryRegion
Windows XP shows COM2 port as non functional in
"Device Manager" although no COM2 port backing device
is present in QEMU.
This regression is really due to
3bb28b7208b349e7a1b326e3c6ef9efac1d462bf?
memory: Provide separate handling of unassigned io ports accesses
That is caused by the fact that QEMU reports to
OSPM that device is present by setting 5th bit in
PII4XPM.pci_conf[0x67] register when COM2 doesn't
exist.
It happens due to memory_region_present(io_as, 0x2f8)
returning false positive since 0x2f8 address eventually
translates into catchall io_as address space.
Fix memory_region_present(parent, addr) by returning
true only if addr maps into a MemoryRegion within
parent (excluding parent itself), to match its
doc comment.
While at it fix copy/paste error in
memory_region_present() doc comment.
Note: this is a temporary hack: we really need better handling for
unassigned regions, we should avoid fallback regions since they are bad
for performance (breaking radix tree assumption that the data structure
is sparsely populated); for memory we need to fix this to implement PCI
master abort properly, anyway.
Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ddfa83ea06680e83643978f6ecf740b60f86f7c2
Author: Joel Stanley <joel@xxxxxxxxx>
Date: Tue Feb 11 10:42:02 2014 +1030
virtio-net: remove function calls from assert
peer_{de,at}tach were called from inside assert().
We don't support building without NDEBUG but it's not tidy.
Rearrange to attach peer outside assert calls.
Signed-off-by: Joel Stanley <joel@xxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6cb46e1e900a05dea1734a6cbe81c0c1ecb2f2cb
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Feb 17 06:42:11 2014 +0200
acpi-test-data: update expected files
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8dcf525abc5dff785251a881f9764dd961065c0d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 17:43:47 2014 +0200
acpi-build: append description for non-hotplug
As reported in
http://article.gmane.org/gmane.comp.emulators.qemu/253987
Mac OSX actually requires describing all occupied slots
in ACPI - even if hotplug isn't enabled.
I didn't expect this so I dropped description of all
non hotpluggable slots from ACPI.
As a result: before
commit 99fd437dee468609de8218f0eb3b16621fb6a9c9 (enable
hotplug for pci bridges), PCI cards show up in the "device tree" of OS X
(System Information). E.g., on MountainLion users have:
Hardware -> PCI Cards:
Card Type Driver Installed Slot
*ethernet Ethernet Controller Yes PCI Slot 2
pci8086,2934 USB UHC Yes PCI Slot 29
ethernet:
Type: Ethernet Controller
Driver Installed: Yes
MSI: No
Bus: PCI
Slot PCI Slot 2
Vendor ID: 0x8086
Device ID: 0x100e
Subsystem Vendor ID: 0x1af4
Subsystem ID: 0x1100
Revision ID: 0x0003
Hardware -> Ethernet Cards
ethernet:
Type: Ethernet Controller
Bus: PCI
Slot PCI Slot 2
Vendor ID: 0x8086
Device ID: 0x100e
Subsystem Vendor ID: 0x1af4
Subsystem ID: 0x1100
Revision ID: 0x0003
BSD name: en0
Kext name: AppleIntel8254XEthernet.kext
Location: /System/Library/Extensions/...
Version: 3.1.1b1
After commit 99fd437dee468609de8218f0eb3b16621fb6a9c9, users get:
Hardware -> PCI Cards:
This computer doesn't contain any PCI cards. If you installed PCI
cards, make sure they're properly installed.
Hardware -> Ethernet Cards
ethernet:
Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x8086
Device ID: 0x100e
Subsystem Vendor ID: 0x1af4
Subsystem ID: 0x1100
Revision ID: 0x0003
BSD name: en0
Kext name: AppleIntel8254XEthernet.kext
Location: /System/Library/Extensions/...
Version: 3.1.1b1
Ethernet still works, but it's not showing up on the PCI bus, and it
no longer thinks it's plugged in to slot #2, as it used to before the
change.
To fix, append description for all occupied non hotpluggable PCI slots.
One need to be careful when doing this: VGA devices
are now described in SSDT, so we need to drop description from DSDT.
And ISA devices are used in DSDT so drop them from SSDT.
Reported-by: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Also update generated dsdt and pcihp hex dump files.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8e2484389acc564521d36cb7ca459428c134e7b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 3 15:43:27 2014 -0800
tcg-aarch64: Remove nop from qemu_st slow path
Commit 023261ef851b22a04f6c5d76da870051031757a6 failed to remove a
nop that's no longer required.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 523fdc08ccc64d20e6cab1326635fb9ab864bf74
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Mar 4 08:52:49 2014 -0800
tcg-aarch64: Simplify tcg_out_ldst_9 encoding
At first glance the code appears to be using 1's compliment encoding,
a-la AArch32. Except that the constant is "off", creating a complicated
split field 2's compliment encoding.
Much clearer to just use a normal mask and shift.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 017a86f7ad6da088927f7000c79388177d91a9ad
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 3 17:55:33 2014 -0800
tcg-aarch64: Use intptr_t apropriately
As opposed to tcg_target_long.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2e796c7621fa130011a3f794ffad9060f87b745f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 11 16:36:12 2013 -0700
tcg-aarch64: Remove the shift_imm parameter from tcg_out_cmp
It was unused. Let's not overcomplicate things before we need them.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8d8db193f257ea103700b45f2c04725711d05966
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 09:40:57 2013 -0700
tcg-aarch64: Hoist common argument loads in tcg_out_op
This reduces the code size of the function significantly.
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a51a6b6ad5876e9286498e5c068a0ffa3b57fced
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 11:13:06 2013 -0700
tcg-aarch64: Don't handle mov/movi in tcg_out_op
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f029341494a8ebff589a70bee01d0775e63845d4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 09:11:46 2013 -0700
tcg-aarch64: Set ext based on TCG_OPF_64BIT
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7763ffa017f64bf2a40dcce0cb0f3596dfca5b20
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 11:11:00 2013 -0700
tcg-aarch64: Change all ext variables to TCGType
We assert that the values for _I32 and _I64 are 0 and 1 respectively.
This will make a couple of functions declared by tcg.c cleaner.
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3353d0dcc331f15dbbadfc42772d57c864017d4b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 15 13:36:00 2013 -0700
tcg-aarch64: Remove redundant CPU_TLB_ENTRY_BITS check
Removed from other targets in 56bbc2f967ce185fa1c5c39e1aeb5b68b26242e9.
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 82295d8a2d4dcbb99869c832c6ecb6bc4a1273a0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Mar 3 22:53:27 2014 -0500
tcg-aarch64: Enable builtin disassembler
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 464400f6a5583eafb466595add435a3a33ea980f
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 01:33:37 2014 +0530
migration: extend section_start/end traces
This adds @idstr to savevm_section_start and savevm_section_end
tracepoints.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 4fed9421e931128bd3c86a4f1c90a5989beb88eb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Mar 7 01:33:36 2014 +0530
vl: add system_wakeup_request tracepoint
It might be useful for tracing migration.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit ac4df4e608e84da135eacecd7bba7c6e9e9a63b7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 7 01:33:35 2014 +0530
qemu_file: Fix mismerge of "use fwrite() correctly"
Reviewers accepted v2 of the patch, but what got committed was v1,
with the R-bys for v2. This is the v1->v2 followup fix.
[Amit:
This fixes commit aded6539d983280212e08d09f14157b1cb4d58cc
]
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit fd8cec932c2ddc687e2da954978954b46a926f90
Author: Gonglei <arei.gonglei@xxxxxxxxxx>
Date: Tue Mar 4 21:29:21 2014 +0800
XBZRLE: Fix qemu crash when resize the xbzrle cache
Resizing the xbzrle cache during migration causes qemu-crash,
because the main-thread and migration-thread modify the xbzrle
cache size concurrently without lock-protection.
Signed-off-by: ChenLiang <chenliang88@xxxxxxxxxx>
Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f53f3d0a00b6df39ce8dfca942608e5b6a9a4f71
Merge: d7c698a 993c91a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 8 12:38:43 2014 +0000
Merge remote-tracking branch 'remotes/kvaneesh/for-upstream' into staging
* remotes/kvaneesh/for-upstream:
hw/9pfs: Include virtio-9p-device.o in build
hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation
hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()
hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:"
fsdev: Fix overrun after readlink() fills buffer completely
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d7c698af8a5c7330a5ba70de0ff70904a661c20e
Merge: 6570025 4089f7c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Mar 8 12:17:17 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches
# gpg: Signature made Fri 07 Mar 2014 13:30:04 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
block: qemu-iotests 085 - live snapshots tests
hw/ide/ahci.h: Avoid shifting left into sign bit
block: Fix error path segfault in bdrv_open()
qemu-iotests: Test a few blockdev-add error cases
blockdev: Fix NULL pointer dereference in blockdev-add
blockdev: Fail blockdev-add with encrypted images
block/raw-win32: Strip "file:" prefix on creation
block/raw-win32: Implement bdrv_parse_filename()
block/raw-posix: Strip "file:" prefix on creation
block/raw-posix: Implement bdrv_parse_filename()
block: Keep "filename" option after parsing
block: mirror - remove code cruft that has no function
block: make bdrv_swap rebuild the bs graph node list field.
block: Fix bs->request_alignment assertion for bs->sg=1
iscsi: Use bs->sg for everything else than disks
qemu-iotests: Test progress output for conversion
qemu-img convert: Fix progress output
gluster: Remove unused defines and header include
gluster: Change licence to GPLv2+
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6570025e53df25c47486d79cc8d3aea725f1744e
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Mon Jan 20 12:21:54 2014 +0100
build: Fix installation of target-dependent files
Pass all the relevant sub-directory make variables.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 20140120112153.5685.30949.stgit@xxxxxxxxxxxxxxxxx
commit 80aaa0741f207a6f6e3b234b9a5e775798e0c9de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Mar 7 22:42:08 2014 +0100
xenfb: Fix graphic_console_init() build failure
In commit 5643706a095044d75df1c0588aac553a595b972b (console: add head
to index to qemu consoles.) graphic_console_init() was extended to take
an additional argument, but xenfb was not updated accordingly. Fix it.
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Don Slutz <dslutz@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1394228528-31625-1-git-send-email-afaerber@xxxxxxx
commit 6fc0303b95c873d9e384d7fb51e412ac2e53b9c1
Merge: bb2b045 47c0374
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 7 18:29:32 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-input-4' into
staging
Input handling rewrite.
SDL2 support.
# gpg: Signature made Wed 05 Mar 2014 11:16:08 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-input-4: (38 commits)
ui/sdl2 : initial port to SDL 2.0 (v2.0)
console: add QemuUIInfo
console: add head to index to qemu consoles.
input: remove index_from_keycode (no users)
input: move do_mouse_set to new core
input: move qmp_query_mice to new core
input: add input_mouse_mode tracepoint
input: move mouse mode notifier to new core
input-legacy: remove kbd_mouse_event
input-legacy: remove kbd_mouse_is_absolute
input-legacy: remove kbd_mouse_has_absolute
input-legacy: remove kbd_put_keycode
input: trace events
input: mouse: switch cocoa ui to new core
input: keyboard: switch cocoa ui to new core
input: mouse: switch monitor to new core
input: mouse: switch spice ui to new core
input: mouse: switch vnc ui to new core
input: mouse: switch sdl ui to new core
input: mouse: switch gtk ui to new core
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bb2b04503497608cdc5fa4c990d26e936f9d2102
Merge: c3f8d28 0f20ba6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 7 16:36:37 2014 +0000
Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream'
into staging
Patch queue for ppc - 2014-03-05
This pull request includes:
- VSX emulation support
- book3s pr/hv selection
- some bug fixes
- qdev stable numbering
- eTSEC emulation
# gpg: Signature made Wed 05 Mar 2014 02:14:19 GMT using RSA key ID
03FEDC60
# gpg: Can't check signature: public key not found
* remotes/agraf/tags/signed-ppc-for-upstream: (130 commits)
target-ppc: spapr: e500: fix to use cpu_dt_id
target-ppc: add PowerPCCPU::cpu_dt_id
target-ppc: Introduce hypervisor call H_GET_TCE
target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel
htab
target-ppc: Change the hpte store API
target-ppc: Fix page table lookup with kvm enabled
target-ppc: Fix htab_mask calculation
target-ppc: Use Additional Temporary in stqcx Case
target-ppc: Fix Compiler Warnings Due to 64-Bit Constants Declared as UL
PPC: sPAPR: Only use getpagesize() when we run with kvm
target-ppc/translate.c: Use ULL suffix for 64 bit constants
spapr-vlan: flush queue whenever can_receive can go from false to true
target-ppc: Altivec 2.07: Vector Permute and Exclusive OR
target-ppc: Altivec 2.07: Vector SHA Sigma Instructions
target-ppc: Altivec 2.07: AES Instructions
target-ppc: Altivec 2.07: Binary Coded Decimal Instructions
target-ppc: Altivec 2.07: Vector Polynomial Multiply Sum
target-ppc: Altivec 2.07: Vector Gather Bits by Bytes
target-ppc: Altivec 2.07: Doubleword Compares
target-ppc: Altivec 2.07: vbpermq Instruction
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c3f8d28e455bff9bde2b81bd0c9b1d437b88c159
Merge: 4c288ac 7e74946
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Mar 7 15:58:27 2014 +0000
Merge remote-tracking branch 'remotes/cohuck/tags/virtio-ccw-20140305'
into staging
One patch introducing support for adapter interrupts in virtio-ccw.
This improves performance for those guests that issue the new
CCW_CMD_SET_IND_ADAPTER channel command.
# gpg: Signature made Wed 05 Mar 2014 08:48:18 GMT using RSA key ID
C6F02FAF
# gpg: Can't check signature: public key not found
* remotes/cohuck/tags/virtio-ccw-20140305:
s390x/virtio-ccw: Adapter interrupt support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4089f7c6a0d91020ca60ce8300784c93dd9ddcbe
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Feb 28 21:08:11 2014 -0500
block: qemu-iotests 085 - live snapshots tests
This adds tests for live snapshots, both through the single
snapshot command, and the transaction group snapshot command.
The snapshots are done through the QMP interface, using the
following commands for snapshots:
Single snapshot:
{ 'execute': 'blockdev-snapshot-sync', 'arguments':
{ 'device': 'virtio0', 'snapshot-file':'...',
'format': 'qcow2' } }"
Group snapshot:
{ 'execute': 'transaction', 'arguments':
{'actions': [
{ 'type': 'blockdev-snapshot-sync', 'data' :
{ 'device': 'virtio0', 'snapshot-file': '...' } },
{ 'type': 'blockdev-snapshot-sync', 'data' :
{ 'device': 'virtio1', 'snapshot-file': '...' } } ]
} }
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c02f88780aa611d669f73b7677aeadc1211de7e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:03:01 2014 +0000
hw/ide/ahci.h: Avoid shifting left into sign bit
Add 'U' suffixes to avoid undefined behaviour shifting left into
the signed bit of a signed integer type. Clang's sanitizer will
warn about this:
hw/ide/ahci.c:1210:27: runtime error: left shift of 1 by 31 places
cannot be represented in type 'int'
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4c288acbd6b9eccb13076103e59a426af3d15030
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 21:53:30 2014 +0000
configure: Always build with -fno-common
MacOSX doesn't pull .o files from .a archives if the symbol that it
requires is one which the .o file defines as a common symbol.
(Common symbols are those declared without "extern"; the linker
will merge together common symbols with the same name, so
redeclaring the same variable in two compilation units results in
them referring to the same symbol rather than a compilation error).
This MacOSX difference from traditional linker behaviour means that
"make check" produces link errors:
Undefined symbols for architecture x86_64:
"_cur_mon", referenced from:
_error_vprintf in libqemuutil.a(qemu-error.o)
_error_printf in libqemuutil.a(qemu-error.o)
_error_printf_unless_qmp in libqemuutil.a(qemu-error.o)
_error_print_loc in libqemuutil.a(qemu-error.o)
_error_report in libqemuutil.a(qemu-error.o)
ld: symbol(s) not found for architecture x86_64
in this case because "cur_mon" is a common symbol in
libqemustub.a(mon-set-error.o).
In QEMU we don't make any use at all of the common symbol
functionality, so we can avoid this problem entirely simply
by compiling with -fno-common. Enable this option for all
builds, not just MacOSX, so that if we ever inadvertently
introduce multiple definitions of some variable that will
be immediately spotted as a build error rather than only
breaking the MacOSX build.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1393451610-24617-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 9c83ffd859a13d840aa3f983833b6ea1e34de483
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 18:27:49 2014 +0000
configure: Make C++ test work with --enable-werror
gcc's C++ compiler complains about being passed some -W options
which make sense for C but not for C++. This means we mustn't try
a C++ compile with QEMU_CFLAGS, but only with a filtered version
that removes the offending options. This filtering was already being
done for uses of C++ in the build itself, but was omitted for the
"does C++ work?" configure test. This only showed up when doing
builds which explicitly enabled -Werror with --enable-werror,
because the "do the compilers work" tests were mistakenly placed
above the "default werror based on whether compiling from git" code.
Another error in this category is that clang warns if you ask it to
compile C++ code from a file named "foo.c". Further, because we
were running do_cc in a subshell in the condition part of an "if",
the error_exit inside do_compiler wouldn't terminate configure and
we would plunge on regardless. Fix this complex of errors:
1. Move the default-werror code up so that there are no invocations
of compile_object and friends between it and the point where we
set $werror explicitly based on the --enable-werror command line
option.
2. Provide a mechanism for filtering QEMU_CFLAGS to create
QEMU_CXXFLAGS, and use it for the test we run here.
3. Provide a do_cxx function to run a test with the C++ compiler
rather than doing cute tricks with subshells and do_cc.
4. Use a new temporary file TMPCXX for the C++ program fragment.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393352869-22257-1-git-send-email-peter.maydell@xxxxxxxxxx
Tested-by: Andreas Färber <afaerber@xxxxxxx>
commit eb909c7f72362e3c891d679f6f4eab0885fdb1c1
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 16:34:46 2014 +0100
block: Fix error path segfault in bdrv_open()
Using an invalid option for a block device that is opened with
BDRV_O_PROTOCOL led to drv = NULL, and when trying to include the driver
name in the error message, qemu dereferenced it:
$ x86_64-softmmu/qemu-system-x86_64 -drive
file=/tmp/test.qcow2,file.foo=bar
Segmentation fault (core dumped)
With this patch applied, the expected error message is printed:
$ x86_64-softmmu/qemu-system-x86_64 -drive
file=/tmp/test.qcow2,file.foo=bar
qemu-system-x86_64: -drive file=/tmp/test.qcow2,file.foo=bar: could
not open disk image /tmp/test.qcow2: Block protocol 'file' doesn't
support the option 'foo'
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit c75203c8d343dc71d95144862bbb47290689c455
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 15:52:14 2014 +0100
qemu-iotests: Test a few blockdev-add error cases
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit c6e0bd9b7037937aafeb1d34ec17975a7d685bb7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 15:47:32 2014 +0100
blockdev: Fix NULL pointer dereference in blockdev-add
If aio=native, we check that cache.direct is set as well. If however
cache wasn't specified at all, qemu just segfaulted.
The old condition didn't make any sense anyway because it effectively
only checked for the default cache mode case, but not for an explicitly
set cache.direct=off mode.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 8ae8e904fcba484ff7c3f8f31339b56ebd88fbad
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Mar 6 15:43:42 2014 +0100
blockdev: Fail blockdev-add with encrypted images
Encrypted images need a password before they can be used, and we don't
want blockdev-add to create BDSes that aren't fully initialised. So for
now simply forbid encrypted images; we can come back to it later if we
need the functionality.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d5546c5e776ac8f6277ddfdd59df9888e7919c2f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:40 2014 +0100
block/raw-win32: Strip "file:" prefix on creation
The bdrv_create() implementation of the block/raw-win32 "file" protocol
driver should strip the "file:" prefix from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7dc74db88b1eb3cff12174d0448ecfb6cd0e2469
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:39 2014 +0100
block/raw-win32: Implement bdrv_parse_filename()
The "file" protocol driver should strip the "file:" prefix from
filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 464d9f641d5a2382bd43d10ae41355edf69338b1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:38 2014 +0100
block/raw-posix: Strip "file:" prefix on creation
The bdrv_create() implementation of the block/raw-posix "file" protocol
driver should strip the "file:" prefix from filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 078896a9eeeaf7c301bbc59fc791c3331324285f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:37 2014 +0100
block/raw-posix: Implement bdrv_parse_filename()
The "file" protocol driver should strip the "file:" prefix from
filenames if present.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cd5d031e75751838fb40f7b5a5f60fc15d543c55
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Mar 5 22:41:36 2014 +0100
block: Keep "filename" option after parsing
Currently, bdrv_file_open() always removes the "filename" option from
the options QDict after bdrv_parse_filename() has been (successfully)
called. However, for drivers with bdrv_needs_filename, it makes more
sense for bdrv_parse_filename() to overwrite the "filename" option and
for bdrv_file_open() to fetch the filename from there.
Since there currently are no drivers that implement
bdrv_parse_filename() and have bdrv_needs_filename set, this does not
change current behavior.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 50c75136beec0180171971c88bb6e3fa3aa66463
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Mar 4 10:35:48 2014 -0500
block: mirror - remove code cruft that has no function
Originally, this built up the error message with the backing filename,
so that errp was set as follows:
error_set(errp, QERR_OPEN_FILE_FAILED, backing_filename);
However, we now propagate the local_error from the
bdrv_open_backing_file() call instead, making these 2 lines useless
code.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 90ce8a061bdcc485a56142cae68cfbfff270e634
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Wed Mar 5 23:48:29 2014 +0100
block: make bdrv_swap rebuild the bs graph node list field.
Moving only the node_name one field could lead to some inconsitencies
where a
node_name was defined on a bs which was not registered in the graph node
list.
bdrv_swap between a named node bs and a non named node bs would lead to
this.
bdrv_make_anon would then crash because it would try to remove the bs
from the
graph node list while it is not in it.
This patch remove named node bses from the graph node list before doing
the swap
then insert them back.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 47ea2de2d68b6c5319308b7de1980f463b7c125c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 5 15:49:55 2014 +0100
block: Fix bs->request_alignment assertion for bs->sg=1
For sg backends, bs->request_alignment is meaningless and may be 0.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f47c3f5a800a927238d20de9f99b5c77f0bc3fe0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Mar 5 15:45:00 2014 +0100
iscsi: Use bs->sg for everything else than disks
The current iscsi block driver code makes the rather arbitrary decision
that TYPE_MEDIUM_CHANGER and TYPE_TAPE devices have bs->sg = 1 and all
other device types are disks.
Instead of this, check for TYPE_DISK to expose the disk interface and
make everything else bs->sg = 1. In particular, this includes devices
with TYPE_STORAGE_ARRAY, which is what LUN 0 of an iscsi target is.
(See https://bugzilla.redhat.com/show_bug.cgi?id=1067784 for the exact
scenario.)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2fa4c042bc55ec10b9ca16163697d02cddd2d768
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 3 14:53:04 2014 +0100
qemu-iotests: Test progress output for conversion
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 64bb01aa35a24bea7ad0a1a8713991bab5020d12
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Mar 3 14:54:07 2014 +0100
qemu-img convert: Fix progress output
Initialise progress output only when the -p and -q options have already
been parsed, otherwise it's always disabled.
Reported-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b1f7d84fd2197337c0e71701b0c04174be98df77
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 29 19:59:56 2014 +0530
gluster: Remove unused defines and header include
Remove the definitions of GLUSTER_FD_WRITE and GLUSTER_FD_READ which are
no longer used. Also sockets.h isn't needed any more.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 85c09bc016076d59561449e786b7cd2138ea9446
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 29 19:59:55 2014 +0530
gluster: Change licence to GPLv2+
Pipe handling mechanism in gluster driver was based on similar
implementation
in RBD driver and hence had GPLv2 and associated copyright information.
After changing gluster driver to coroutine based implementation, the pipe
handling code no longer exists and hence change gluster driver's licence
to
GPLv2+ and remove RBD copyrights.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 47c03744b37c72b8f633b03380d5a323615b9ac4
Author: Dave Airlie <airlied@xxxxxxxxxx>
Date: Tue Dec 10 14:05:51 2013 +1000
ui/sdl2 : initial port to SDL 2.0 (v2.0)
I've ported the SDL1.2 code over, and rewritten it to use the SDL2
interface.
The biggest changes were in the input handling, where SDL2 has done a
major
overhaul, and I've had to include a generated translation file to get from
SDL2 codes back to qemu compatible ones. I'm still not sure how the
keyboard
layout code works in qemu, so there may be further work if someone can
point
me a test case that works with SDL1.2 and doesn't with SDL2.
Some SDL env vars we used to set are no longer used by SDL2,
Windows, OSX support is untested,
I don't think we can link to SDL1.2 and SDL2 at the same time, so I felt
using --with-sdlabi=2.0 to select the new code should be fine, like how
gtk does it.
v1.1: fix keys in text console
v1.2: fix shutdown, cleanups a bit of code, support ARGB cursor
v2.0: merge the SDL multihead patch into this, g_new the number of
consoles
needed, wrap DCL inside per-console structure.
Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
Fixes & improvements by kraxel:
* baum build fix
* remove text console logic
* adapt to new input core
* codestyle fixups
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6f90f3d786ec1ddae31535bb4be4a1120fd5dfe0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 17:38:20 2014 +0100
console: add QemuUIInfo
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5643706a095044d75df1c0588aac553a595b972b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Jan 24 15:35:21 2014 +0100
console: add head to index to qemu consoles.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c07d00f1b33729b23326c57b55e71a9cd9b9310
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 10 17:30:15 2013 +0100
input: remove index_from_keycode (no users)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 70b52f62b8a94c34ccc939f374bcd00c22a8e3c4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 10 17:16:03 2013 +0100
input: move do_mouse_set to new core
This removes the last user of the lecagy input mouse handler list,
so we can remove more legacy bits with this.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e842c68d449a51ec51a0442aa0fe237d4a4b736d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Dec 10 17:09:36 2013 +0100
input: move qmp_query_mice to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a8dfb1c34ffc17d16eebd46442be93d5e8fad44f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:24:14 2013 +0100
input: add input_mouse_mode tracepoint
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4a33f45e2e4c773b47963baf5a8251963bd01e38
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:23:42 2013 +0100
input: move mouse mode notifier to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4798648e32112ce92be904bb9d53f8ad0f519c76
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:21:21 2013 +0100
input-legacy: remove kbd_mouse_event
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2d0755d21cdc4bd47a44ccbd5e3ee70ba67b20ec
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 11:20:39 2013 +0100
input-legacy: remove kbd_mouse_is_absolute
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 16b0ecd16837c5987ebc675ef4a0e1926491dc72
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 08:19:02 2013 +0100
input-legacy: remove kbd_mouse_has_absolute
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit faecd955ce3100992a8930a4e96c9bc5e27349ce
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Dec 5 08:12:19 2013 +0100
input-legacy: remove kbd_put_keycode
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c43ce5512fad19896fc952dc769538d5c553f4c9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 15:20:05 2013 +0100
input: trace events
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 21bae11a39570bea2d7c839d01363dafdab608ce
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 14:08:04 2013 +0100
input: mouse: switch cocoa ui to new core
Build fixes by Peter Maydell.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2e08c665cccfcaa05e4a82b5a6a8865a6f42c340
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 12:53:44 2013 +0100
input: keyboard: switch cocoa ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c751a74afe07b82dbb968abd1eb45cd5163bd9f5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 15:02:28 2013 +0100
input: mouse: switch monitor to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f100db385d604d43332b2aece2db6645c4185e06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 12:46:34 2013 +0100
input: mouse: switch spice ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 14768eba46e4ecf60fd267452baf8925afd9ed09
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 15:17:45 2013 +0100
input: mouse: switch vnc ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3ab193e66262e60e0ff74ac1ab5cff04412e83cb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 12:27:40 2013 +0100
input: mouse: switch sdl ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 192f81bfcefa628d804f995449f6f03101c0195f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 12:06:04 2013 +0100
input: mouse: switch gtk ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit edd85a3d9eff57f92f3c07a51eec5452ca8a24ef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 17:41:40 2013 +0100
input: mouse: switch legacy handlers to new core
legacy mouse event handlers are registered in the new core,
so they receive events submitted to the new input core.
legacy kbd_mouse_event() continues to use the old code paths.
So new-core event handlers wouldn't see events submitted via
kbd_mouse_event.
This leads to the constrain that we we must transition all
kbd_mouse_event() users first to keep things working. But
that is easier to handle than translating legacy mouse events
into new-core mouse events ;)
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 502c8db5b41bb3206ad136fa4baa753c186c9ebd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 11:31:09 2013 +0100
input: mouse: add qemu_input_is_absolute()
Same as kbd_mouse_is_absolute(), but using new input core.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d3535431e8006e8bf71229f306ea9c62d9e737e8
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 11:29:33 2013 +0100
input: mouse: add graphic_rotate support
Transform absolute mouse events according to graphic_rotate.
Legacy input code does it for both absolute and relative events,
but the logic is broken for relative coordinates, so this is
most likely not used anyway.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 43579403a3d67d6aab5ceb682dedae8fde85703c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 18:24:29 2013 +0100
input: mouse: add helpers functions to core
Likewise a bunch of helper functions to manage mouse button
and movement events, again to make life easier for the ui code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cd100328882ef6967918f3b47ddca9574bb31694
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 13:40:20 2013 +0100
input: keyboard: switch curses ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit de8f580b2360706d644296c690bb187ece6dc4c1
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Dec 4 12:23:54 2013 +0100
input: keyboard: switch spice ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8d447d10b74e5116ed85ce2b890301b77774ec49
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 14:27:18 2013 +0100
input: keyboard: switch vnc ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a25f545d685f44064d32889f6afa7a98631aba21
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 12:17:35 2013 +0100
input: keyboard: switch sdl ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit af98ba92ac3b417fa171736180a782f84b202cef
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 11:40:27 2013 +0100
input: keyboard: switch gtk ui to new core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d2a9260335876ce9d17be0dabf0fd4ae1593de66
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 12:11:13 2013 +0100
input: keyboard: switch qmp_send_key() to new core.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9784e5793000f27cf4b506511fedf207dcf8521c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 11:59:25 2013 +0100
input: keyboard: switch legacy handlers to new core
legacy kbd event handlers are registered in the new core,
so they receive events from the new input core code.
keycode -> scancode translation needed here.
legacy kbd_put_keycode() sends events to the new core.
scancode -> keycode translation needed here.
So with this patch the new input core is fully functional
for keyboard events. New + legacy interfaces can be mixed
in any way.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6567147588fabd87c1b633cc35760d45b71b8d41
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 11:38:47 2013 +0100
input: keyboard: add helper functions to core
A bunch of helper functions to manage keyboard events,
to make life simpler for the ui code when submitting
keyboard events.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c8b405b6798e3731eb9a71fcd753745f224ce698
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 10:35:26 2013 +0100
input: add core bits of the new input layer
Register and unregister handlers.
Event dispatcher code.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8b6b0c59a600d8254a409b837d5358d16e881fd0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 10:34:53 2013 +0100
input: qapi: add pause key
It's missing.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit bbd1b1cc25d551f2e0f85f4b635f4a769dbd86e4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 13 12:10:14 2013 +0100
input: qapi: add unmapped key
Simplifies building something -> QkeyCode mapping tables.
Uninitialized entries can easily identified then.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 031fa964399d3ed9090acc1378b65eee2633a5eb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 09:08:40 2013 +0100
input: qapi: define event types
Define input event types, using qapi. So we get nicely autogenerated
types for our input events. And when it comes to qmp support some day
things will be a lot easier.
Types are modeled after the linux input layer. There are separate
event types for each value. There is a sync to indicate the end
of a event group.
Mouse events are split into motion events (one for each axis) and
button events, which are grouped by sync.
Keyboard events are using the existing KeyValue type.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7ad95ff76ccc11c702ca8edcb01a95938eb7ffcd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 27 09:29:27 2013 +0100
input: rename file to legacy
Rename ui/input.c to ui/input-legacy.c.
We are going to replace it step by step.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4c853375508086132a72f2570e8877608ad6fe7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 28 09:58:18 2013 +0100
console: export QemuConsole index,width,height
Add functions to query QemuConsole properties.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7e7494627f43b26c565a132639d82de260c26cc8
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Feb 6 10:31:37 2013 +0100
s390x/virtio-ccw: Adapter interrupt support.
Handle the new CCW_CMD_SET_IND_ADAPTER command enabling adapter interrupts
on guest request. When active, host->guest notifications will be handled
via global_indicator -> queue indicators instead of queue indicators +
subchannel I/O interrupt. Indicators for virtqueues may be present at an
offset.
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit 0f20ba62c35e6a779ba4ea00616192ef2abb6896
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sun Feb 2 01:45:52 2014 +1100
target-ppc: spapr: e500: fix to use cpu_dt_id
This makes use of @cpu_dt_id and related API in:
1. emulated XICS hypercall handlers as they receive fixed CPU indexes;
2. XICS-KVM to enable in-kernel XICS on right CPU;
3. device-tree renderer.
This removes @cpu_index fixup as @cpu_dt_id is used instead so QEMU
monitor
can accept command-line CPU indexes again.
This changes kvm_arch_vcpu_id() to use ppc_get_vcpu_dt_id() as at the
moment
KVM CPU id and device tree ID are calculated using the same algorithm.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0ce470cd4ca88e84e547a3b95159d23ce6be419e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sun Feb 2 01:45:51 2014 +1100
target-ppc: add PowerPCCPU::cpu_dt_id
Normally CPUState::cpu_index is used to pick the right CPU for various
operations. However default consecutive numbering does not always work
for POWERPC.
These indexes are reflected in /proc/device-tree/cpus/PowerPC,POWER7@XX
and used to call KVM VCPU's ioctls. In order to achieve this,
kvmppc_fixup_cpu() was introduced. Roughly speaking, it multiplies
cpu_index by the number of threads per core.
This approach has disadvantages such as:
1. NUMA configuration stays broken after the fixup;
2. CPU-targeted commands from the QEMU Monitor do not work properly as
CPU indexes have been fixed and there is no clear way for the user to
know what the new CPU indexes are.
This introduces a @cpu_dt_id field in the CPUPPCState struct which
is initialized from @cpu_index by default and can be fixed later
to meet the device tree requirements.
This adds an API to handle @cpu_dt_id.
This removes kvmppc_fixup_cpu() as it is not more needed, @cpu_dt_id
is calculated in ppc_cpu_realize().
This will be used later in machine code.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Mike Day <ncmike@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a0fcac9c21dcbf481eeb5573a738f55023f5a953
Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
Date: Fri Feb 21 10:29:06 2014 +0100
target-ppc: Introduce hypervisor call H_GET_TCE
This patch introduces the hypervisor call H_GET_TCE which is basically the
reverse of H_PUT_TCE, as defined in the Power Architecture Platform
Requirements (PAPR).
The hcall H_GET_TCE is required by the kdump kernel which is calling it to
retrieve the TCE set up by the panicing kernel.
Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c1385933804bb432a53d7a49836250d61b6e48bd
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:38 2014 +0100
target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel
htab
This support updating htab managed by the hypervisor. Currently we don't
have
any user for this feature. This actually bring the store_hpte interface
in-line with the load_hpte one. We may want to use this when we want to
emulate henter hcall in qemu for HV kvm.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ folded fix for the "warn_unused_result" build break in
kvmppc_hash64_write_pte(), Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3f94170be35e3d15d63498e9f0beeee6775be47d
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:31 2014 +0100
target-ppc: Change the hpte store API
For updating in kernel htab we need to provide both pte0 and pte1, hence
update
the interface to take pte0 and pte1 together
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ ldq_phys() API change, Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7c43bca004afdb2a86c20ab3131ec1eb7a78d80d
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:24 2014 +0100
target-ppc: Fix page table lookup with kvm enabled
With kvm enabled, we store the hash page table information in the
hypervisor.
Use ioctl to read the htab contents. Without this we get the below error
when
trying to read the guest address
(gdb) x/10 do_fork
0xc000000000098660 <do_fork>: Cannot access memory at address
0xc000000000098660
(gdb)
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ fixes for 32 bit build (casts!), ldq_phys() API change,
Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f3c75d42adbba553eaf218a832d4fbea32c8f7b8
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Thu Feb 20 18:52:17 2014 +0100
target-ppc: Fix htab_mask calculation
Correctly update the htab_mask using the return value of
KVM_PPC_ALLOCATE_HTAB ioctl. Also we don't update sdr1
on GET_SREGS for HV. We check for external htab and if
found true, we don't need to update sdr1
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[ fixed pte group offset computation in ppc_hash64_htab_lookup() that
caused TCG to fail, Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> ]
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3707cd62db79ba965a211b9e2bb808792ae7343a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 24 08:16:16 2014 -0600
target-ppc: Use Additional Temporary in stqcx Case
Per Alex Graf's suggestion, the recently added case to
gen_conditional_store
for stqcx should use an additional temporary when accessing the second
doubleword. This avoids the mutation of the EA argument to the function,
which is counter intuitive.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7dff9abe639e5baa6faa78267cc10726504b8de5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 24 08:12:13 2014 -0600
target-ppc: Fix Compiler Warnings Due to 64-Bit Constants Declared as UL
This patch fixes 64 bit constants that were erroneously declared as "ul"
instead of
"ull". The preferred form "ULL" is used.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3c3b0ddefac9255f29f5e5c2eb346d0a27e6d022
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Feb 21 10:38:51 2014 +0100
PPC: sPAPR: Only use getpagesize() when we run with kvm
We currently size the msi window trap page according to the host's page
size so that we poke a working hole into a memory slot in case we overlap.
However, this is only ever necessary with KVM active. Without KVM, we
should
rather try to be host platform agnostic and use a constant size: 4k.
This fixes a build breakage on win32 hosts.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e5d7d2b0f55a3b90965044a0ea77e30700a5e136
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 19:47:27 2014 +0000
target-ppc/translate.c: Use ULL suffix for 64 bit constants
64 bit constants need the "ULL" suffix, not just "UL", because
on 32 bit platforms 'long' is not large enough and this will
cause a compiler warning.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0a61f3b4782d4dd431c8d6cca6d7fd48d68e1b59
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Feb 14 12:27:04 2014 +1100
spapr-vlan: flush queue whenever can_receive can go from false to true
When the guests adds buffers to receive queue, the network device
should flush its queue of pending packets. This is done with
qemu_flush_queued_packets.
This adds a call to qemu_flush_queued_packets() which wakes up the main
loop and let QEMU update the network device status which now is "can
receive". The patch basically does the same thing as e8b4c68 does.
Suggested-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ac174549b730531a4d13c8281e2247e66ba0f46d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:19 2014 -0600
target-ppc: Altivec 2.07: Vector Permute and Exclusive OR
This patch adds the Vector Permuate and Exclusive OR (vpermxor)
instruction introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 57354f8f12d04efc3c38126b967fc178b56885f5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:18 2014 -0600
target-ppc: Altivec 2.07: Vector SHA Sigma Instructions
This patch adds the Vector SHA Sigma instructions introduced in Power
ISA Version 2.07:
- Vector SHA-512 Sigma Doubleword (vshasigmad)
- Vector SHA-256 Sigma Word (vshasigmaw)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 557d52fa697c938aeff2784b79df55952c3bfcc1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:17 2014 -0600
target-ppc: Altivec 2.07: AES Instructions
This patch adds the Vector AES instructions introduced in Power ISA
Version 2.07:
- Vector AES Cipher (vcipher)
- Vector AES Cipher Last (vcipherlast)
- Vector AES Inverse Cipher (vncipher)
- Vector AES Inverse Cipher Last (vncipherlast)
- Vector AES SubBytes (vsbox)
Note that the implementation of vncipher deviates from the RTL in
ISA V2.07. However it does match the verbal description in the
third paragraph. The RTL will be fixed in ISA V2.07B. The
implementation here has been tested against actual P8 hardware.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e8f7b27b9942d02ece7df34ae2b2a09cb9da7196
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:16 2014 -0600
target-ppc: Altivec 2.07: Binary Coded Decimal Instructions
This patch add the Binary Coded Decimal instructions bcdadd. and
bcdsub.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b8476fc7c6e205f0dc9fff3cfa199eee8af0fa27
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:15 2014 -0600
target-ppc: Altivec 2.07: Vector Polynomial Multiply Sum
This patch adds the Vectory Polynomial Multiply Sum instructions
introduced in Power ISA Version 2.07:
- Vectory Polynomial Multiply Sum Byte (vpmsumb)
- Vectory Polynomial Multiply Sum Halfword (vpmsumh)
- Vectory Polynomial Multiply Sum Word (vpmsumw)
- Vectory Polynomial Multiply Sum Doubleword (vpmsumd)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f1064f612c9783136f2c59b94a4a8da70d3a09e3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:14 2014 -0600
target-ppc: Altivec 2.07: Vector Gather Bits by Bytes
This patch adds the Vector Gather Bits by Bytes Doubleword (vgbbd)
instruction which is introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6f3dab41fb9ecf1caf9779644e4267af6570dd71
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:13 2014 -0600
target-ppc: Altivec 2.07: Doubleword Compares
This patch adds the Vector Compare Doubleword instructions introduced
by Power ISA Version 2.07:
- Vector Compare Equal to Unsigned Doubleword (vcmpequd)
- Vector Compare Greater Than Signed Doubleword (vcmpgtsd)
- Vector Compare Greater Than Unsigned Doubleword (vcmpgtud)
These instructions are encoded with bit 31 set to 1 and so are duals with
vcmpeqfp, vcmpgtfp and vcmpbfp respectively.
The helper macro for integer compares is enhanced to account for 64-bit
operands.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4d82038e4198cdb8aacdf1d605c69cef29748761
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:12 2014 -0600
target-ppc: Altivec 2.07: vbpermq Instruction
This patch adds the Vector Bit Permute Quadword (vbpermq) instruction
introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b41da4ebb2658c4abaaab01e64b9d0bb67dba003
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:11 2014 -0600
target-ppc: Altivec 2.07: Quadword Addition and Subtracation
This patch adds the Vector Quadword Addition and Subtraction instructions
introduced in Power ISA Version 2.07:
- Vector Add Unsigned Quadword Modulo (vadduqm)
- Vector Add & Write Carry Unsigned Quadword (vaddcuq)
- Vector Add Extended Unsigned Quadword (vaddeuqm)
- Vector Add Extended & Write Carry Unsigned Quadword (vaddecuq)
- Vector Subtract Unsigned Quadword Modulo (vsubuqm)
- Vector Subtract & Write Carry Unsigned Quadword (vsubcuq)
- Vector Subtract Extended Unsigned Quadword (vsubeuqm)
- Vector Subtract Extended & Write Carry Unsigned Quadword (vsubecuq)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2fdf78e649b81a14e2c65770fdb0ac3e656a35c5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:10 2014 -0600
target-ppc: Altivec 2.07: Vector Doubleword Rotate and Shift Instructions
This patch adds the vector doublword rotate and shift instructions
introduced in Power ISA Version 2.07:
- Vector Rotate Left Doubleword instruction (vrld)
- Vector Shift Left Doubleword (vsld)
- Vector Shift Right Doubleword (vsrd)
- Vector Shift Right Algegbraic Doubleword (vsrad)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 818692ff95f143e640b44726da59646ea7fbcc23
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:09 2014 -0600
target-ppc: Altivec 2.07: Change Bit Masks to Support 64-bit Rotates and
Shifts
Existing code in the VROTATE, VSL and VSR macros for the Altivec rotate
and shift
helpers uses a formula to compute a bit mask used to extract the
rotate/shift
amount from the VRB register. What is desired is:
mask = (1 << (3 + log2(sizeof(element)))) - 1
but what is implemented is:
mask = (1 << (3 + (sizeof(element)/2))) - 1
This produces correct answers when "element" is uint8_t, uint16_t or
uint_32t. But
it breaks down when element is uint64_t.
This patch corrects the situation. Since the mask is known at compile
time, the
macros are changed to simply accept the mask as an argument.
Subsequent patches in this series will add double-word variants of
rotates and
shifts and thus take advantage of this fix.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0ffe77f275e62a57eceda4c7fbb26e499e9ed86
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:08 2014 -0600
target-ppc: Altivec 2.07: Vector Merge Instructions
This patch adds the Vector Merge Even Word (vmrgew) and Vector
Merge Odd Word (vmrgow) instructions introduced in Power ISA
Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4430e076632bc904e041914e410c51d2a9a43a99
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:07 2014 -0600
target-ppc: Altivec 2.07: Unpack Signed Word Instructions
This patch adds the Unpack Signed Word instructions introduced in
Power ISA Version 2.07:
- Vector Unpack High Signed Word (vupkusw)
- Vector Unpack Low Signed Word (vupklsw)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 024215b24210e7c7cbe129279ea94031dd55c791
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:06 2014 -0600
target-ppc: Altivec 2.07: Pack Doubleword Instructions
This patch adds the Vector Pack Doubleword instructions introduced in
Power ISA Version 2.07:
- Vector Pack Signed Doubleword Signed Saturate (vpksdss)
- Vector Pack Signed Doubleword Unsigned Saturate (vpksdus)
- Vector Pack Unsigned Doubleword Unsigned Modulo (vpkudum)
- Vector Pack Unsigned Doubleword Unsigned Saturate (vpkudus)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8203e31b547d38a8ec0ce04fe19e6cefe75b4391
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:05 2014 -0600
target-ppc: Altivec 2.07: Vector Min/Max Doubleword Instructions
This patch adds the Vector Minimum and Maximum Doubleword instructions
that are introduced in Power ISA Version 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e13500b3c36533e22842bac28f40b2c86ded8c0c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:04 2014 -0600
target-ppc: Altivec 2.07: Vector Population Count Instructions
This patch adds the Vector Population Count instructions introduced in
Power
ISA Version 2.07: vpopcntb, vpopcnth, vpopcntw and vpopcntd.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f293f04ab5301f688ce7c9fe3006a787611c2485
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:03 2014 -0600
target-ppc: Altivec 2.07: Add Vector Count Leading Zeroes
This patch adds the Vector Count Leading Zeroes instructions introduced
in Power ISA Version 2.07 - vclzb, vclzh, vclzw and vclzd.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 953f0f5842a8515fd85ae28ebcdc219f8e7b76fe
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:02 2014 -0600
target-ppc: Altivec 2.07: vmuluw Instruction
This patch adds the Vector Multiply Unsigned Word Modulo (vmuluwm)
instruction.
The existing VARITH_DO macro is re-used to (trivially) instantiate
the helper code.
Since bits 21-31 of any vmuluwm instruction is 137, the instruction
is coded as a dual to vmulouw (bits 21-31 = 136).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 63be09365a9a4658060e85ce013cc0beaeac25e5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:01 2014 -0600
target-ppc: Altivec 2.07: Multiply Even/Odd Word Instructions
This patch adds the Multilpy Even/Odd Word instructions that are
introduced
in Power ISA Version 2.07:
- Vector Multiply Even Unsigned Word (vmuleuw)
- Vector Multiply Even Signed Word (vmulesw)
- Vector Multiply Odd Unsigned Word (vmulouw)
- Vector Multiply Odd Signed Word (vmulosw)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit aa9e930c8870d06a20b356785d3ec7d9a942a29f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:23:00 2014 -0600
target-ppc: Altivec 2.07: Change VMUL_DO to Support 64-bit Integers
This VMUL_DO macro provides support for the various vmule* and vmulo*
instructions. These instructions multiply vector elements, producing
products that are one size larger; e.g. vmuleub multiplies unsigned 8-bit
elements and produces a 16 bit unsigned element.
The existing macro works correctly for the existing instructions (8-bit,
and 16-bit source elements) but does not work correctly for 32-bit
source elements.
This patch adds an explicit cast to the multiplicands, forcing them to be
of the target element type. This is required for the forthcoming patches
that add the vmul[eo][us]w instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 56eabc750862b985a6ddfc3905b534576eeee33e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:59 2014 -0600
target-ppc: Altivec 2.07: Add/Subtract Unsigned Doubleword Modulo
This patch adds two Altivec unsigned doublword modulo instructions that
are introduced in Power ISA Version V2.07:
- vaddudm : Vector Add Unsigned Doubleword Modulo
- vsubudm : Vector Subtrace Unsigned Doubleword Modulo
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 111c5f54a1fda35ff3a35d5cb62cd5f0f3e9d5b2
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:58 2014 -0600
target-ppc: Altivec 2.07: Vector Logical Instructions
This patch adds the Vector Logical Instructions that are introduced
in Power ISA Version 2.07: veqv, vnand and vorc.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a737d3ebc8ece5728c2d98b725652b7a0056d593
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:57 2014 -0600
target-ppc: Altivec 2.07: Add Support for R-Form Dual Instructions
Some Alitvec instructions introduced in Power ISA Version 2.07 use bit 31
(aka the "Rc" bit) as an opcode but also use bit 21 as an actual Rc
bit. QEMU for PowerPC typically uses bits 0-5 and 21-30 for opcodes.
This patch introduces a generator macro that injects an auxiliary handler
which decodes both bits 21 and 31 and invokes one of four standard
handlers. Since the instructions are not, in general, from the same
version
of the ISA, two sets of PPC_*/PPC2_* flags are supported.
This patch also introduces a macro to insert two entries into the opcode
table -- one for bit 21 equal to 0 and one for bit 21 equal to 1.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 50f5fc0cf24fbc12434a5ad6e3784341f92e23bd
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:56 2014 -0600
target-ppc: Altivec 2.07: Add Opcode Macro for VX Form Instructions
This patch adds a macro to insert an entry into the opcode table for
Altivec
Power ISA Version 2.07 instructions. The macro is similar to the
GEN_VXFORM macro
except that it tags the entry with the PPC2_ALTIVEC_207 flag rather than
PPC_ALTIVEC.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5dffff5a4746075a4609366440c2c67983eec106
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:55 2014 -0600
target-ppc: Altivec 2.07: Add Support for Dual Altivec Instructions
Some Alitvec instructions introduced in Power ISA Version 2.07 use bit 31
(aka the "Rc" bit) as an opcode bit. However, QEMU for PowerPC uses
bits 0-5 and 21-30 for opcodes and not bit 31.
This patch introduces macros that will handle this situation by injecting
an auxiliary handler which decodes bit 31 in invokes one of two standard
handlers. Since the instructions are not, in general, from the same
version
of the ISA, two sets of PPC_*/PPC2_* instruction tags are supported.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9b47bb490c1b272c16b8f5e216b74456a3e17322
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:54 2014 -0600
target-ppc: Altivec 2.07: Add GEN_VXFORM3
This patch adds generator macro for Altivec instructions that have 3
source AVR operands. The macro is similar to the 2 operand form.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb5275338daf1b64bf9677e0361057cfa6ff6a7d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:53 2014 -0600
target-ppc: Altivec 2.07: Update AVR Structure
This patch updates the ppc_avr_t data structure to include elements for
signed 64-bit integers and (conditionally) unsigned 128 bit integers.
These elements will be in instructions models later on in this patch
series.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 32ea54ab5fe18954e05f33a5825ba088d6cd4163
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Feb 12 15:22:52 2014 -0600
target-ppc: Altivec 2.07: Add Instruction Flag
This patch adds a flag that will be used to tag the Altivec instructions
introduced in Power ISA Version 2.07.
The flag is added to Power8 model since P8 supports these instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 27b95bfe624af1ddfaf63c07f3f0a63049b8c9fc
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:27:01 2014 -0600
target-ppc: Add Store Quadword Conditional
This patch adds the Store Quadword Conditionl (stqcx.) instruction
which is introduced in Power ISA 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
[agraf: fix compile error when !TARGET_PPC64]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9c294d5ab3eac0e600fa510becfa677d87b088bf
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:27:00 2014 -0600
target-ppc: Add Load Quadword and Reserve
This patch adds the Load Quadword and Reserve (lqarx) instruction,
which is new in Power ISA 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 84cab1e2f5be3ea6eaa65c9fc0422fb992946ce0
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:59 2014 -0600
target-ppc: Store Quadword
This patch adds support for the Store Quadword instruction in user mode.
Prior
to Power ISA 2.07, stq was legal only in privileged mode. Support for
Little
Endian mode is also new in ISA 2.07.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e0498daab50d42f3948fc5607683c971fe9416fd
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:58 2014 -0600
target-ppc: Load Quadword
This patch adds the Book I (user space) Load Quadword (lq) instruction.
This instruction was introduced into Book I in Power ISA V2.07. Previous
versions of the architecture supported this as a privileged instruction.
Previous versions of the architecture also did not support Little Endian
mode.
Note that this patch also adds the PPC_64BX flag to the Power8 model,
which enables the lq instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 71a8c019c445377f0dd04881cbd7c7dfb6ff3e5c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:57 2014 -0600
target-ppc: Add is_user_mode Utility Routine
This patch adds a boolean function is_user_mode that can be re-used
in translation code that is sensitive to the MSR[PR] (user-mode)
state.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 38a853375e63ea7315e138d7016ed387d744e43d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:56 2014 -0600
target-ppc: Add Flag for ISA 2.07 Load/Store Quadword Instructions
This patch adds a flag to identify the load/store quadword instructions
that are introduced with Power ISA 2.07.
The flag is added to the Power8 model since P8 supports these
instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 52a4984d97a942f35debb1887cb53d7f09bf1e26
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:55 2014 -0600
target-ppc: Add bctar Instruction
This patch adds the Branch Conditional to Address Register (bctar)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 60511041d6b846c9b6804a2c552ceda27d4e1f06
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:54 2014 -0600
target-ppc: Add Target Address SPR (TAR) to Power8
This patch adds support for the Target Address Register (TAR) to the
Power8
model.
Because supported SPRs are typically identified in an init_proc_*()
function and because the Power8 model is currently just using the
init_proc_POWER7() function, a new init_proc_POWER8() function
is added and plugged into the P8 model.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 94840e0700a3cbd0b0d99ae9ddecf47b4bbcc5d7
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:26:53 2014 -0600
target-ppc: Add Flag for bctar
This patch adds a flag for the bctar instruction. This instruction
is being introduced via Power ISA 2.07.
Also, the flag is added to the Power8 machine model since the P8
processor supports this instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f5bc1bfa35af5288fe43f459696e712474dafc66
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Mon Feb 10 11:25:09 2014 -0600
target-ppc: Fix xxpermdi When T==A or T==B
The existing implementation of xxpermdi is defective if the target
VSR is also a source VSR. This patch fixes the defect in this case
but also preserves the simpler, two TCG operation implementation
when the target is not once of the two sources.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3f34cf910cbc4e77d25a300d8c290ae50bdcc2ed
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Thu Feb 20 14:20:35 2014 +0100
target-ppc: add extended opcodes for dcbt/dcbtst
The latest glibc provides a memrchr routine using an extended opcode
of the 'dcbt' instruction :
00000000000a7cc0 <memrchr>:
a7cc0: 11 00 4c 3c addis r2,r12,17
a7cc4: b8 f8 42 38 addi r2,r2,-1864
a7cc8: 14 2a e3 7c add r7,r3,r5
a7ccc: d0 00 07 7c neg r0,r7
a7cd0: ff ff e7 38 addi r7,r7,-1
a7cd4: 78 1b 6a 7c mr r10,r3
a7cd8: 24 06 e6 78 rldicr r6,r7,0,56
a7cdc: 60 00 20 39 li r9,96
a7ce0: 2c 32 09 7e dcbtt r9,r6
....
which breaks grep, and other commands, in TCG mode :
invalid bits: 02000000 for opcode: 1f - 16 - 08 (7e09322c)
00003fff799feca0
This patch adds the extended opcodes for dcbt/dcbtst as no-ops just
like the 'dcbt' instruction.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 61de36761b565a4138d8ad7ec75489ab28fe84b6
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Feb 6 16:08:15 2014 +0100
qdev: Keep global allocation counter per bus
When we have 2 separate qdev devices that both create a qbus of the
same type without specifying a bus name or device name, we end up
with two buses of the same name, such as ide.0 on the Mac machines:
dev: macio-ide, id ""
bus: ide.0
type IDE
dev: macio-ide, id ""
bus: ide.0
type IDE
If we now spawn a device that connects to a ide.0 the last created
bus gets the device, with the first created bus inaccessible to the
command line.
After some discussion on IRC we concluded that the best quick fix way
forward for this is to make automated bus-class type based allocation
count a global counter. That's what this patch implements. With this
we instead get
dev: macio-ide, id ""
bus: ide.1
type IDE
dev: macio-ide, id ""
bus: ide.0
type IDE
on the example mentioned above.
This also means that if you did -device ...,bus=ide.0 you got a device
on the first bus (the last created one) before this patch and get that
device on the second one (the first created one) now. Breaks
migration unless you change bus=ide.0 to bus=ide.1 on the destination.
This is intended and makes the bus enumeration work as expected.
As per review request follows a list of otherwise affected boards and
the reasoning for the conclusion that they are ok:
target machine bus id times
------ ------- ------ -----
aarch64 n800 i2c-bus.0 2
aarch64 n810 i2c-bus.0 2
arm n800 i2c-bus.0 2
arm n810 i2c-bus.0 2
-> Devices are only created explicitly on one of the two buses, using
s->mpu->i2c[0], so no change to the guest.
aarch64 vexpress-a15 virtio-mmio-bus.0 4
aarch64 vexpress-a9 virtio-mmio-bus.0 4
aarch64 virt virtio-mmio-bus.0 32
arm vexpress-a15 virtio-mmio-bus.0 4
arm vexpress-a9 virtio-mmio-bus.0 4
arm virt virtio-mmio-bus.0 32
-> Makes -device bus= work for all virtio-mmio buses. Breaks
migration. Workaround for migration from old to new: specify
virtio-mmio-bus.4 or .32 respectively rather than .0 on the
destination.
aarch64 xilinx-zynq-a9 usb-bus.0 2
arm xilinx-zynq-a9 usb-bus.0 2
mips64el fulong2e usb-bus.0 2
-> Normal USB operation not affected. Migration driver needs command
line to use the other bus.
i386 isapc ide.0 2
x86_64 isapc ide.0 2
mips mips ide.0 2
mips64 mips ide.0 2
mips64el mips ide.0 2
mipsel mips ide.0 2
ppc g3beige ide.0 2
ppc mac99 ide.0 2
ppc prep ide.0 2
ppc64 g3beige ide.0 2
ppc64 mac99 ide.0 2
ppc64 prep ide.0 2
-> Makes -device bus= work for all IDE buses. Breaks migration.
Workaround for migration from old to new: specify ide.1 rather than
ide.0 on the destination.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5736245c80bb277f3de7f37d9482c906743612ad
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 28 13:29:59 2014 +0530
target-ppc: Update external_htab even when HTAB is managed by kernel
We will use this in later patches to make sure we use the right load
functions when copying hpte entries.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3b66da82cebf3ddd1c2e06233c647369f617a6bc
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:19 2014 +1100
spapr: print more detailed error message on failed load_elf()
This makes use of new error codes which load_elf() can return and
prints more informative error message.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 18674b26788a9e47f1157170234e32ece2044367
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:18 2014 +1100
elf-loader: add more return codes
The existing load_elf() just returns -1 if it fails to load ELF. However
it could be smarter than this and tell more about the failure such as
wrong endianness or incompatible platform.
This adds additional return codes for wrong architecture, wrong
endianness and if the image is not ELF at all.
This adds a load_elf_strerror() helper to convert return codes into
string messages.
This fixes handling of what load_elf() returns for s390x, other
callers just check the return value for <0 and this remains unchanged.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a2331d12ee7ca9fbcf2a3c22109513ca561a51e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:17 2014 +1100
moxie: fix load_elf() usage
At the moment in the case of error, load_elf() returns -1 so load_kernel()
will not signal error at all.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 133e70ee8831992e309f74c20084bc50e3bcf8e0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:04:16 2014 +1100
spapr: support only ELF kernel images
Currently everybody uses ELF kernel images with "-kernel" option on
pseries machine but QEMU still tries to boot from an image even it
fails to recognize it is ELF. This produces undefined behaviour if
the user tries a kernel image compiled for another architecture.
This removes support of raw kernel images.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit eb1e7c3e514665bb948357ef39845efd9af29de1
Author: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Date: Wed Feb 5 14:59:28 2014 +0100
Add Enhanced Three-Speed Ethernet Controller (eTSEC)
This implementation doesn't include ring priority, TCP/IP Off-Load, QoS.
Signed-off-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b36f100e17c8e2e737b48d78c9049b96752e4adf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Feb 4 15:12:34 2014 +1100
PPC: KVM: suppress warnings about not supported SPRs
PR KVM lacks support of many SPRs in set/get one register API but it does
really break PR KVM. So convert them to switchable traces for now.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0658aa9cbacdfd40fffd23bfd6608870d12602c1
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Mon Feb 3 15:20:20 2014 +0000
virtex_ml507: Add support for loading initrd images
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
[agraf: fix up stray quotes and newlines in strings]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 69b31b907b1114b4ee24faa00582fd5ecaaccf5c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 31 13:24:00 2014 +1100
PPC: KVM: store SLB slot number
When ppc_store_slb() is called from kvm_arch_get_registers(), it stores
a SLB in CPUPPCState::slb[slot]. However it drops the slot number from
ESID so when kvm_arch_put_registers() puts SLBs back to KVM, they do not
have correct "index" field anymore. This broke migration with LPCR_AIR
enabled as now the guest is handling interrupts in virtual mode and unable
to reconstruct correct SLBs anymore.
This adds "index" field for valid SLBs when putting them to KVM.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 66c3e32841f185243efa59381ab7721b24deca35
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:10 2014 -0600
target-ppc: Add ISA2.06 lfiwzx Instruction
This patch adds the Load Floating Point as Integer Word and
Zero Indexed (lfiwzx) instruction which was introduced in
Power ISA 2.06.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ce8ca30b398fb74e522be1a9ea87aa7868f27428
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:09 2014 -0600
target-ppc: Enable frsqrtes on Power7 and Power8
The frsqrtes instruction was introduced prior to ISA 2.06 and is
support on both the Power7 and Power8 processors. However, this
instruction is handled as illegal in the current QEMU emulation
machines. This patch enables the existing implemention of frsqrtes
in the P7 and P8 machines.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6d41d146c92e99e21ef267be4c4b9893940e0838
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:08 2014 -0600
target-ppc: Add ISA 2.06 ftsqrt
This patch adds the Floating Point Test for Square Root instruction
which was introduced in Power ISA 2.06.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit da29cb7bc7b62c14a69a104f91867edf9ce88543
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:07 2014 -0600
target-ppc: Add ISA 2.06 ftdiv Instruction
This patch adds the Floating Point Test for Divide instruction which
was introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 29a0e4e9a1adfaf8864cfb7a79e5bb0f28aac282
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:06 2014 -0600
target-ppc: Add Flag for Power ISA V2.06 Floating Point Test Instructions
This patch adds a flag for Floating Point Test instructions that were
introduced in Power ISA V2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c73860803f8f8f56ee01b6e796507bfb4ea073ec
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:05 2014 -0600
target-ppc: Fix and enable fri[mnpz]
The fri* series of instructions was introduced prior to ISA 2.06 and
is supported on Power7 and Power8 hardware. However, the instruction
is still considered illegal in the P7 and P8 QEMU emulation models.
This patch enables these instructions for the P7 and P8 machines.
Also, the existing helper is modified to correctly handle some of
the boundary cases (NaNs and the inexact flag).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 28288b48a83e903198ee22d8558c43b021e39a17
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:06:00 2014 -0600
target-ppc: Add ISA 2.06 fcfid[u][s] Instructions
This patch adds the fcfids, fcfidu and fcfidus instructions which
were introduced in Power ISA 2.06B. A common macro is provided to
eliminate repetitious code, and the existing fcfid instruction is
refactored to use this macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fab7fe426fa5325f93c931ffbe25f4e024b1ced4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:59 2014 -0600
target-ppc: Add ISA2.06 Float to Integer Instructions
This patch adds the four floating point to integer conversion instructions
introduced by Power ISA V2.06:
- Floating Convert to Integer Word Unsigned (fctiwu)
- Floating Convert to Integer Word Unsigned with Round Toward
Zero (fctiwuz)
- Floating Convert to Integer Doubleword Unsigned (fctidu)
- Floating Convert to Integer Doubleword Unsigned with Round
Toward Zero (fctiduz)
A common macro is developed to eliminate repetitious code. Existing
instructions
are also refactoried to use this macro (fctiw, fctiwz, fctid, fctidz).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1b0bd0029f16649a7f3d8ba021191bc6ca3a471f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:58 2014 -0600
target-ppc: Add Flag for ISA V2.06 Floating Point Conversion
This patch adds a flag for the floating point conversion instructions
introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 587c51f74bcf2f9aa03b7d8e1cff229f74d02860
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:57 2014 -0600
target-ppc: Add ISA 2.06 stbcx. and sthcx. Instructions
This patch adds the byte and halfword variants of the Store Conditional
instructions. A common macro is introduced and the existing
implementations
of stwcx. and stdcx. are refactored to use this macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5c77a786e21e9dc12efc0f0590221e67dd5143da
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:56 2014 -0600
target-ppc: Add ISA2.06 lbarx, lharx Instructions
This patch adds the byte and halfword variants of the Load and
Reserve instructions. Since there is much commonality among
all forms of Load and Reserve, a macro is provided and the existing
implementations of lwarx and ldarx are refactoried to use this
macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1fa6c533047b4447cef693a1f54babc6a69fe19d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:55 2014 -0600
target-ppc: Add Flag for ISA2.06 Atomic Instructions
This patch adds a flag for the atomic instructions introduced
in Power ISA V2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a98eb9e99df4c11966fcd56cbcb6f06e6f413a89
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:54 2014 -0600
target-ppc: Add ISA 2.06 divwe[o] Instructions
This patch addes the signed Divide Word Extended instructions
which were introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6a4fda3358ca5a21e17d553074f74d512745c4f6
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:53 2014 -0600
target-ppc: Add ISA 2.06 divweu[o] Instructions
This patch addes the Unsigned Divide Word Extended instructions
which were introduced in Power ISA 2.06B.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e44259b6d4f4de69a868510a198b2696f24118a1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:52 2014 -0600
target-ppc: Add ISA2.06 divde[o] Instructions
This patch adds the Divide Doubleword Extended instructions.
The implementation builds on the unsigned helper provided in
the previous patch.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 98d1eb2748e84f9e3118d1bd2495f0cc917ac18d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:51 2014 -0600
target-ppc: Add ISA2.06 divdeu[o] Instructions
This patch adds the Divide Doubleword Extended Unsigned
instructions. This instruction requires dividing a 128-bit
value by a 64 bit value. Since 128 bit integer division is
not supported in TCG, a helper is used. An architecture
independent 128-bit division routine is added to host-utils.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
[agraf: use ||]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a824bc191a90d86980a9ed090cb1d1219faaf8e7
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:50 2014 -0600
target-ppc: Add Flag for ISA2.06 Divide Extended Instructions
This patch adds a flag for the Divide Extended instructions that
were introduced in Power ISA V2.06B. The flag is added to the
Power7 and Power8 models.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 86ba37edcb6556b124840f04d180a34ffcc71086
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 10:05:49 2014 -0600
target-ppc: Add ISA2.06 bpermd Instruction
This patch adds the Bit Permute Doubleword (bpermd) instruction,
which was introduced in Power ISA 2.06 as part of the base 64-bit
architecture.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7ee19fb9d682689d36c849576c808cf92e3bae40
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:45 2014 -0600
target-ppc: Scalar Non-Signalling Conversions
This patch adds the non-signalling scalar conversion instructions:
- VSX Scalar Convert Single Precision to Double Precision
Non-Signalling (xscvspdpn)
- VSX Scalar Convert Double Precision to Single Precision
Non-Signalling (xscvdpspn)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3d1140bf3e73e4fd244914bdf2867fe634759c71
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:44 2014 -0600
target-ppc: Scalar Round to Single Precision
This patch adds the VSX Scalar Round to Single Precision (xsrsp)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 097ec5d850df7dd1da87220726ce87a6ab3566c4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:43 2014 -0600
target-ppc: Floating Merge Word Instructions
This patch adds the Floating Merge Even Word (fmrgew) and Floating
Merge Odd Word (fmrgow) instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f5c0f7f981333da59cc35c3210d05ec1775c97c1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:42 2014 -0600
target-ppc: Move To/From VSR Instructions
This patch adds the Move To VSR instructions (mfvsrd, mfvsrwz)
and Move From VSR instructions (mtvsrd, mtvsrwa, mtvsrwz). These
instructions are unusual in that they are considered a floating
point instruction if the indexed VSR is in the first half of the
array (0-31) but they are considered vector instructions if the
indexed VSR is in the second half of the array (32-63).
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 67a33f37277e29355239c7cb80af14f914f201f3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:41 2014 -0600
target-ppc: VSX Stage 4: Add xxleqv, xxlnand and xxlorc
This patchs adds the VSX Logical instructions that are new with
ISA V2.07:
- VSX Logical Equivalence (xxleqv)
- VSX Logical NAND (xxlnand)
- VSX Logical ORC (xxlorc)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 74698350ca1bc95eda751f8c5a93268f20f7214e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:40 2014 -0600
target-ppc: VSX Stage 4: Add xscvsxdsp and xscvuxdsp
This patch adds the VSX Scalar Convert Unsigned Integer Doubleword
to Floating Point Format and Round to Single Precision (xscvuxdsp)
and VSX Scalar Convert Signed Integer Douglbeword to Floating Point
Format and Round to Single Precision (xscvsxdsp) instructions.
The existing integer to floating point conversion macro
(VSX_CVT_INT_TO_FP)
is modified to support the rounding of the intermediate floating point
result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f53f81e08bd0192121c4e0c3f1fdc53832631b4b
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:39 2014 -0600
target-ppc: VSX Stage 4: Add Scalar SP Fused Multiply-Adds
This patch adds the Single Precision VSX Scalar Fused Multiply-Add
instructions: xsmaddasp, xsmaddmsp, xssubasp, xssubmsp, xsnmaddasp,
xsnmaddmsp, xsnmsubasp, xsnmsubmsp.
The existing VSX_MADD() macro is modified to support rounding of the
intermediate double precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 968e76bcab9a3c40f37c9a52822b6daa90ae7cd8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:38 2014 -0600
target-ppc: VSX Stage 4: add xsrsqrtesp
This patch adds the VSX Scalar Reciprocal Square Root Estimate
Single Precision (xsrsqrtesp) instruction.
The existing VSX_RSQRTE() macro is modified to support rounding
of the intermediate double-precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cea4e57473efc2fad1d241e87984eba4e5d9690c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:37 2014 -0600
target-ppc: VSX Stage 4: Add xssqrtsp
This patch adds the VSX Scalar Square Root Single Precision (xssqrtsp)
instruction.
The existing VSX_SQRT() macro is modified to support rounding of the
intermediate double-precision result to single-precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2c0c52ae620cf121a8b9084c7c1168d867564ee8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:36 2014 -0600
target-ppc: VSX Stage 4: Add xsresp
This patch adds the VSX Scalar Reciprocal Estimate Single Precision
(xsresp) instruction.
The existing VSX_RE macro is modified to support rounding of the
intermediate double precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b24d0b472b0d471e93ccc7fc7d4fd6ed30e7e434
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:35 2014 -0600
target-ppc: VSX Stage 4: Add xsdivsp
This patch adds the VSX Scalar Divide Single Precision (xsdivsp)
instruction.
The existing VSX_DIV macro is modified to support rounding of the
intermediate double precision result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab9408a2d11670d15b2692ca60646d8da8158d6f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:34 2014 -0600
target-ppc: VSX Stage 4: Add xsmulsp
This patch adds the VSX Scalar Multiply Single-Precision (xsmulsp)
instruction.
The existing VSX_MUL macro is modified to support rounding of the
intermediate result to single precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3fd0aadfc19ba146ed6ced27b4e6ff6afc08473a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:33 2014 -0600
target-ppc: VSX Stage 4: Add xsaddsp and xssubsp
This patch adds the VSX Scalar Add Single-Precision (xsaddsp) and
VSX Scalar Subtract Single-Precision (xssubsp) instructions.
The existing VSX_ADD_SUB macro is modified to support the rounding
of the (intermediate) result to single-precision.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e16a626b8280cfcf3de385c59ddd1fde2840c2c3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:32 2014 -0600
target-ppc: VSX Stage 4: Add stxsiwx and stxsspx
This patch adds two store scalar instructions:
- Store VSX Scalar as Integer Word Indexed (stxsiwx)
- Store VSX Scalar Single-Precision Indexed (stxsspx)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f026da78308ea468d26d78792a6655bb34431f18
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:31 2014 -0600
target-ppc: VSX Stage 4: Refactor stxsdx
This patch refactors the stxsdx instruction. Reusable code is
extracted into a macro which will be used in subsequent patches
in this series.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cac7f0ba4a5a47050a249ef085bc846630224d0d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:30 2014 -0600
target-ppc: VSX Stage 4: Add lxsiwax, lxsiwzx and lxsspx
This patch adds the scalar load instructions introduced in ISA
V2.07:
- Load VSX Scalar as Integer Word Algebraic Indexd (lxsiwax)
- Load VSX Scalar as Integer Word and Zero Indexed (lxsiwzx)
- Load VSX Scalar Single-Precision Indexed (lxsspx)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e072fe796ee2b5f43e0dba259d0706e1b296138a
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:29 2014 -0600
target-ppc: VSX Stage 4: Refactor lxsdx
This patch refactors the lxsdx generator. Resuable code is isolated
into a macro. The macro will be used in subsequent patches in this
series to implement other scalar load instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dbcc48fa8fc534c240129fcdece9c3fb0434e82c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Jan 15 08:10:28 2014 -0600
target-ppc: VSX Stage 4: Add VSX 2.07 Flag
This patch adds a flag to identify those VSX instructions that are
new to Power ISA V2.07. The flag is added to the Power 8 processor
initialization so that the P8 models understand how to decode and
emulate instructions in this category.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88e33d08c9c2fc0aabc9b832719324bd2d454db9
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:35 2014 -0600
target-ppc: Add VSX Rounding Instructions
This patch adds the VSX Round to Floating Point Integer instructions:
- xsrdpi, xsrdpic, xsrdpim, xsrdpip, xsrdpiz
- xvrdpi, xvrdpic, xvrdpim, xvrdpip, xvrdpiz
- xvrspi, xvrspic, xvrspim, xvrspip, xvrspiz
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5177d2ca938496f060448f71f9edd9145231d9af
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:34 2014 -0600
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
This patch adds the VSX Integer Conversion instructions defined by
V2.06 of the PowerPC ISA:
- xscvdpsxds, xscvdpsxws, xscvdpuxds, xscvdpuxws
- xvcvdpsxds, xvcvdpsxws, xvcvdpuxds, xvcvdpuxws
- xvcvspsxds, xvcvspsxws, xvcvspuxds, xvcvspuxws
- xscvsxddp, xscvuxddp
- xvcvsxddp, xscvsxwdp, xvcvuxddp, xvcvuxwdp
- xvcvsxdsp, xscvsxwsp, xvcvuxdsp, xvcvuxwsp
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ed8ac5686a8e1aba7ddc5d8ca3a56a7496a2a536
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:33 2014 -0600
target-ppc: Add VSX Floating Point to Floating Point Conversion
Instructions
This patch adds the VSX instructions that convert between floating
point formats: xscvdpsp, xscvspdp, xvcvdpsp, xvcvspdp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 354a6decf1508f15fb1b4b419efcd05d209bece4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:32 2014 -0600
target-ppc: Add VSX Vector Compare Instructions
This patch adds the VSX floating point compare vector instructions:
- xvcmpeqdp[.], xvcmpgedp[.], xvcmpgtdp[.]
- xvcmpeqsp[.], xvcmpgesp[.], xvcmpgtsp[.]
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 959e9c9d1e5507a6c68d0b875d71ef967d3cfd6c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:31 2014 -0600
target-ppc: Add VSX xmax/xmin Instructions
This patch adds the VSX floating point maximum and minimum
instructions:
- xsmaxdp, xvmaxdp, xvmaxsp
- xsmindp, xvmindp, xvminsp
Because of the Power ISA definitions of maximum and minimum
on various boundary cases, the standard softfloat comparison
routines (e.g. float64_lt) do not work as well as one might
think. Therefore specific routines for comparing 64 and 32
bit floating point numbers are implemented in the PowerPC
helper code.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4f17e9c738321151e6b7aa4d2c25c3f1e2443cca
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:30 2014 -0600
target-ppc: Add VSX xscmp*dp Instructions
This patch adds the VSX scalar floating point compare ordered
and unordered instructions.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 595c6eefb79a77a650dd7a49e812920ed53b0e9c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:29 2014 -0600
target-ppc: Add VSX ISA2.06 Multiply Add Instructions
This patch adds the VSX floating point multiply/add instructions
defined by V2.06 of the PowerPC ISA:
- xsmaddadp, xvmaddadp, xvmaddasp
- xsmaddmdp, xvmaddmdp, xvmaddmsp
- xsmsubadp, xvmsubadp, xvmsubasp
- xsmsubmdp, xvmsubmdp, xvmsubmsp
- xsnmaddadp, xvnmaddadp, xvnmaddasp
- xsnmaddmdp, xvnmaddmdp, xvnmaddmsp
- xsnmsubadp, xvnmsubadp, xvnmsubasp
- xsnmsubmdp, xvnmsubmdp, xvnmsubmsp
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5cb151acb18ab247f1e7c703e242b430551e3129
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:28 2014 -0600
target-ppc: Add VSX ISA2.06 xtsqrt Instructions
This patch adds the VSX floating point test for software square
root instructions defined by V2.06 of the PowerPC ISA: xstsqrtdp,
xvtsqrtdp, xvtsqrtsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bc80838f86375c420d37c6c20e6a9098904932ce
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:27 2014 -0600
target-ppc: Add VSX ISA2.06 xtdiv Instructions
This patch adds the VSX floating point test for software divide
instructions defined by V2.06 of the PowerPC ISA: xstdivdp, xvtdivdp,
and xvtdivsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d3f9df8fb83f72947a44bc773bec92105db731ff
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:26 2014 -0600
target-ppc: Add VSX ISA2.06 xrsqrte Instructions
This patch adds the VSX floating point reciprocal square root
estimate instructions defined by V2.06 of the PowerPC ISA: xsrsqrtedp,
xvrsqrtedp, xvrsqrtesp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d32404fe42ec67beee7d26aef8571e5e9c1e39b3
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:25 2014 -0600
target-ppc: Add VSX ISA2.06 xsqrt Instructions
This patch adds the VSX floating point square root instructions
defined by V2.06 of the PowerPC ISA: xssqrtdp, xvsqrtdp, xvsqrtsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2009227fbe868979d6a0518ef34972462f140404
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:24 2014 -0600
target-ppc: Add VSX ISA2.06 xre Instructions
This patch adds the VSX floating point reciprocal estimate instructions
defined by V2.06 of the PowerPC ISA: xsredp, xvredp, xvresp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4b98eeef50c1bb619dc32bddc9d54ed03c365c5f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:23 2014 -0600
target-ppc: Add VSX ISA2.06 xdiv Instructions
This patch adds the VSX floating point divide instructions defined
by V2.06 of the PowerPC ISA: xsdivdp, xvdivdp, xvdivsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5e591d8812df5efa38518b6bf933d02c61fa1c10
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:22 2014 -0600
target-ppc: Add VSX ISA2.06 xmul Instructions
This patch adds the VSX floating point multiply instructions defined
by V2.06 of the PowerPC ISA: xsmuldp, xvmuldp, xvmulsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ee6e02c0aca020a1934a14c36cff258545dc29b5
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:21 2014 -0600
target-ppc: Add VSX ISA2.06 xadd/xsub Instructions
This patch adds the floating point addition and subtraction
instructions defined by V2.06 of the PowerPC ISA: xssubdp,
xvsubdp and xvsubsp.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3c3cbbdc84dbe594b4fa4df52eb8ed6f42d640d8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:20 2014 -0600
target-ppc: General Support for VSX Helpers
This patch adds general support that will be used by the VSX helper
routines:
- a union describing the various VSR subfields.
- access routines to get and set VSRs
- VSX decoders
- a general routine to generate a handler that invokes a VSX
helper.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59800ec8e52bcfa271fa61fb0aae19205ef1b7f1
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Thu Jan 2 16:21:19 2014 -0600
target-ppc: Add set_fprf Argument to fload_invalid_op_excp()
The fload_invalid_op_excp() function sets assorted invalid
operation status bits. However, it also implicitly modifies
the FPRF field of the PowerPC FPSCR. Many VSX instructions
set invalid operation bits but do not alter FPRF. Thus the
function is more generally useful if the setting of the FPRF
field is made conditional via a parameter.
All invocations of this routine in existing instructions are
modified to pass 1 and thus retain their current behavior.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4e38181979ec4bc80c75f0c181f9df2d4e933c13
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Dec 23 13:42:22 2013 +1100
target-ppc: disable unsupported modes for SPR_CTRL/SPR_UCTRL
The Figure 17 "SPR encodings" of the PowerISA 2.07 describes CTRL SPR as:
priviledged
# spr5-9 spr0-4 name mtspr mfspr len cat
136 00100 01000 CTRL - no 32 S
152 00100 11000 CTRL yes - 32 S
According to this chart, the hypervisor's CTRL (#152) does not support
reading, the user-space's CTRL (UCTRL, #136) does not support writing.
This replaces unsupported operations with the default SPR_NOACCESS hook.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3052f0d59426a1f8120ffbf66fd438973bfd2912
Author: Nathan Whitehorn <nwhitehorn@xxxxxxxxxxx>
Date: Sun Jan 12 17:34:21 2014 -0500
spapr_vscsi: Fix REPORT_LUNS handling
Intercept REPORT_LUNS commands addressed either to SRP LUN 0 or the
well-known
LUN for REPORT_LUNS commands. This is required to implement the SAM and
SPC
specifications.
Since SRP implements only a single SCSI target port per connection, the
SRP
target is required to report all available LUNs in response to a
REPORT_LUNS
command addressed either to LUN 0 or the well-known LUN. Instead, QEMU was
forwarding such requests to the first QEMU SCSI target, with the result
that
initiators that relied on this feature would only see LUNs on the first
QEMU
SCSI target.
Behavior for REPORT_LUNS commands addressed to any other LUN is not
specified
by the standard and so is left unchanged. This preserves behavior under
Linux
and SLOF, which enumerate possible LUNs by hand and so address no commands
either to LUN 0 or the well-known REPORT_LUNS LUN.
Signed-off-by: Nathan Whitehorn <nwhitehorn@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
[agraf: define constant as ULL for 32bit hosts]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09aa9a526a86fd2e380e86157c55dfd180661c64
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 13 20:29:09 2014 +1100
spapr-pci: enable adding PHB via -device
Recent changes introduced cannot_instantiate_with_device_add_yet
and removed capability of adding yet another PCI host bridge via
command line for SPAPR platform (POWERPC64 server).
This brings the capability back and puts SPAPR PHB into "bridge"
category.
This is not much use for emulated PHB but it is absolutely required
for VFIO as we put an IOMMU group onto a separate PHB on SPAPR.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6cd8712c5fd74a8ec0aae1b7cc34af026354f06a
Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 6 19:23:48 2014 +0100
PPC: KVM: add support for LPCR
The LPCR special purpose register was introduced with the PowerPC 970MP
family.
This patch initializes LPCR for the following families:
- 970 MP
- POWER5+
- POWER7
- POWER8
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7a7c05d77d60f6a23705da4005e96d379fd49ddb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 6 16:36:40 2014 +1100
PPC: KVM: fix "set one register"
Due to missing @one_reg_id assignment in _spr_register(),
the kvm_get_one_reg/kvm_set_one_reg API has never really been working.
This reenables the API by assigning the @one_reg_id field in the SPR
descriptor.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 363248e8c92c6331253e2a768884c69183805050
Author: Cédric Le Goater <clg@xxxxxxxxxx>
Date: Tue Feb 4 18:21:39 2014 +0100
mmu-hash64: fix Virtual Page Class Key Protection
commit f80872e21c07edd06eb343eeeefc8af404b518a6 (mmu-hash64: Implement
Virtual Page Class Key Protection) added a new page protection
mechanism based on page keys and the AMR register to control access.
The AMR register allows or prohibits reads and/or writes on a page
depending on the control bits associated to the key. A store or a load
is only permitted if the associate bit is 0 (Power ISA), and not 1 as
the code is currently doing. This patch modifies ppc_hash64_amr_prot()
to correct the protection check.
This issue was unvailed by commit ccfb53ed6360cac0d5f6f7915ca9ae7eed866412
(target-ppc: fix Authority Mask Register init value) which changed the
initialisation value of the AMR register to 0.
Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0dc083fe10c5cc848f36498b9157a336cbc8c7c1
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 6 16:36:39 2014 +1100
target-ppc: fix Authority Mask Register init value
The existing default value (-1) of the AMR register forbids data access
to all 32 classes. Since the guest linux does not change this register,
we end up with the guest hanging right after switching from the real to
protected mode.
This sets the default AMR value to zero what enables data access for all
classes.
The only reason for not hitting this bug before is that
kvm_arch_put_registers() did not put any SPR to KVM due to missing
assignment of @one_reg_id in _spr_register() (which is going to be fixed
by a separate patch).
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ca480de66400c4fcaf59100b813e402f9edb08f7
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Tue Dec 24 12:17:24 2013 +1100
target-ppc: dump DAR and DSISR
The DAR and DSISR can be very useful when debugging issues, so add
them to ppc_cpu_dump_state. We had another bug in this area: all
of the v2.06 MMU types were missing.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 135a129a1cd047cc913e88c795eda859a0ebb81f
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Mon Dec 23 21:10:40 2013 +0530
kvm: Add a new machine option kvm-type
Targets like ppc64 support different types of KVM, one which use
hypervisor mode and the other which doesn't. Add a new machine
option kvm-type that helps in selecting the respective ones
We also add a new QEMUMachine callback get_vm_type that helps
in mapping the string representation of kvm type specified.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
[agraf: spelling fixes, use error_report(), use qemumachine.h]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9c06a1f79f959fffd09bfb7efc3d76051a6cd2da
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 27 18:22:10 2014 +0100
KVM: Split QEMUMachine typedef into separate header
Older gcc versions (such as the one in SLES11) get confused when you
declare
a typedef on the same struct twice.
To work around that limitation, let's extract the QEMUMachine typedef
into a
separate header file that is guarded by preprocessor duplicate include
checks.
This fixes the following type of compile errors for me:
In file included from vl.c:125:
include/hw/xen/xen.h:39: error: redefinition of typedef "QEMUMachine"
include/sysemu/kvm.h:155: error: previous declaration of "QEMUMachine"
was here
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 88ccd23a0c99155ff1eb5162d3685fde9c679b3d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:34 2013 +1100
target-ppc: remove unsupported SPRs from 970 and P5+
SPR_750FX_HID2 and L2CR are not defined in 970* user manuals nor POWER5
bookIV nor PowerISA 2.04, the numbers assigned to them are not defined
either so remove them.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 401949176c00029692378d83b0dcc638ccbd7b6e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:33 2013 +1100
target-ppc: remove embedded MMU SPRs from 970, P5+/7/7+/8
PowerISA 2.04+ puts MMUCFG and MMUCSR0 SPRs to "E" (embedded) category so
remove it from POWER7/8 class as it is "S" (server) category.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0bfe9299dae5c92498a4f503e6d5786bdbc7c4d7
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:32 2013 +1100
target-ppc: fix SPR_CTRL/SPR_UCTRL register numbers
Assuming that "U" in SPR_UCTRL is for "user", there is inconsistency with
970 user manuals/P5-bookIV/PowerISA204 which define the number as:
priviledged
# spr5-9 spr0-4 name mtspr mfspr len cat
136 00100 01000 CTRL - no 32 S
152 00100 11000 CTRL yes - 32 S
This swaps the numbers. No effect from this change is expected though.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 81d2fb4dfdf34889676410ff61753b351e3d67fb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:31 2013 +1100
target-ppc: remove powerpc 970gx
The 970GX definition was added in 2007 and it made sense then but this
version has never been released to the markets and it does not exist in
the real world so there is no point in emulating it.
This removes 970GX.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6475c9f05ca89d76635108dca64a11759838e03c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 17:41:30 2013 +1100
target-ppc: fix LPCR SPR number
PowerISA defines LPCR SPR number as 318=0x13E but QEMU uses the value of
316.
This fixes the definition of LPCR SPR.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a5100e752b4ed1027b6db27d3fbcb0e3c62b3f94
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Dec 20 13:14:57 2013 +1100
target-ppc: fix compile error when PPC_DUMP_CPU is enabled
Since last use of PPC_DUMP_CPU by whoever he/she was, env->tlb became
a union and POWERPC CPU class got QOM'ed so defining PPC_DUMP_CPU
breaks compile.
This fixes compiler errors.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f55ea6297cc0224fe4934b90ff5343b620b14669
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Mar 4 21:00:28 2014 +0100
block/gluster: Add missing argument to qemu_gluster_init() call
Commit adccfbcd6020e928db93b2b4faf0dbd05ffbe016 (block: gluster - add
reopen support.) did not supply the qemu_gluster_init() Error **
argument, needed since commit a7451cb850d115f257080aff3fbc54f255ebf8f7
(gluster: correctly propagate errors).
Pass through qemu_gluster_reopen_prepare()'s errp, as done in
qemu_gluster_open().
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ac458e121c398c8619b2a7735e87e37b73c0b687
Merge: e00ef74 25254a7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 18:12:01 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-03-04' into staging
trivial patches for 2014-03-04
# gpg: Signature made Tue 04 Mar 2014 06:13:56 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-03-04:
vl: Remove unneeded include file
qga: Remove unneeded include file
qemu-img: Remove unneeded include files
exec: Remove unneeded include files
util/iov: Use qemu/sockets.h instead of conditional code
qjson.h: Remove spurious GCC_FMT_ATTR markup from qobject_from_json()
declaration
tests/test-int128: Don't use __noclone__ attribute on clang
stubs: Optimize dependencies for gdbstub.c
tcg: Fix typo in comment (dependancies -> dependencies)
bswap: Modify prototypes of st[wl]_{le, be}_p (avoid type conversions)
bswap: Modify prototype of stb_p (avoid type conversions)
object: Report type in error when not user creatable.
include/qemu/host-utils.h: Trivial typo: ctz->cto
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e00ef747f08db1c7dd58a5366db4dc3038a7307f
Merge: 4a29420 b774539
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 17:01:07 2014 +0000
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: (32 commits)
qapi: Add missing null check to opts_start_struct()
qapi: Clean up superfluous null check in qapi_dealloc_type_str()
qapi: Clean up null checking in generated visitors
qapi: Drop unused code in qapi-commands.py
qapi: Drop nonsensical header guard in generated qapi-visit.c
qapi: Fix licensing of scripts
tests/qapi-schema: Cover flat union types
tests/qapi-schema: Cover union types with base
tests/qapi-schema: Cover complex types with base
tests/qapi-schema: Cover anonymous union types
tests/qapi-schema: Cover simple argument types
tests/qapi-schema: Cover optional command arguments
tests/qapi-schema: Actually check successful QMP command response
monitor: Remove left-over code in do_info_profile.
qerror: Improve QERR_DEVICE_NOT_ACTIVE message
qmp: Check for returned data from __json_read in get_events
dump: add 'query-dump-guest-memory-capability' command
Define the architecture for compressed dump format
dump: make kdump-compressed format available for 'dump-guest-memory'
dump: add API to write dump pages
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a29420ea1c5a34191281855f5f51e70deab8940
Merge: 4fd42af 3eba13e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 16:33:25 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 28 Feb 2014 18:27:24 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
block/vmdk: do not report file offset for compressed extents
discard rbd error output when not relevant in qemu-iotests
block: use /var/tmp instead of /tmp for -snapshot
qemu-io-test: Disable Quorum test when not compiled in.
qmp: Make Quorum error events more palatable.
qmp: Fix BlockdevOptionQuorum.
block: gluster - add reopen support.
block: gluster - code movements, state storage changes
qemu-iotests: add more tests to the "quick" group
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4fd42afe6117ab16dc5e2e7216cced8010afc1d1
Merge: c2cb92f cb48da7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 15:53:00 2014 +0000
Merge remote-tracking branch 'remotes/rth/i386-fix' into staging
* remotes/rth/i386-fix:
target-i386: Fix ucomis and comis memory access
target-i386: Fix SSE status flag corruption
target-i386: Fix CC_OP_CLR vs PF
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c2cb92f9ea3c88acde6a8cb75abc148dfe27aee7
Merge: 739aa55 7f00eb3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 14:50:46 2014 +0000
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140227'
into staging
Several features, fixes and cleanups for kvm/s390:
- sclp event facility: cleanup structure. This allows to use
realize/unrealize as well as migration support via vmsd
- reboot: Two fixes that make reboot much more reliable
- ipl: make elf loading more robust
- flic interrupt controller: This allows to migrate floating
interrupts, as well as clear them on reset etc.
- enable async_pf feature of KVM on s390
- several sclp fixes and cleanups
- several sigp fixes and cleanups
* remotes/borntraeger/tags/kvm-s390-20140227: (22 commits)
s390x/ipl: Fix crash of ELF images with arbitrary entry points
s390x/kvm: Rework priv instruction handlers
s390x/kvm: Add missing SIGP CPU RESET order
s390x/kvm: Rework SIGP INITIAL CPU RESET handler
s390x/cpu: Use ioctl to reset state in the kernel
s390-ccw.img: new binary rom to match latest fixes
s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css
s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx
s390x/event-facility: exploit realize/unrealize
s390x/event-facility: add support for live migration
s390x/event-facility: code restructure
s390x/event-facility: some renaming
s390x/sclp: Fixed setting of condition code register
s390x/sclp: Add missing checks to SCLP handler
s390x/sclp: Fixed the size of sccb and code parameter
s390x/eventfacility: mask out commands
s390x/virtio-hcall: Specification exception for illegal subcodes
s390x/virtio-hcall: Add range check for hypervisor call
s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler
s390x/async_pf: Check for apf extension and enable pfault
...
Conflicts:
linux-headers/linux/kvm.h
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 739aa555b8d6e45920b44cb7a2a790fce5061890
Merge: d47e95c d9738fd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 14:25:34 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/scsi-next' into staging
* remotes/bonzini/scsi-next:
block/iscsi: fix segfault if writesame fails
scsi-disk: Add support for port WWN and index descriptors in VPD page
83h
block/iscsi: query for supported VPD pages
block/iscsi: fix deadlock on scsi check condition
scsi-bus: Fix transfer length for VERIFY with BYTCHK=11b
scsi: report thin provisioning errors with werror=report
scsi: Change scsi sense buf size to 252
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d47e95c0c86ea5d8d050bf201ee27bcec617c10e
Merge: 57f45b6 af87bf2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Mar 4 13:09:06 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging
* remotes/mcayland/qemu-sparc:
sun4m: Add Sun CG3 framebuffer initialisation function
sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM
sun4m: fix slavio timer RUN/STOP bit
sun4m: Set HostID in NVRAM
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 57f45b6207a65d96ee4913f33f1ec46cd32a083a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Feb 27 21:28:03 2014 +0100
Makefile: Add missing dependency for system emulation (fix build)
Comment from Makefile.objs:
The system emulation needs this dependency (which was missing in
Makefile),
otherwise builds without tools (or massive parallel builds) fail.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 993c91a0e996346c7ee8fa2ca310cc76edb59e17
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Mar 4 00:35:32 2014 +0530
hw/9pfs: Include virtio-9p-device.o in build
After commit ba1183da9a10b94611cad88c44a5c6df005f9b55 we are including
hw/Makefile.objs directly from Makefile.target. Make sure hw/Makefile.objs
rules doesn't depend on variable defined in Makefile.objs
Tested-by: Serge Hallyn <serge.hallyn@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit b51910baf227f0fd64abfa7ad6d8e00150a18194
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Feb 28 15:25:32 2014 +0100
linux-user: correct handling of break exception for MIPS
Exception with break instruction has not been correctly propagated as
SIGTRAP. This resolves crash issues with examples that use break
instruction on MIPS.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 974a196d7fc9f2f5553589b0022226b877e5c9b1
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Mon Mar 3 15:07:41 2014 +0100
linux-user: translate signal number on return from sigtimedwait
On success, sigtimedwait() returns a signal number that needs to be
translated from a host value to a target value.
This change also fixes issues with sigwait (that is implemented using
sigtimedwait()).
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f19e00d776b781bfb0067b9b20a592440fd2990e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Mar 2 19:36:42 2014 +0000
linux-user: Implement sendmmsg syscall
Glibc when built for newer kernels assumes that the sendmmsg syscall is
available. Without it, dns resolution simply fails to work.
Wrap the syscall with existing infrastructure so that we don't have a host
dependency on sendmmsg.
To avoid locking the same area of guest memory twice (which will break if
DEBUG_REMAP is defined) we pull the lock/unlock part of do_sendrecvmsg()
out into its own function so the actual implementation can be shared.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[PMM: add recvmmsg support;
handle errors (which also implies support for non-blocking operations);
cap the vector length as the kernel implementation does;
don't lock guest memory twice;
support MSG_WAITFORONE flag]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 76ca310a19463e9883e2e55a88ac8be1fc171eea
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Mar 2 19:36:41 2014 +0000
linux-user: Fix getresuid, getresgid if !USE_UID16
The size of the UID/GID types depends on whether USE_UID16 is
defined. Define a new put_user_id() which writes a uid/gid
type to guest memory. This fixes getresuid and getresgid, which
were always storing 16 bits even if the uid type was 32 bits.
Reported-by: Michael Matz <matz@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd98d390ae009c5c1be5ae9a656e943bb47e14f0
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Sun Mar 2 19:36:40 2014 +0000
linux-user: Don't use UID16 on AArch64
The AArch64 kernel defines its __kernel_uid_t type as 32 bits, unlike
32 bit ARM, so don't enable our 16-bit UID wrapper handling.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8a3ae9109eb45dd77b182a4953ef9e636f665296
Author: Michael Matz <matz@xxxxxxx>
Date: Sun Mar 2 19:36:39 2014 +0000
linux-user: AArch64: Implement SA_RESTORER for signal handlers
Implement support for signal handlers with the SA_RESTORER
flag set.
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: minor tweaks to make patch apply to current master]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4cf2348026002d64556f89d0971c663311be2525
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Mar 2 19:36:38 2014 +0000
linux-user/signal.c: Fix AArch64 big-endian FP register restore
Fix the loop restoring the FP registers from the signal frame to match
the one used when setting up the signal frame, so that it handles
TARGET_WORDS_BIGENDIAN being set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4fa4ce7107c6ec432f185307158c5df91ce54308
Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Date: Sun Mar 2 01:36:19 2014 +0800
hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation
When path is truncated by PATH_MAX limitation, it causes QEMU to access
incorrect file. So use original full path instead of PATH_MAX within
9pfs (need check/process ENOMEM for related memory allocation).
The related test:
- Environments (for qemu-devel):
- Host is under fedora17 desktop with ext4fs:
qemu-system-x86_64 -hda test.img -m 1024 \
-net nic,vlan=4,model=virtio,macaddr=00:16:35:AF:94:04 \
-net tap,vlan=4,ifname=tap4,script=no,downscript=no \
-device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare \
-fsdev local,security_model=passthrough,id=fsdev0,\
path=/upstream/vm/data/share/1234567890abcdefghijklmnopqrstuvwxyz\
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890acdefghijklmnopqrstuvwxyz\
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/111111111111111111111111111\
1111111111111111111111111111111111111111111111111111222222222222\
2222222222222222222222222222222222222222222222222222222222222222\
2222222222222222222222222222222222233333333333333333333333333333\
3333333333333333333333333333333333
- Guest is ubuntu12 server with 9pfs.
mount -t 9p -o trans=virtio,version=9p2000.L hostshare /share
- Limitations:
full path limitation is PATH_MAX (4096B include nul) under Linux.
file/dir node name maximized length is 256 (include nul) under ext4.
- Special test:
Under host, modify the file:
"/upstream/vm/data/share/1234567890abcdefg\
hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890acdefghijklmno\
pqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/111111111111111111111\
111111111111111111111111111111111111111111111111111111111122222222222\
222222222222222222222222222222222222222222222222222222222222222222222\
222222222222222222222222222222233333333333333333333333333333333333333\
3333333333333333333333333/4444444444444444444444444444444444444444444\
444444444444444444444444444444444444444444444444444444444444444444444\
444444444444444444444444444444444444444444444444444444444444444444444\
444444444444444444444444444444444444444/55555555555555555555555555555\
555555555555555555555555555555555555555555555555555555555555555555555\
555555555555555555555555555555555555555555555555555555555555555555555\
555555555555555555555555555555555555555555555555555555555555555555555\
55555555/666666666666666666666666666666666666666666666666666666666666\
666666666666666666666666666666666666666666666666666666666666666666666\
666666666666666666666666666666666666666666666666666666666666666666666\
666666666666666666666/77777777777777777777777777777777777777777777777\
777777777777777777777777777777777777777777777777777777777777777777777\
777777777777777777777777777777777777777777777777777777777777777777777\
77777777777777777777777777777777777777777777777777777777777/888888888\
888888888888888888888888888888888888888888888888888888888888888888888\
888888888888888888888888888888888888888888888888888888888888888888888\
888888888888888888888888888888888888888888888888888888888888888888888\
888888888/99999999999999999999999999999999999999999999999999999999999\
999999999999999999999999999999999999999999999999999999999999999999999\
999999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999/000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000000000000000000000000\
000000000000000000000000000000000000000000000000/aaaaaaaaaaaaaaaaaaaa\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbb\
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccc\
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
cccccccccc/dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
dddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffff\
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff/gggggggggg\
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
ggggggggggggggggggggggg/iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/jjjjjjjjjjjjj\
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj\
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj/ppppppppppppppppppppp\
ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp\
ppppppppppppppppppppppppppppppppppppppp/test1234567890file.log"
(need enter dir firstly, then modify file, or can not open it).
Under guest, still allow modify "test1234567890file.log" (will generate
"test123456" file with contents).
After apply this patch, can not open "test1234567890file.log" under
guest
(permission denied).
- Common test:
All are still OK after apply this path.
"mkdir -p", "create/open file/dir", "modify file/dir", "rm file/dir".
change various mount point paths under host and/or guest.
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit fae0864573b08b12f29003baabfd9902d89608fe
Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Date: Sun Mar 2 01:35:07 2014 +0800
hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()
'ctx->fs_root' + 'path'/'fullname.data' may be larger than PATH_MAX, so
need use snprintf() instead of sprintf() just like another area have done
in 9pfs. This could possibly result in the truncation of pathname, which
we
address in the follow up patch.
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 75b7931ec63577acb2dd472eb8d772012f1a4807
Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Date: Sun Mar 2 01:34:10 2014 +0800
hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:"
When "goto err_out", 'v9fs_string' already was allocated, so still need
free 'v9fs_string' before return.
Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit b774539743c52ef605c6e2cbac19376c2757cb86
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:39 2014 +0100
qapi: Add missing null check to opts_start_struct()
Argument is null when visiting an unboxed struct. I can't see such a
visit in the current code. Fix it anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 25a7017555f1b4aeb543b5d323ff4afb8f9c5437
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:38 2014 +0100
qapi: Clean up superfluous null check in qapi_dealloc_type_str()
Argument can't be null. No other Visitor method type_str() checks for
null.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 949ceeb31b84dce43e4619b6d7f02cac0e62e1e1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:37 2014 +0100
qapi: Clean up null checking in generated visitors
Visitors get passed a pointer to the visited object. The generated
visitors try to cope with this pointer being null in some places, for
instance like this:
visit_start_optional(m, obj ? &(*obj)->has_name : NULL, "name", &err);
visit_start_optional() passes its second argument to Visitor method
start_optional. Three out of three methods dereference it
unconditionally.
I fail to see how this pointer could legitimately be null.
All this useless null checking is highly redundant, which Coverity
duly reports. About 200 times.
Remove the useless null checks.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 56bed4135f139721d42992da3924786282bb0286
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:36 2014 +0100
qapi: Drop unused code in qapi-commands.py
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit a105acbce3954cb31ab30cae04f489dfe07cfd02
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:35 2014 +0100
qapi: Drop nonsensical header guard in generated qapi-visit.c
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 678e48a2e43d1cafbb510c60d7597897b0d90256
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:34 2014 +0100
qapi: Fix licensing of scripts
The scripts carry this copyright notice:
# This work is licensed under the terms of the GNU GPLv2.
# See the COPYING.LIB file in the top-level directory.
The sentences contradict each other, as COPYING.LIB contains the LGPL
2.1. Michael Roth says this was a simple pasto, and he meant to refer
COPYING. Let's fix that.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2fc00432830e42e3c24850a379194a61f09e3663
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:33 2014 +0100
tests/qapi-schema: Cover flat union types
The test demonstrates a generator bug: the generated struct
UserDefFlatUnion doesn't include members for the indirect base
UserDefZero.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7ad993b480d3f4f1261d3374516effd9bff20bc6
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:32 2014 +0100
tests/qapi-schema: Cover union types with base
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit aabbd472a08249335d6a004173b30d552cb70d1d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:31 2014 +0100
tests/qapi-schema: Cover complex types with base
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 2c38b600109edcad399ca687024b7a7febd80076
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:30 2014 +0100
tests/qapi-schema: Cover anonymous union types
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c2216a8a7a587e594f50bebbdf81fcf168444b68
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:29 2014 +0100
tests/qapi-schema: Cover simple argument types
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ab22ad96cea4300a92b400b0c46af2f50a037362
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:28 2014 +0100
tests/qapi-schema: Cover optional command arguments
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 357765fed57de3204cb259db3ffa3737e33ca5c0
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Sat Mar 1 08:40:27 2014 +0100
tests/qapi-schema: Actually check successful QMP command response
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 25254a7191cdaa6cc10edb7bdbbfd0a6d02b9905
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:11 2014 +0100
vl: Remove unneeded include file
This file does not depend on windows.h.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cae8a9289b9ee874bc8711c2629037661061b9c1
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:10 2014 +0100
qga: Remove unneeded include file
This file does not depend on windows.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 67d065c3db489882dce1502246d5fcca10396ea4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:09 2014 +0100
qemu-img: Remove unneeded include files
There is no dependency on windows.h, and the standard include files are
already included by qemu-common.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 777872e5c65dabb1d80b8c13427c6a3e58dafe40
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:08 2014 +0100
exec: Remove unneeded include files
This file does not depend on windows.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cc99c6f5ff3fb2acfa52764a539e129cada104e4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Feb 23 18:02:07 2014 +0100
util/iov: Use qemu/sockets.h instead of conditional code
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit aa830cdc28edb69c1fe81c8fd9471ab288ad0926
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 23:51:46 2014 +0000
qjson.h: Remove spurious GCC_FMT_ATTR markup from qobject_from_json()
declaration
The function qobject_from_json() doesn't actually allow its
argument to be a format string -- it passes a NULL va_list*
to qobject_from_jsonv(), and the parser code will then never
actually interpret %-escape sequences (it tests whether the
va_list pointer is NULL and will stop with a parse error).
The spurious attribute markup causes clang warnings in some
of the test cases where we programmatically construct JSON
to feed to qobject_from_json():
tests/test-qmp-input-visitor.c:76:35: warning: format string is not a
string literal (potentially insecure) [-Wformat-security]
data->obj = qobject_from_json(json_string);
^~~~~~~~~~~
Remove the incorrect attribute.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7edd9ddc979f112287ff5184590830c67ea991bf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 23:39:46 2014 +0000
tests/test-int128: Don't use __noclone__ attribute on clang
clang doesn't support the __noclone__ attribute and emits a warning about
it. Fortunately clang also implements a mechanism for asking if a
particular
attribute is implemented; use it. We assume that if the compiler doesn't
support __has_attribute() then it must be GCC and must support
__noclone__.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8ead6018837f13f1ef4a40c3eb5054512c160577
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Feb 20 20:08:31 2014 +0100
stubs: Optimize dependencies for gdbstub.c
It does not need qemu-common.h. Including exec/gdbstub.h fixes a warning
from static code analyzers and avoids mismatching declarations for
xml_builtin.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c5d3c49896582bb338e19149b23d3613510059fb
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Feb 21 20:52:39 2014 +0100
tcg: Fix typo in comment (dependancies -> dependencies)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 55e7c29e46f845f503fda3e8cac3f5e0e8b3d984
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Feb 19 06:11:45 2014 +0100
bswap: Modify prototypes of st[wl]_{le, be}_p (avoid type conversions)
The functions use uint16_t or uint32_t values, so show this in the
function
prototypes. Non-optimizing compilers will avoid unnecessary type
conversions when generating calls of these inline functions.
stq_le_p, stq_be_p already use similar prototypes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0064aceb29faea018dfb7cf0bca5d9644272a295
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Feb 19 06:11:44 2014 +0100
bswap: Modify prototype of stb_p (avoid type conversions)
The function uses an uint8_t value, so show this in the function
prototype. Non-optimizing compilers will avoid unnecessary type
conversions from (u)int8_t to int and back to uint8_t when generating
calls of this inline function.
stw_p, stl_p and stq_p already use similar prototypes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit de580dafade551cf67607f114ff9b5eeb881cc42
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Tue Feb 18 23:42:36 2014 +0100
object: Report type in error when not user creatable.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1c884abeded1fee3680a3f1db655bf70d3b49e97
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Wed Feb 12 17:14:33 2014 +0000
include/qemu/host-utils.h: Trivial typo: ctz->cto
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit de92f3f86adc73db1ee8d1eebdfcf3b59476495b
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Wed Feb 26 23:09:52 2014 +0100
monitor: Remove left-over code in do_info_profile.
This is a left-over from 4a1418e.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ffe9fe3a25b93c045acc4d929056f8ea776a160a
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Tue Feb 25 08:10:05 2014 +0100
qerror: Improve QERR_DEVICE_NOT_ACTIVE message
The error message as currently used is confusing as there are no
"balloon" or
"spice" devices.
(qemu) balloon 1024
balloon: Device 'balloon' has not been activated
With this patch:
(qemu) balloon 1024
balloon: No balloon device has been activated
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4864512389b06389501e60d965edb8defb66a0fc
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 24 13:45:01 2014 +0800
qmp: Check for returned data from __json_read in get_events
When QEMU process aborts and socket is closed, qmp client will not
detect it. When this happens, some qemu-iotests scripts will enter an
endless loop waiting for qmp events.
It's better we raise an exception in qmp.py to catch this and make the
test script stop.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 3eba13ec25341ce473591ff338eab3196890a4eb
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Feb 26 10:47:57 2014 +0100
block/vmdk: do not report file offset for compressed extents
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9147d019f3315d5be97e349aead3ced93ef46c6a
Author: Loic Dachary <loic@xxxxxxxxxxx>
Date: Wed Jan 8 21:05:38 2014 +0100
discard rbd error output when not relevant in qemu-iotests
Suppress rbd progress messages with --no-progress so they are not
confused with an error output when comparing test results ( progress is
displayed on stderr ).
Signed-off-by: Loic Dachary <loic@xxxxxxxxxxx>
Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 69bef7931e8880c709556f8444938d8bb9a16118
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Feb 26 15:12:37 2014 +0530
block: use /var/tmp instead of /tmp for -snapshot
If TMPDIR is not specified, the default was to use /tmp for the working
copy of the block devices. Update this to /var/tmp instead, so systems
using tmp-on-tmpfs don't end up inadvertently using RAM for the block
device.
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4b350f1de1685d7763b3b856eccdedbd691932b4
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Feb 22 18:43:42 2014 +0100
qemu-io-test: Disable Quorum test when not compiled in.
Quorum is not compiled by default: make the quorum 081 test aware of this.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0c762736df0cce743b4017c41435632dcb866413
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Feb 22 18:43:41 2014 +0100
qmp: Make Quorum error events more palatable.
Insert quorum QMP events documentation alphabetically.
Also change the "ret" errno value by an optional "error" being an
strerror(-ret)
in the QUORUM_REPORT_BAD qmp event.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a9e6a0cbe2c12c7b5708451d2211d9b00922d605
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Sat Feb 22 18:43:40 2014 +0100
qmp: Fix BlockdevOptionQuorum.
Fix some nits before QEMU 2.0 freeze.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit adccfbcd6020e928db93b2b4faf0dbd05ffbe016
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Feb 17 11:11:12 2014 -0500
block: gluster - add reopen support.
Gluster does parse open flags in its .bdrv_open() implementation,
and the .bdrv_reopen_* implementations need to do the same.
A new gluster connection to the image file to be created is established
in the .bdrv_reopen_prepare(), and the image file opened with the new
flags.
If this is successful, then the old image file is closed, and the
old connection torn down. The relevant structure pointers in the gluster
state structure are updated to the new connection.
If it is not successful, then the new file handle and connection is
abandoned (if it exists), while the old connection is not modified at
all.
With reopen supported, block-commit (and offline commit) is now also
supported for image files whose base image uses the native gluster
protocol driver.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1b37b3442f78a77844fdaf7f53e5f04e4ce8f1d6
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Feb 17 11:11:11 2014 -0500
block: gluster - code movements, state storage changes
In preparation for supporting reopen on gluster, move flag
parsing out to a function. Also, add a NULL check in the
gconf cleanup.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9a05feabd537615b7f3d9d899686e513e71fdc12
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Feb 20 18:28:03 2014 +0100
qemu-iotests: add more tests to the "quick" group
None of these needs QEMU_PROG, and they all take but a few seconds.
We need to point the launching script to qemu-nbd, though.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7d6dc7f30c4781857ce230333da6ddd21fe0dcde
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:38 2014 +0800
dump: add 'query-dump-guest-memory-capability' command
'query-dump-guest-memory-capability' is used to query the available
formats for
'dump-guest-memory'. The output of the command will be like:
-> { "execute": "query-dump-guest-memory-capability" }
<- { "return": { "formats":
["elf", "kdump-zlib", "kdump-lzo", "kdump-snappy"] }
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4ab23a918249772458fd330758dc0fad96edce50
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:37 2014 +0800
Define the architecture for compressed dump format
Signed-off-by: Ekaterina Tumanova <tumanova@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b53ccc30c40df52d192e469a86c188a8649c6df3
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:36 2014 +0800
dump: make kdump-compressed format available for 'dump-guest-memory'
Make monitor command 'dump-guest-memory' be able to dump in
kdump-compressed
format. The command's usage:
dump [-p] protocol [begin] [length] [format]
'format' is used to specified the format of vmcore and can be:
1. 'elf': ELF format, without compression
2. 'kdump-zlib': kdump-compressed format, with zlib-compressed
3. 'kdump-lzo': kdump-compressed format, with lzo-compressed
4. 'kdump-snappy': kdump-compressed format, with snappy-compressed
Without 'format' being set, it is same as 'elf'. And if non-elf format is
specified, paging and filter is not allowed.
Note:
1. The kdump-compressed format is readable only with the crash utility
and
makedumpfile, and it can be smaller than the ELF format because of
the
compression support.
2. The kdump-compressed format is the 6th edition.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d12f57ec6640d36e380367a0ab6ab9f3f29b6d51
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:35 2014 +0800
dump: add API to write dump pages
functions are used to write page to vmcore. vmcore is written page by
page.
page desc is used to store the information of a page, including a page's
size,
offset, compression format, etc.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 64cfba6a47411092c941c8d17256fb5673cc8cbf
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:34 2014 +0800
dump: add APIs to operate DataCache
DataCache is used to store data temporarily, then the data will be
written to
vmcore. These functions will be called later when writing data of page to
vmcore.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d0686c7291fe8f0210e7a666f80892fa71395510
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:33 2014 +0800
dump: add API to write dump_bitmap
functions are used to write 1st and 2nd dump_bitmap of kdump-compressed
format,
which is used to indicate whether the corresponded page is existed in
vmcore.
1st and 2nd dump_bitmap are same, because dump level is specified to 1
here.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 298f116827405f37dde10a2a6cbc75d20f9ba99c
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:32 2014 +0800
dump: add API to write dump header
the functions are used to write header of kdump-compressed format to
vmcore.
Header of kdump-compressed format includes:
1. common header: DiskDumpHeader32 / DiskDumpHeader64
2. sub header: KdumpSubHeader32 / KdumpSubHeader64
3. extra information: only elf notes here
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7aad248d3596a1fb94778f2cd215f86a802b3abb
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:31 2014 +0800
dump: add members to DumpState and init some of them
add some members to DumpState that will be used in writing vmcore in
kdump-compressed format. some of them, like page_size, will be initialized
in the patch.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 607dacd0a082a4ea73a7a16a1c70406f37ebacdb
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:30 2014 +0800
dump: add support for lzo/snappy
kdump-compressed format supports three compression format,
zlib/lzo/snappy.
Currently, only zlib is available. This patch is used to support
lzo/snappy.
'--enable-lzo/--enable-snappy' is needed to be specified with configure
to make
lzo/snappy available for qemu
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4835ef7784502c231f243c3133054850d23dd837
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:29 2014 +0800
dump: add API to write elf notes to buffer
the function can be used by write_elf32_notes/write_elf64_notes to write
notes
to a buffer. If fd_write_vmcore is used,
write_elf32_notes/write_elf64_notes
will write elf notes to vmcore directly. Instead, if buf_write_note is
used,
elf notes will be written to opaque->note_buf at first.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5d31babe5c7d854d6b8470bc9fa67a698926e65d
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:28 2014 +0800
dump: add API to write vmcore
Function is used to write vmcore in flatten format. In flatten format,
data is
written block by block, and in front of each block, a struct
MakedumpfileDataHeader is stored there to indicate the offset and size of
the
data block.
struct MakedumpfileDataHeader {
int64_t offset;
int64_t buf_size;
};
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fda053875e69120b2fde5fb34975ef5a49290f12
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:27 2014 +0800
dump: add API to write header of flatten format
flatten format will be used when writing kdump-compressed format. The
format is
also used by makedumpfile, you can refer to the following URL to get more
detailed information about flatten format of kdump-compressed format:
http://sourceforge.net/projects/makedumpfile/
The two functions here are used to write start flat header and end flat
header
to vmcore, and they will be called later when flatten format is used.
struct MakedumpfileHeader stored at the head of vmcore is used to
indicate the
vmcore is in flatten format.
struct MakedumpfileHeader {
char signature[16]; /* = "makedumpfile" */
int64_t type; /* = 1 */
int64_t version; /* = 1 */
};
And struct MakedumpfileDataHeader, with offset and buf_size set to -1, is
used
to indicate the end of vmcore in flatten format.
struct MakedumpfileDataHeader {
int64_t offset; /* = -1 */
int64_t buf_size; /* = -1 */
};
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6a519918b3f666759e20bcd0bb88378f3e4ffb57
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:26 2014 +0800
dump: add argument to write_elfxx_notes
write_elf32_notes/wirte_elf64_notes use fd_write_vmcore to write elf
notes to
vmcore. Adding parameter "WriteCoreDumpFunction f" makes it available to
choose
the method of writing elf notes
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b5ba1cc6260917926781fb79fbb05d53bf586d53
Author: qiaonuohan <qiaonuohan@xxxxxxxxxxxxxx>
Date: Tue Feb 18 14:11:25 2014 +0800
dump: const-qualify the buf of WriteCoreDumpFunction
WriteCoreDumpFunction is a function pointer that points to the function
used to
write content in "buf" into core file, so "buf" should be const-qualify.
Signed-off-by: Qiao Nuohan <qiaonuohan@xxxxxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cb48da7f8140b5cbb648d990876720da9cd04d8f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 24 15:53:40 2014 -0800
target-i386: Fix ucomis and comis memory access
We were loading 16 bytes for both single and double-precision
scalar comparisons.
Reported-by: Alexander Bluhm <bluhm@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4e47e39ab0ded72c0af174131ecf49d588d66c12
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Feb 24 14:59:54 2014 -0800
target-i386: Fix SSE status flag corruption
When we restore the mxcsr register with FXRSTOR, or set it with gdb,
we need to update the various SSE status flags in CPUX86State
Reported-by: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d2fe51bda8adf33d07c21e034fdc13a1e1fa4e19
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 10 12:38:40 2014 -0800
target-i386: Fix CC_OP_CLR vs PF
Parity should be set for a zero result.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fbb0621a0f7aae2803d7460fc225402f9ea92000
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Feb 18 09:08:14 2014 -0500
MAINTAINERS: update status for HMP, QAPI and QMP trees
This commit updates the status for the HMP, QAPI and QMP trees from
"Supported" to "Maintained".
In practice this means that patch review and pull requests may take
longer. Also, I'll rely more on reviewers such as Eric Blake so that
I'm able to send pull requests regularly.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cd159d0954f65df61864a85e355acdf7ae7fe0f9
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Feb 12 11:05:13 2014 +0800
QMP: Allow dot separated dict path arguments in qmp-shell
As another convenience to allow using commands that expect a dict as
argument, this patch adds support for foo.bar=value syntax, similar to
command line argument style:
(QEMU) blockdev-add options.driver=file options.id=drive1
options.filename=...
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d844a7b6569fb2b5252773444b18841426e5b906
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Feb 27 06:31:33 2014 +0800
modules: Fix building with --enable-modules
Compiling util/modules.c with modules enabled fails now.
Fix it by including qemu-common.h before #ifdef testing in module.c.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Message-id: 1393453893-12125-1-git-send-email-famz@xxxxxxxxxx
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f9a49dfa0202348b543983d61fab441b7374a874
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Feb 4 13:41:53 2014 -0500
file_ram_alloc: unify mem-path,mem-prealloc error handling
-mem-prealloc asks to preallocate memory residing on -mem-path path.
Currently QEMU exits in case:
- Memory file has been created but allocation via explicit write
fails.
And it fallbacks to malloc in case:
- Querying huge page size fails.
- Lack of sync MMU support.
- Open fails.
- mmap fails.
Have the same behaviour for all cases: fail in case -mem-path and
-mem-prealloc are specified for regions where the requested size is
suitable for hugepages.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9ba3cf540fb902cbb40f0689868d51a2ac111852
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Feb 25 23:22:07 2014 -0300
kvm-all: exit in case max vcpus exceeded
Rather than fall back to TCG (so the user has to discover
whats happening, in case of no access to qemu stdout/stderr).
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9fbee91a131a05e443d7108d7fbdf3ca91020290
Merge: 73795ce 521f438
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 27 16:00:30 2014 +0000
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
KVM: Use return value for error print
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 73795cea968ba2e9342a3122cd66d52d13d46a61
Merge: 2ce5868 4b94302
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 27 11:31:51 2014 +0000
Merge remote-tracking branch
'remotes/awilliam/tags/vfio-pci-for-qemu-20140226.0' into staging
Updates include:
- Coverify fixes for vfio & pci-assign (Markus)
- VFIO blacklisting support for known brokwn PCI option ROMs (Bandan)
# gpg: Signature made Wed 26 Feb 2014 18:15:28 GMT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
* remotes/awilliam/tags/vfio-pci-for-qemu-20140226.0:
vfio: blacklist loading of unstable roms
qdev-monitor: set DeviceState opts before calling realize
pci-assign: Fix potential read beyond buffer on -EBUSY
vfio: Fix overrun after readlink() fills buffer completely
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit af87bf290f31d8ef0aaf8f20259fa34e51ed1e7a
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Tue Oct 15 21:03:04 2013 +0100
sun4m: Add Sun CG3 framebuffer initialisation function
In order to allow the user to choose the framebuffer for sparc-softmmu,
add
-vga tcx and -vga cg3 options to the QEMU command line. If no option is
specified, the default TCX framebuffer is used.
Since proprietary FCode ROMs use a resolution of 1152x900, slightly relax
the
validation rules to allow both displays to be initiated at the higher
resolution used by these ROMs upon request (OpenBIOS FCode ROMs default to
the normal QEMU sun4m default resolution of 1024x768).
Finally move any fprintf(stderr ...) statements in the areas affected by
this
patch over to the new error_report() function.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
CC: Peter Maydell <peter.maydell@xxxxxxxxxx>
CC: Bob Breuer <breuerr@xxxxxx>
CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
commit 9eb08a435a5380f3fe07d9019f49c0358cb2d491
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Tue Oct 15 21:03:04 2013 +0100
sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM
The CG3 framebuffer is a simple 8-bit framebuffer for use with operating
systems such as early Solaris that do not have drivers for TCX.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
CC: Anthony Liguori <aliguori@xxxxxxxxxx>
CC: Peter Maydell <peter.maydell@xxxxxxxxxx>
CC: Bob Breuer <breuerr@xxxxxx>
CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
commit ead4cf04f855575c24e795d7179d93b1601575b7
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sat Feb 22 22:54:53 2014 +0000
sun4m: fix slavio timer RUN/STOP bit
The sun4m architecture has one 'system' timer and one timer per CPU.
The CPU timers can be configured in two modes:
* 22 bits Counter/Timer. Periodic interrupts.
* 54 bits User timer. For profiling. In this mode, the Run/Stop bit
controls the timer.
The run/stop bit controls the timer only when it is in "User" mode, but
its state shall be persistent.
Signed-off-by: Olivier Danet <odanet@xxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit f9681f116ce06612b12ef41d8637f6659255ec98
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Feb 23 17:08:06 2014 +0000
sun4m: Set HostID in NVRAM
On SparcStations, the HostID field in the NVRAM is equal to the last
three bytes of the MAC address (which is also stored in the NVRAM).
This constant is used as an identification/serial number on Solaris.
Signed-off-by: Olivier Danet <odanet@xxxxxxxxxxxx>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit 7f00eb30febf1054c74b163ced984afcdbf6e670
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Sat Feb 8 12:31:15 2014 +0100
s390x/ipl: Fix crash of ELF images with arbitrary entry points
When loading S390 kernels, the current code expects an ELF file with the
start address 0x10000. Other ELF files cause a segmentation fault. To
avoid
these crashes, we should get the start address from the ELF file instead
of always using a hard-coded address.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 1eecf41b3e8128979dd571f63d0b4c7fedc919c2
Author: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx>
Date: Tue Feb 11 08:41:38 2014 +0100
s390x/kvm: Rework priv instruction handlers
The current implementation uses the second byte of the instruction
to identify the instruction handler. This is not sufficient to
support instructions not starting with 0xb2. This patch
adds separate handlers for 0xb2, 0xb9 and 0xeb to be able to
support the full instruction set.
Signed-off-by: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 04c2b5168e242e6fa6901442bd399aa7087effca
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 17:18:38 2014 +0100
s390x/kvm: Add missing SIGP CPU RESET order
The SIGP order CPU RESET was still missing in the list of our
supported handler. This patch now adds a simple implementation,
by using the cpu_reset() function that is already available in
target-s390x/cpu.c.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f7d3e466764e0258d0883d90edb7e98ad0b56e18
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 16:39:54 2014 +0100
s390x/kvm: Rework SIGP INITIAL CPU RESET handler
The s390_cpu_initial_reset() function had two deficiencies: First, it
used an ioctl for the destination CPU, and this ioctl could block
nearly forever, as long as the destination CPU was running in the SIE
loop. Second, it also cleared the general purpose registers - something
it should not do according to the Principles of Operations.
Since we've already got another function for the initial CPU reset in
cpu.c, we can also use that function instead. And by using run_on_cpu()
for executing this code, we make sure that the destination CPU is
correctly kicked out of kernel mode now.
Suggested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 49f5c9e98ab44700b58e23ca8c17e21850328da1
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 12 09:56:35 2014 +0100
s390x/cpu: Use ioctl to reset state in the kernel
Some of the state in the kernel can not be reset from QEMU yet.
For this we've got to use the KVM_S390_INITIAL_RESET ioctl to make
sure that the state in the kernel is set to the right values during
initial CPU reset, too.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 0ca3611221d8d80bcf98337f4691addc07df0b08
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Feb 13 09:48:12 2014 +0100
s390-ccw.img: new binary rom to match latest fixes
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 5d739a4787a53da8d787551c8de27ad39fabdb34
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Feb 11 22:46:53 2014 +0100
s390-ccw.img: Fix sporadic errors with ccw boot image - initialize css
We have to set the cssid to 0, otherwise the stsch code will
return an operand exception without the m bit. In the same way
we should set m=0.
This case was triggered in some cases during reboot, if for some
reason the location of blk_schid.cssid contains 1 and m was 0.
Turns out that the qemu elf loader does not zero out the bss section
on reboot.
The symptom was an dump of the old kernel with several areas
overwritten. The bootloader does not register a program check
handler, so bios exception jumped back into the old kernel.
Lets just use a local struct with a designed initializer. That
will guarantee that all other subelements are initialized to 0.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit d1028f1b5b4cf83e8af5f48996cf392fb12d391a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Wed Feb 12 16:17:35 2014 +0100
s390-ccw.img: Fix sporadic reboot hangs: Initialize next_idx
The current code does not initialize next_idx in the virtio ring.
As the ccw bios will always use guest memory at a fixed location,
this queue might != 0 after a reboot.
Lets make the initialization explicit.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
commit c804c2a71752dd1e150cde768d8c54b02fa8bad9
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Fri Dec 20 12:02:17 2013 +0100
s390x/event-facility: exploit realize/unrealize
init/exit functionality of abstract SCLPEvent class is now exploiting
realize/unrealize.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 6fbef18a4c8b3cd9c3da4772ed5ddaec9be06fac
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 18 13:59:57 2013 +0100
s390x/event-facility: add support for live migration
Add support for live migration using VMStateDescription.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 477a72a1eff40639761e103f5b7652af7746c48e
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 18 10:10:49 2013 +0100
s390x/event-facility: code restructure
Code restructure in order to simplify class hierarchy
- remove S390SCLPDevice abstract base class
and move function pointers into new SCLPEventFacilityClass
- implement SCLPEventFacility as SysBusDevice
- use define constants for instance creation strings
The following ascii-art shows the class structure wrt the SCLP
EventFacility
before (CURRENT) and after the restructure (NEW):
----
CURRENT:
"s390-sclp-events-bus"
+-------------------------+
| SCLPEventsBus |
|-------------------------|
|BusState qbus |
+-------------------------+
+-------------------------+
| SCLPEventFacility | - to be replaced by new SCLPEventFacility,
|-------------------------| which will be a SysBusDevice
|SCLPEventsBus sbus |
|DeviceState *qdev |
|unsigned int receive_mask|
+-------------------------+
+-------------------------+
| S390SCLPDeviceClass | - to be replaced by new
SCLPEventFacilityClass
|-------------------------|
|DeviceClass qdev |
|*(init)() |
+-------------------------+
"s390-sclp-event-facility"
|
instance-of
|
V
"s390-sclp-device" - this is an abstract class
+-------------------------+
| S390SCLPDevice (A)| - to be replaced by new SCLPEventFacility
|-------------------------|
|SysBusDevice busdev |
|SCLPEventFacility *ef |
| |
|*(sclp_command_handler)()| - these 2 go to new SCLPEventFacilityClass
|*(event_pending)() |
+-------------------------+
----
NEW:
"s390-sclp-events-bus"
+-------------------------+
| SCLPEventsBus |
|-------------------------|
|BusState qbus |
+-------------------------+
+-------------------------+
| SCLPEventFacilityClass |
|-------------------------|
|DeviceClass parent_class |
| |
|*(init)() |
|*(command_handler)() |
|*(event_pending)() |
+-------------------------+
"s390-sclp-event-facility"
+-------------------------+
| SCLPEventFacility |
|-------------------------|
|SysBusDevice parent_class|
|SCLPEventsBus sbus |
|unsigned int receive_mask|
+-------------------------+
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 65e526c24e27863b2a0093e1350a8ae558be5936
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Mon Dec 23 10:25:38 2013 +0100
s390x/event-facility: some renaming
Do some renaming to shorten some identifiers and to emphasize sclp.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit e8803d93df1bbaebe015b602a8178b424903bf5f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 12:13:32 2014 +0100
s390x/sclp: Fixed setting of condition code register
In the SCLP handler function, the condition code register must
only be set if no exception occured.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 6e25280216fc23c8387892f76d961559da124528
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 13 12:55:55 2014 +0100
s390x/sclp: Add missing checks to SCLP handler
If the 51 most significant bits of the SCCB address are zero or equal to
the prefix, we should throw an specification exception, too.
Also moved the check for privileged mode to sclp_service_call() to have
all program checks in one place now.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit a0fa2cb8ccf0b73cfd3ac01d557401a2303c0de4
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 13 12:19:03 2014 +0100
s390x/sclp: Fixed the size of sccb and code parameter
The pointer to the SCCB should not be limited to 32 bits only.
In contrast to this, the command word parameter is only 32 bits
(the upper 32 bits should be ignored).
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 9da45bb217db41510684cbfd4e173186eb2f8477
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 7 13:41:58 2014 +0100
s390x/eventfacility: mask out commands
As a followup to commit 5f04c14a10fa7f259bc0808f35a0beda49f7821e
(s390-sclp: Define New SCLP Codes) we should mask the sclp command
not only in base sclp, but also in the event facility.
Based on an initial patch from Ralf Hoppe.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 77319f22635e3f0ef86730503b4d18dd9a833529
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 13:32:23 2014 +0100
s390x/virtio-hcall: Specification exception for illegal subcodes
So far, the DIAG 500 hypervisor call was only setting -EINVAL in
R2 when a guest tried to call this function with an illegal subcode.
This patch now changes the behavior so that a specification exception
is thrown instead, since this is the common behavior of other DIAG
functions (and other CPU instructions) when being called with illegal
parameters.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f2c55d1735175ab37ab9f69854460087112d2756
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 13 09:26:49 2014 +0100
s390x/virtio-hcall: Add range check for hypervisor call
The handler for diag 500 did not check whether the requested function
was in the supported range, so illegal values could crash QEMU in the
worst case.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
CC: qemu-stable@xxxxxxxxxx
commit 0788082a4b3f41cb453b654d1a66f87adfa794a9
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Wed Jan 22 17:02:46 2014 +0100
s390x/kvm: Fixed bad SIGP SET-ARCHITECTURE handler
The SET-ARCHITECTURE handler in QEMU caused a program interruption.
This is wrong according to the "Principles of Operations" specification
(since SIGP should never cause a program interrupt) and was likely only
introduced for debugging purposes. Since we handle SET-ARCHITECTURE in
the kernel already and only dropped to user space in case of bad mode
parameters, we should just report INVALID PARAMETER in QEMU instead.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 819bd3091e986c1b6b10203a7138a53b849a53e0
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 5 13:54:39 2013 +0200
s390x/async_pf: Check for apf extension and enable pfault
S390 can also use async page faults, to enhance guest scheduling.
In case of live migration we want to disable the feature and let
all pending request finish.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 3a553fc65826e0e682ed0fff770ad0d421c6d407
Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 16 09:04:04 2013 +0200
s390x/kvm: implement floating-interrupt controller device
This patch implements a floating-interrupt controller device (flic)
which interacts with the s390 flic kvm_device.
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 216db403d0b032563d82e107429626c08d825535
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Feb 7 12:13:39 2014 +0100
update linux headers to kvm/next
This updates the kvm headers to
commit d3714010c307d26df251c45be9cd12ab6d41f0c4
KVM: x86: emulator_cmpxchg_emulated should mark_page_dirty
in kvm/next.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 2ce5868ca1457d1dcbaa917df98ca1ba28593e40
Merge: 6f6831f c04018e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 22:53:50 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140226' into staging
target-arm queue:
* fixes for various Coverity-spotted bugs
* support new KVM device control API for VGIC
* support KVM VGIC save/restore/migration
* more AArch64 system mode foundations
* support ARMv8 CRC instructions for A32/T32
* PL330 minor fixes and cleanup
# gpg: Signature made Wed 26 Feb 2014 17:51:32 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140226: (45 commits)
dma/pl330: implement dmaadnh instruction
dma/pl330: Fix buffer depth
dma/pl330: Add event debugging printfs
dma/pl330: Rename parent_obj
dma/pl330: printf format type sweep.
dma/pl330: Fix misleading type
dma/pl330: Delete overly verbose debug printf
target-arm: Add support for AArch32 ARMv8 CRC32 instructions
include/qemu/crc32c.h: Rename include guards to match filename
target-arm: Add utility function for checking AA32/64 state of an EL
target-arm: Implement AArch64 view of CPACR
target-arm: A64: Implement MSR (immediate) instructions
target-arm: Store AIF bits in env->pstate for AArch32
target-arm: A64: Implement WFI
target-arm: Get MMU index information correct for A64 code
target-arm: Implement AArch64 OSLAR_EL1 sysreg as WI
target-arm: Implement AArch64 dummy breakpoint and watchpoint registers
target-arm: Implement AArch64 ID and feature registers
target-arm: Implement AArch64 generic timers
target-arm: Implement AArch64 MPIDR
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6f6831f61a44fde832ee6fab0cc5632de34cf6b7
Merge: bc3fbad 41310c6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 22:31:10 2014 +0000
Merge remote-tracking branch
'remotes/juanquintela/tags/migration/20140225' into staging
migration/next for 20140225
# gpg: Signature made Tue 25 Feb 2014 14:04:31 GMT using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* remotes/juanquintela/tags/migration/20140225:
rdma: rename 'x-rdma' => 'rdma'
Fix two XBZRLE corruption issues
Fix vmstate_info_int32_le comparison/assign
qemu_file: use fwrite() correctly
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bc3fbad816961a5b4a7f51a37472c4ac01effb92
Merge: 28c05ed ad37bb3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 20:04:37 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request'
into staging
Net patches
# gpg: Signature made Tue 25 Feb 2014 13:32:33 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/net-pull-request:
virtio-net: use qemu_get_queue() where possible
vhost_net: use offload API instead of bypassing it
net: remove implicit peer from offload API
net: Disable netmap backend when not supported
net: add offloading support to netmap backend
net: make tap offloading callbacks static
net: virtio-net and vmxnet3 use offloading API
net: TAP uses NetClientInfo offloading callbacks
net: extend NetClientInfo for offloading
net: change vnet-hdr TAP prototypes
opencores_eth: flush queue whenever can_receive can go from false to
true
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 28c05edff54ce583e89d09c9237acff20e9bd48f
Merge: d5001cf cd6c883
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 18:22:11 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-audio-3' into
staging
hda-audio: qom cleanups
# gpg: Signature made Mon 24 Feb 2014 12:19:48 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-audio-3:
hda-audio: qom cleanups
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4b9430294ed406a00f045d825ada146aecf32309
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Feb 26 10:33:45 2014 -0700
vfio: blacklist loading of unstable roms
Certain cards such as the Broadcom BCM57810 have rom quirks
that exhibit unstable system behavior duing device assignment. In
the particular case of 57810, rom execution hangs and if a FLR
follows, the device becomes inoperable until a power cycle. This
change blacklists loading of rom for such cards unless the user
specifies a romfile or rombar=1 on the cmd line
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 52aa17cbd800b9e71b67cf7f80c3498183d34ec8
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Feb 26 10:32:40 2014 -0700
qdev-monitor: set DeviceState opts before calling realize
Setting opts before the realize property is set allows the
following patch to make decisions based on whether the user
specified "rombar". This also avoids having to create a new
tristate property especially for this purpose
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 82d07945652f16078b172d2bd46659e8f5f30d8e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 26 10:30:03 2014 -0700
pci-assign: Fix potential read beyond buffer on -EBUSY
readlink() doesn't write a terminating null byte.
assign_failed_examine() passes the unterminated string to strrchr().
Oops. Terminate it.
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 13665a2d2f675341e73618fcd7f9d36b6c68b509
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Feb 26 10:28:36 2014 -0700
vfio: Fix overrun after readlink() fills buffer completely
readlink() returns the number of bytes written to the buffer, and it
doesn't write a terminating null byte. vfio_init() writes it itself.
Overruns the buffer when readlink() filled it completely.
Fix by treating readlink() filling the buffer completely as error,
like we do in pci-assign.c's assign_failed_examine().
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit c04018e93390e31b40044f3db92c173fb0ccb3d2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:09 2014 +0000
dma/pl330: implement dmaadnh instruction
Implement the missing DMAADNH instruction. This is a minor variant
of the DMAADDH instruction, so factor out to a common implementation
for both (dmaadxh).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
73ab13532a7cae53441da89b46c279b5f50785e3.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a5ae7e3984d4bb624d6e8ec95c64fa272deb07fc
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Fix buffer depth
This is the product of the data-width and the depth arguments, I.e the
depth of the FIFO is in terms of data entries and not bytes (which is
what the original implementation was suggesting). Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
c34de31031511538ccdb3164b48ee8a6a973ebd4.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 432a0a130e203e18656e54f59e817271bf1c078f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Add event debugging printfs
These are helpful to anyone trying to debug event sequencing.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e82a0ad804db3de4f46839e55a9d287735ef870d.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1c8be73d4ec576450f315d6a94fc0c89e200c479
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Rename parent_obj
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
abb137347ea1ee9c31487b544f3d5435fb17f6a4.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c3143ba87768cbbedece32b90aa5eb5485d6d23b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: printf format type sweep.
Use PRI formats as appropriate rather than raw %x and %d. This fixes
debug printfery on some host platforms. Fix types of debug only
variables as appropriate.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
dbb5f5fd048b2d4a3cb5c6357577d11211a7a585.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 024c6e2ea575d6ca2e3e1cfb8fcff7f218bb5daf
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:08 2014 +0000
dma/pl330: Fix misleading type
This type really should just be a regular int as no usages rely on it's
32 bitness (it's only meaningful as a bit position and not a bit mask).
This also fixes a printf which uses the variable with a regular %d.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
2a99d31f377aee371476d9da8fd0d1b7efa30f63.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 63a31905cbce5e7c2503dd22bf5977636df271e5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
dma/pl330: Delete overly verbose debug printf
When using event synchronisation, this particular debug printf floods.
Just delete it.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
dd94d19493f97c47497b9d8caf74ca43e70d58fd.1393372019.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit eb0ecd5ad908b72dfe4fadf84272616b2de101d1
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
target-arm: Add support for AArch32 ARMv8 CRC32 instructions
Add support for AArch32 CRC32 and CRC32C instructions added in ARMv8
and add a CPU feature flag to enable these instructions.
The CRC32-C implementation used is the built-in qemu implementation
and The CRC-32 implementation is from zlib. This requires adding zlib
to LIBS to ensure it is linked for the linux-user binary.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393411566-24104-3-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0956ff5a4e1fceb33e098133dd2b083647bb8eaa
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
include/qemu/crc32c.h: Rename include guards to match filename
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1393411566-24104-2-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1f79ee32b556cad0b6db6f7c866ac4e6b4244cc1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:07 2014 +0000
target-arm: Add utility function for checking AA32/64 state of an EL
There are various situations where we need to behave differently
depending on whether a given exception level is in AArch64 or
AArch32 state. The state of the current exception level is stored
in env->aarch64, but there's no equivalent guest-visible architected
state bits for the status of the exception levels "above" the
current one which may still affect execution. At the moment we
only support EL1 (ie no EL2 or EL3) and insist that AArch64
capable CPUs run with EL1 in AArch64 state, but these may change
in the future, so abstract out the "what state is this?" check
into a utility function which can be enhanced later if necessary.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 34222fb8101298ead0e43766340843b469597580
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: Implement AArch64 view of CPACR
Implement the AArch64 view of the CPACR. The AArch64
CPACR is defined to have a lot of RES0 bits, but since
the architecture defines that RES0 bits may be implemented
as reads-as-written and we know that a v8 CPU will have
no registered coprocessors for cp0..cp13 we can safely
implement the whole register this way.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 9cfa0b4e4c3076683b6c528a1a3b43d5a202a497
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: A64: Implement MSR (immediate) instructions
Implement the MSR (immediate) instructions, which can update the
PSTATE SP and DAIF fields.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 4cc35614a056839df8b0675cd16f55e758cd570d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: Store AIF bits in env->pstate for AArch32
To avoid complication in code that otherwise would not need to
care about whether EL1 is AArch32 or AArch64, we should store
the interrupt mask bits (CPSR.AIF in AArch32 and PSTATE.DAIF
in AArch64) in one place consistently regardless of EL1's mode.
Since AArch64 has an extra enable bit (D for debug exceptions)
which isn't visible in AArch32, this means we need to keep
the enables in env->pstate. (This is also consistent with the
general approach we're taking that we handle 32 bit CPUs as
being like AArch64/ARMv8 CPUs but which only run in 32 bit mode.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 1ed69e82b8f1dc69eb4c3e556a6417885a5dd49c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:06 2014 +0000
target-arm: A64: Implement WFI
Implement the WFI instruction for A64; this just involves wiring
up the instruction, and adding a gen_a64_set_pc_im() which was
accidentally omitted from the A64 decoder top loop.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit d9ea7d290b685844d3603103bc53ad977e6f68a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Get MMU index information correct for A64 code
Emit the correct MMU index information for loads and stores from
A64 code, rather than hardwiring it to "always kernel mode",
by storing the exception level in the TB flags, and make
cpu_mmu_index() return the right answer when the CPU is in
AArch64 mode.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit cd5c11b84b2539049e0fdc2c4c5f3e86e88a8bff
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 OSLAR_EL1 sysreg as WI
Define a dummy version of the AArch64 OSLAR_EL1 system register
which just ignores writes. Linux will always write to this (it
is the OS lock used for debugging), but we don't support debug.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 0b45451e588e35965175c06b832a799a159716f0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 dummy breakpoint and watchpoint registers
In AArch64 the breakpoint and watchpoint registers are mandatory, so the
kernel always accesses them on bootup. Implement dummy versions, which
read as written but have no actual effect.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit e60cef860f76cd558ee70e1d145eea1c24de20e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 ID and feature registers
Implement the AArch64-specific ID and feature registers. Although
many of these are currently not used by the architecture (and so
always zero for all implementations), we define the full set of
fields in the ARMCPU struct for symmetry.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit a7adc4b779d24e75d05d43fb6311ab9e6449523a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:05 2014 +0000
target-arm: Implement AArch64 generic timers
Implement the AArch64 view of the generic timer system registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4b7fff2fabeaa3d13e23b249b855f39f0921048d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 MPIDR
Implement the AArch64 MPIDR system register.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 327ed10fa2331384c1a58c794e0356e6d88089c8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 TTBR*
Implement the AArch64 TTBR* registers. For v7 these were already 64 bits
to handle LPAE, but implemented as two separate uint32_t fields.
Combine them into a single uint64_t which can be used for all purposes.
Since this requires touching every use, take the opportunity to rename
the field to the architectural name.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit a505d7fe5f638c4aaba93150f71968147f7c2b3a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 VBAR_EL1
Implement the A64 view of the VBAR system register.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit cb2e37dffaab38e962b86b3ca6f4cf0de22d9e69
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:04 2014 +0000
target-arm: Implement AArch64 TCR_EL1
Implement the AArch64 TCR_EL1, which is the 64 bit view of
the AArch32 TTBCR. (The uses of the bits in the register are
completely different, but in any given situation the CPU will
always interpret them one way or the other. In fact for QEMU EL1
is always 64 bit, but we share the state field because this
is the correct mapping to permit a future implementation of EL2.)
We also make the AArch64 view the 'master' as far as migration
and reset is concerned.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 5ebafdf31a22069952cd6c4f4e60df1cb6a6a22e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 SCTLR_EL1
Implement the AArch64 view of the system control register SCTLR_EL1.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit b0fe2427511232f361942f672511970e5c75eb4b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 memory attribute registers
Implement the AArch64 memory attribute registers. Since QEMU doesn't
model caches it does not need to care about memory attributes at all,
and we can simply make these read-as-written.
We did not previously implement the AArch32 versions of the MAIR
registers, which went unnoticed because of the overbroad TLB_LOCKDOWN
reginfo definition; provide them now to keep the 64<->32 register
relationship clear.
We already provided AMAIR registers for 32 bit as simple RAZ/WI;
extend that to provide a 64 bit RAZ/WI AMAIR_EL1.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 91e240698f6a82cb73893ee0ce26369aa6232f7b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 dummy MDSCR_EL1
We don't support letting the guest do debug, but Linux prods the
monitor debug system control register anyway, so implement a dummy
RAZ/WI version.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 168aa23bb01a1f6266ba9228dfd248617872ca5c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:03 2014 +0000
target-arm: Implement AArch64 TLB invalidate ops
Implement the AArch64 TLB invalidate operations. This is
the full set of TLBI ops defined for a CPU which doesn't
implement EL2 or EL3.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8af35c37d296daa463c0d4ed575a51729afc7f6d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:02 2014 +0000
target-arm: Implement AArch64 cache invalidate/clean ops
Implement all the AArch64 cache invalidate and clean ops
(which are all NOPs since QEMU doesn't emulate the cache).
The only remaining unimplemented cache op is DC ZVA.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit cd4da6317748e3ae2bed5fcc5fb3f81e5c853446
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:02 2014 +0000
target-arm: Implement AArch64 MIDR_EL1
Implement the AArch64 view of the MIDR system register
(for AArch64 it is a simple constant, unlike the complicated
mess that TI925 imposes on the 32-bit view).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 0eef9d9833df1c2376bd3b761abc6580df15af3b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:02 2014 +0000
target-arm: Implement AArch64 CurrentEL sysreg
Implement the CurrentEL sysreg.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 7da845b0f42a791d65045284f90977d636c654cc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:01 2014 +0000
target-arm: A64: Make cache ID registers visible to AArch64
Make the cache ID system registers (CLIDR, CSSELR, CCSIDR, CTR)
visible to AArch64. These are mostly simple 64-bit extensions of the
existing 32 bit system registers and so can share reginfo definitions.
CTR needs to have a split definition, but we can clean up the
temporary user-mode implementation in favour of using the CPU-specified
reset value, and implement the system-mode-required semantics of
restricting its EL0 accessibility if SCTLR.UCT is not set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 67ed771dedd2a7c6f094e0d70fb1fde8f5fb79da
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:20:01 2014 +0000
target-arm: Fix raw read and write functions on AArch64 registers
The raw read and write functions were using the ARM_CP_64BIT flag in
ri->type to determine whether to treat the register's state field as
uint32_t or uint64_t; however AArch64 register info structs don't use
that flag. Abstract out the "how big is the field?" test into a
function and fix it to work for AArch64 registers. For this to work
we must ensure that the reginfo structs put into the hashtable have
the correct state field for their use, not the placeholder STATE_BOTH.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 855011be05fad72e17e0280d0bab87a4bc840695
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:01 2014 +0000
hw: arm_gic_kvm: Add KVM VGIC save/restore logic
Save and restore the ARM KVM VGIC state from the kernel. We rely on
QEMU to marshal the GICState data structure and therefore simply
synchronize the kernel state with the QEMU emulated state in both
directions.
We take some care on the restore path to check the VGIC has been
configured with enough IRQs and CPU interfaces that we can properly
restore the state, and for separate set/clear registers we first fully
clear the registers and then set the required bits.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687921-26921-1-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1da41cc1c6c3efbe2ed47228068bd80dbdc49d0e
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
arm: vgic device control api support
Support creating the ARM vgic device through the device control API and
setting the base address for the distributor and cpu interfaces in KVM
VMs using this API.
Because the older KVM_CREATE_IRQCHIP interface needs the irq chip to be
created prior to creating the VCPUs, we first test if we can use the
device control API in kvm_arch_irqchip_create (using the test flag from
the device control API). If we cannot, it means we have to fall back to
KVM_CREATE_IRQCHIP and use the older ioctl at this point in time. If
however, we can use the device control API, we don't do anything and
wait until the arm_gic_kvm driver initializes and let that use the
device control API.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-5-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a6a7ccaae4015aa02bdbce75bafb9d868636655
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
kvm: Common device control API functions
Introduces two simple functions:
int kvm_device_ioctl(int fd, int type, ...);
int kvm_create_device(KVMState *s, uint64_t type, bool test);
These functions wrap the basic ioctl-based interactions with KVM in a
way similar to other KVM ioctl wrappers.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-4-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d6032e06d10d20e91729816a8c9c6792e5774ab1
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
kvm: Introduce kvm_arch_irqchip_create
Introduce kvm_arch_irqchip_create an arch-specific hook in preparation
for architecture-specific use of the device control API to create IRQ
chips.
Following patches will implement the ARM irqchip create method to prefer
the device control API over the older KVM_CREATE_IRQCHIP API.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-3-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 876074c228ddccffe9bfcf31920202d68777545b
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:20:00 2014 +0000
linux-headers: Update from v3.14-rc3
Update to tag v3.14-rc3 (6d0abeca3242a88cab8232e4acd7e2bf088f3bc2)
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1392687720-26806-2-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6453fa998a11e133e673c0a613b88484a8231d1d
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Wed Feb 26 17:19:59 2014 +0000
hw/intc/arm_gic: Fix GIC_SET_LEVEL
The GIC_SET_LEVEL macro unfortunately overwrote the entire level
bitmask instead of just or'ing on the necessary bits, causing active
level PPIs on a core to clear PPIs on other cores.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Rob Herring <rob.herring@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1393031030-8692-1-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c10f7fc3d167799f19d2184f05012b24cc56878d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:59 2014 +0000
target-arm: Load correct access bits from ARMv5 level 2 page table
descriptors
In ARMv5 level 2 page table descriptors, each 4K or 64K page is split into
four subpages, each of which can have different access permission
settings,
which are specified by four two-bit fields in the l2 descriptor. A
long-standing cut-and-paste error meant we were using the wrong bits in
the virtual address to select the access-permission field for 4K pages.
The error has presumably not been noticed before because most guests don't
make use of the ability to set the access permissions differently for
each 1K subpage: if the guest gives the whole page the same access
permissions it doesn't matter which of the 4 AP fields we select.
(The whole issue is irrelevant for ARMv7 CPUs anyway because subpages
aren't supported there.)
Reported-by: Vivek Rai <Vivek.Rai@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392667690-8731-1-git-send-email-peter.maydell@xxxxxxxxxx
commit cf143ad35018c5fc1da6365b45acda2b34aba90a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:59 2014 +0000
hw/arm/musicpal: Remove nonexistent CDTP2, CDTP3 registers
The ethernet device in the musicpal only has two tx queues,
but we modelled it with four CTDP registers, presumably a
cut and paste from the rx queue registers. Since the tx_queue[]
array is only 2 entries long this allowed a guest to overrun
this buffer. Remove the nonexistent registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392737293-10073-1-git-send-email-peter.maydell@xxxxxxxxxx
Acked-by: Jan Kiszka <jan.kiszka@xxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit fce0a826083e0416981e2ea9518ce5faa75b81a3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
hw/intc/exynos4210_combiner: Don't overrun output_irq array in init
The Exynos4210 combiner has IIC_NIRQ inputs and IIC_NGRP outputs;
use the correct constant in the loop initializing our output
sysbus IRQs so that we don't overrun the output_irq[] array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392659611-8439-1-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit 775fda92a1b52c784cd51c095d67fcca7250e1e5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
target-arm: Fix incorrect arithmetic constructing short-form PAR for ATS
ops
Correct some obviously nonsensical bit manipulation spotted by Coverity
when constructing the short-form PAR value for ATS operations.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1392659525-8335-1-git-send-email-peter.maydell@xxxxxxxxxx
commit cba933b2257ef0ad241756a0ff86bc0acda685ca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
hw/timer/arm_timer: Avoid array overrun for bad addresses
The integrator's timer read/write functions log an error for
bad addresses in guest accesses, but were falling through and
using an out of bounds array index rather than returning early.
Fix this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1392647854-8067-4-git-send-email-peter.maydell@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
commit 106a73b6d200035c5156f90b5f9b6a53d3adb43b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:58 2014 +0000
hw/net/stellaris_enet: Avoid unintended sign extension
Add a cast to avoid an unintended sign extension that
would mean we returned 0xffffffff in the high 32 bits
for an IA0 read if bit 31 in the MAC address was 1.
(This is harmless since we'll only be doing 4 byte
reads, but it could be confusing, so best avoided.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1392647854-8067-3-git-send-email-peter.maydell@xxxxxxxxxx
commit ec1efab95767312ff4afb816d0d4b548e093b031
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 26 17:19:57 2014 +0000
hw/misc/arm_sysctl: Fix bad boundary check on mb clock accesses
Fix incorrect use of sizeof() rather than ARRAY_SIZE() to guard
accesses into the mb_clock[] array, which was allowing a malicious
guest to overwrite the end of the array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1392647854-8067-2-git-send-email-peter.maydell@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
commit d77f7779b4d74354b3444ceb0f93105ced3c26c8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 21 17:43:09 2014 +0100
fsdev: Fix overrun after readlink() fills buffer completely
readlink() returns the number of bytes written to the buffer, and it
doesn't write a terminating null byte. do_readlink() writes it
itself. Overruns the buffer when readlink() filled it completely.
Fix by reserving space for the null byte when calling readlink(), like
we do elsewhere.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit d5001cf787ad0514839a81d0f2e771e01e076e21
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:42:23 2014 -0800
xilinx: Delete hw/include/xilinx.h
This is now obsolete - remove the header and all its inclusions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit d91a68a73b6457c22b743e158e36894ccaa489bc
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:41:49 2014 -0800
xilinx: Inline usages of xilinx_axi*_init()
Inline the only usage of each of xilinx_axiethernet_init and
xilinx_axidma_init. Converts this init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit b8d4e1c43b06caadf96c350511201fd50642e4f2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:41:14 2014 -0800
xilinx: Inline usage of xilinx_ethlite_create()
Inline the only usage. Converts this init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 29873712e6f82d4dafd7ab8cff930136f92a0e06
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:40:39 2014 -0800
xilinx: Inline usages of xilinx_timer_create()
Inline these usages. Converts these init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 13c9bfbfbb3e20d5b58c7760d3338e7a3948ecd8
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:40:04 2014 -0800
xilinx: Inline usages of xilinx_intc_create()
Inline these usages. Converts these init to at least a semi-recent QOM
styling.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 8174196b7f8e82a2f17aa2ab0ba1a791c610fbb1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:39:29 2014 -0800
microblaze/ml605: Define macros for irq/memory maps
Define (missing) macros for the interrupt and memory maps for the sake
of self documentation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 81cce07ec6217351d291fc318fb8bf2d8f865032
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:38:54 2014 -0800
ppc/virtex_ml507: Define macros for irq/memory maps
Define macros for the interrupt and memory maps for the sake of self
documentation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 05a738c4eca9e809226dec4b83624a3bad8066ee
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Feb 25 16:38:19 2014 -0800
microblaze/s3adsp_1800: Define macros for irq map
Define macros for the interrupt map for the sake of self documentation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit aa0d1f448871314bfc535da97eb003fe7766d4c2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Feb 25 17:36:55 2014 +0100
modules: do not include gmodule-2.0 in static builds
gmodule-2.0's pkg-config files include -Wl,--export-dynamic, which breaks
static builds. It is a glib bug, but we need to support --static builds
for
the linux-user targets, and in the end all that is needed to fix this is:
* outlaw --enable-modules --static, which makes little sense anyway
* only include gmodule-2.0's cflags and ldflags if --enable-modules is
specified on the command line.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1393346215-5636-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a89d97df1f6d9f5bd6403a9d91d9d7cd86bdd394
Merge: 0459650 9c70434
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 15:17:24 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-3' into
staging
qxl: add sanity check
# gpg: Signature made Mon 24 Feb 2014 12:01:27 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-3:
qxl: add sanity check
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ad37bb3b000963b36b5c30f5a4239cfbc4fe8725
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 20 12:14:09 2014 +0100
virtio-net: use qemu_get_queue() where possible
qemu_get_queue() is a shorthand for qemu_get_subqueue(n->nic, 0). Use
the shorthand where possible.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e3e48565c1553f9ab4c34c2388287a013ef30deb
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 20 12:14:08 2014 +0100
vhost_net: use offload API instead of bypassing it
There is no need to access backend->info->has_vnet_hdr() and friends
anymore. Use the qemu_has_vnet_hdr() API instead.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d6085e3ace20bc9b0fa625d8d79b22668710e217
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Feb 20 12:14:07 2014 +0100
net: remove implicit peer from offload API
The virtio_net offload APIs are used on the NIC's peer (i.e. the tap
device). The API was defined to implicitly use nc->peer, saving the
caller the trouble.
This wasn't ideal because:
1. There are callers who have the peer but not the NIC. Currently they
are forced to bypass the API and access peer->info->... directly.
2. The rest of the net.h API uses nc, not nc->peer, so it is
inconsistent.
This patch pushes nc->peer back up to callers.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 41310c68781d742fa9bbfd5fcb1df9b7f23f5759
Author: Michael R. Hines <mrhines@xxxxxxxxxx>
Date: Thu Dec 19 04:52:01 2013 +0800
rdma: rename 'x-rdma' => 'rdma'
As far as we can tell, all known bugs have been fixed:
1. Parallel migrations are working
2. IPv6 migration is working
3. virt-test is working
I'm not comfortable sending the revised libvirt patch
until this is accepted or review suggestions are addressed,
(including pin-all support. It does not make sense to
remove experimental for one thing and not the other. That's
too many trips through the libvirt community).
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6d3cb1f970ee85361618f7ff02869180394e012d
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Thu Feb 13 19:44:45 2014 +0000
Fix two XBZRLE corruption issues
Push zero'd pages into the XBZRLE cache
A page that was cached by XBZRLE, zero'd and then XBZRLE'd again
was being compared against a stale cache value
Don't use 'qemu_put_buffer_async' to put pages from the XBZRLE cache
Since the cache might change before the data hits the wire
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 24a370ef2351dc596a7e47508b952ddfba79ef94
Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Date: Wed Feb 12 17:20:10 2014 +0000
Fix vmstate_info_int32_le comparison/assign
Fix comparison of vmstate_info_int32_le so that it succeeds if loaded
value is (l)ess than or (e)qual
When the comparison succeeds, assign the value loaded
This is a change in behaviour but I think the original intent, since
the idea is to check if the version/size of the thing you're loading is
less than some limit, but you might well want to do something based on
the actual version/size in the file
Fix up comment and name text
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit aded6539d983280212e08d09f14157b1cb4d58cc
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Feb 11 22:56:00 2014 +0100
qemu_file: use fwrite() correctly
fwrite() returns the number of items written. But when there is one
error, it can return a short write.
In the particular bug that I was tracking, I did a migration to a
read-only filesystem. And it was able to finish the migration
correctly. fwrite() never returned a negative error code, nor zero,
always 4096. (migration writes chunks of about 14000 bytes). And it
was able to "complete" the migration with success (yes, reading the
file was a bit more difficult).
To add insult to injury, if your amount of memory was big enough (12GB
on my case), it overwrote some important structure, and from them,
malloc failed. This check makes the problem go away.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 0459650d94d18218808fcabc8c3227d2ee99af39
Merge: 05fd3bf a749f42
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 12:30:01 2014 +0000
Merge remote-tracking branch 'remotes/mdroth/qga-pull-2014-02-24' into
staging
* remotes/mdroth/qga-pull-2014-02-24:
qemu-ga: isa-serial support on Windows
qga: Fix memory allocation pasto
qga: Don't require 'time' argument in guest-set-time command
qga: vss-win32: Fix interference with snapshot deletion by other VSS
request
qga: vss-win32: Fix interference with snapshot creation by other VSS
requesters
qga: vss-win32: Use NULL as an invalid pointer for OpenEvent and
CreateEvent
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 05fd3bf2a1c9fc26414d3cf608732c40d0d9eb23
Merge: e7a1d6c 604e1f9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 11:54:40 2014 +0000
Merge remote-tracking branch 'remotes/xtensa/tags/20140224-xtensa' into
staging
Xtensa fixes and improvements queue 2014-02-24:
- add support for ML605 and KC705 FPGA boards;
- flush opencores_eth queue when new RX descriptor is available;
- add basic checks to cache opcodes;
- make core configuration available to tests;
- implement HW config ID special registers.
# gpg: Signature made Mon 24 Feb 2014 00:52:42 GMT using RSA key ID
F83FA044
# gpg: Good signature from "Max Filippov
<max.filippov@xxxxxxxxxxxxxxxxxx>"
# gpg: aka "Max Filippov <jcmvbkbc@xxxxxxxxx>"
* remotes/xtensa/tags/20140224-xtensa:
target-xtensa: provide HW confg ID registers
target-xtensa: refactor standard core configuration
target-xtensa: add basic tests for cache opcodes
target-xtensa: allow using core configuration in tests
target-xtensa: add overridable test_init macro
target-xtensa: add basic checks to icache opcodes
target-xtensa: add basic checks to dcache opcodes
target-xtensa: add RRRI4 opcode format fields
opencores_eth: flush queue whenever can_receive can go from false to
true
hw/xtensa: add support for ML605 and KC705 FPGA board
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0a985b37272b563b1f8414431c6064eb1aa0c97b
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 20 15:40:43 2014 +0100
net: Disable netmap backend when not supported
This patch fixes configure so that the netmap backend is not compiled in
if the
host doesn't support an API version >= 11. A version upper bound (15) has
been
added so that the netmap API can be extended with some minor features
without
requiring QEMU code modifications.
Moreover, some changes have been done to net/netmap.c in order to reflect
the
current netmap API/ABI (11).
The NETMAP_WITH_LIBS macro makes possible to include some utilities (e.g.
netmap ring macros, D(), RD() and other high level functions) through the
netmap
headers. In this way we get rid of the D and RD macro definitions in the
QEMU
code, and we open the way for further code simplifications that will be
introduced by future patches.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f6c65bfb93fd90f69a11fd1db1e7b2cebb056b01
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:20 2014 +0100
net: add offloading support to netmap backend
Whit this patch, the netmap backend supports TSO/UFO/CSUM
offloadings, and accepts the virtio-net header, similarly to what
happens with TAP. The offloading callbacks in the NetClientInfo
interface have been implemented.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3bac80d31af9d38d02e80d1541a1ea8e70067bad
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:19 2014 +0100
net: make tap offloading callbacks static
Since TAP offloadings are manipulated through a new API, it's
not necessary to export them in include/net/tap.h anymore.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cf528b89580797050b8cf60fee6247f35531a675
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:18 2014 +0100
net: virtio-net and vmxnet3 use offloading API
With this patch, virtio-net and vmxnet3 frontends make
use of the qemu_peer_* API for backend offloadings manipulations,
instead of calling TAP-specific functions directly.
We also remove the existing checks which prevent those frontends
from using offloadings with backends different from TAP (e.g. netmap).
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2e753bcc7db1a7d2af0d47c0ae7e82a04ce69d63
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:17 2014 +0100
net: TAP uses NetClientInfo offloading callbacks
The TAP NetClientInfo structure is inizialized with the TAP-specific
functions that manipulates offloading features.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1f55ac4586bfae81b1e805fb2f0713cb21501ae2
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:16 2014 +0100
net: extend NetClientInfo for offloading
Some new callbacks have been added to generalize the operations done
by virtio-net and vmxnet3 frontends to manipulate TAP offloadings.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e96dfd110ee1ad70e7ddbfae01ca95c66f70dac0
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Feb 6 17:02:15 2014 +0100
net: change vnet-hdr TAP prototypes
The tap_has_vnet_hdr() and tap_has_vnet_hdr_len() functions used
to return int, even though they only return true/false values.
This patch changes the prototypes to return bool.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6e50d18847a76704c8a49e406084a2321117b954
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 3 08:20:02 2014 +0400
opencores_eth: flush queue whenever can_receive can go from false to true
The following registers control whether MAC can receive frames:
- MODER.RXEN bit that enables/disables receiver;
- TX_BD_NUM register that specifies number of RX descriptors.
Notify QEMU networking core when the MAC is ready to receive frames.
Discard frame and raise BUSY interrupt when the frame arrives but the
current RX descriptor is not empty.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e7a1d6c52a3ac6e76e5653c830b2545e0a4043d3
Merge: c58e291 6141f3b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 25 10:50:11 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
Block patches
# gpg: Signature made Fri 21 Feb 2014 21:42:24 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream: (54 commits)
iotests: Mixed quorum child device specifications
quorum: Simplify quorum_open()
quorum: Add unit test.
quorum: Add quorum_open() and quorum_close().
quorum: Implement recursive .bdrv_recurse_is_first_non_filter in quorum.
quorum: Add quorum_co_flush().
quorum: Add quorum_invalidate_cache().
quorum: Add quorum_getlength().
quorum: Add quorum mechanism.
quorum: Add quorum_aio_readv.
blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from
blkverify.
quorum: Add quorum_aio_writev and its dependencies.
quorum: Create BDRVQuorumState and BlkDriver and do init.
quorum: Create quorum.c, add QuorumChildRequest and QuorumAIOCB.
check-qdict: Test termination of qdict_array_split()
check-qdict: Adjust test for qdict_array_split()
qdict: Extract non-QDicts in qdict_array_split()
qemu-config: Sections must consist of keys
qemu-iotests: Check qemu-img command line parsing
qemu-img: Allow -o help with incomplete argument list
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c58e291591dbc1c846fa152d4792554803405ebb
Merge: 6dedf05 58da5b1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 24 16:12:55 2014 +0000
Merge remote-tracking branch 'remotes/sstabellini/xen-140220' into staging
* remotes/sstabellini/xen-140220:
xen_disk: fix io accounting
Call pci_piix3_xen_ide_unplug from unplug_disks
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6dedf0522c3fdeb10fe27d4aef35f4c57f3d0806
Merge: 98b21dc f966f9d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 24 15:37:59 2014 +0000
Merge remote-tracking branch 'remotes/bonzini/configure' into staging
* remotes/bonzini/configure:
build: softmmu targets do not have a "main.o" file
configure: Disable libtool if -fPIE does not work with it (bug #1257099)
block: convert block drivers linked with libs to modules
Makefile: introduce common-obj-m and block-obj-m for DSO
Makefile: install modules with "make install"
module: implement module loading
rules.mak: introduce DSO rules
darwin: do not use -mdynamic-no-pic
block: use per-object cflags and libs
rules.mak: allow per object cflags and libs
rules.mak: fix $(obj) to a real relative path
util: Split out exec_dir from os_find_datadir
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 98b21dcdb331798709edafcd65b5b7a1e07302db
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 15:10:16 2014 +0000
configure: check that C++ compiler actually works
Check that the C++ compiler works with the C compiler; if it
does not, then don't pass CXX to the build process. This
fixes a regression where QEMU was no longer building if the
build environment didn't have a C++ compiler (introduced
in commit 3144f78b, which incorrectly assumed that rules.mak
would only see a non-empty $(CXX) if configure had actually
found a working C++ compiler).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reported-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Tested-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Tested-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Message-id: 1392909016-14028-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 9c70434f825fd0d2e89d1aa0f872159378d0aab3
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 19 11:40:17 2014 +0100
qxl: add sanity check
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit cd6c88305f2ae8fe335a001058032e03f0ff4b4e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Jan 21 17:10:04 2014 +0100
hda-audio: qom cleanups
Add HDA_AUDIO type and macro, drop DO_UPCAST().
Had to add a abstract hda audio class as parent
for all hda-* variants to make that fly. Killed
some init code duplication while being at it.
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 604e1f9cd0602e92ba49a27dd3a46db3d29f882e
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sat Feb 15 20:49:09 2014 +0400
target-xtensa: provide HW confg ID registers
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 676056d4f1598f3f368da26fdc43371e8ab3a7fb
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sat Feb 15 20:58:47 2014 +0400
target-xtensa: refactor standard core configuration
Coalesce all standard configuration sections into single
DEFAULT_SECTIONS macro for all cores. This allows to add new features in
a single place: overlay_tool.h
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 2c09eee112677c64a5e060eb9d491981843d7531
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Tue Feb 11 12:22:19 2014 +0400
target-xtensa: add basic tests for cache opcodes
Test that non-locking prefetch operations don't cause exceptions on
missing TLB and that other 'hit' cache operations do.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit a2e67072b7c3b2abf70d0a11918723a5dd841a05
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 10 20:20:52 2014 +0400
target-xtensa: allow using core configuration in tests
Add path to the core configuration directory to test build command and
replace .include asm directive with #include to enable preprocessing.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit d0fa1f0df3c8c269df083e2c8a10dfad09dffcf3
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 10 12:26:45 2014 +0400
target-xtensa: add overridable test_init macro
Some test suites, like MMU, need per-test initialization. Don't make them
redefine test macro, add test_init for that purpose.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit e848dd4248230c0463841a16d1fa9eb054a2d211
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Feb 7 15:57:22 2014 +0400
target-xtensa: add basic checks to icache opcodes
Check privilege level for privileged instructions (IHU, III, IIU and IPFL
are privileged), memory accessibility for instructions that reference
memory
(IH* and IPFL) and windowed register validity for all instruction cache
instructions.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 7c84259019a945e4ff275994b96c0de4496d2a5e
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Feb 7 15:57:22 2014 +0400
target-xtensa: add basic checks to dcache opcodes
Check privilege level for privileged instructions (DHI, DHU, DII, DIU,
DIWB,
DIWBI, DPFL are privileged), memory accessibility for instructions that
reference memory (all DH* and DPFL) and windowed register validity for all
data cache instructions.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 6502668237a27985dd386c6e42b46e8977b4f2c0
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 10 09:16:33 2014 +0400
target-xtensa: add RRRI4 opcode format fields
This encoding is used by cache instructions.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit b807b5ff894b79e31ccd2ff5bd023577ecf45a6a
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Mon Feb 3 07:57:55 2014 +0400
opencores_eth: flush queue whenever can_receive can go from false to true
The following registers control whether MAC can receive frames:
- MODER.RXEN bit that enables/disables receiver;
- TX_BD_NUM register that specifies number of RX descriptors.
Notify QEMU networking core when the MAC is ready to receive frames.
Discard frame and raise BUSY interrupt when the frame arrives but the
current RX descriptor is not empty.
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e0db904d1dc97be0eed7fbb52954d03ec05bee07
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Feb 2 02:44:41 2014 +0400
hw/xtensa: add support for ML605 and KC705 FPGA board
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit a749f42da5129bbfadea6926964d9a213ed4bc5f
Author: Miki Mishael <mmishael@xxxxxxxxxx>
Date: Wed Jan 15 04:33:44 2014 -0500
qemu-ga: isa-serial support on Windows
Add support for isa-serial method for qemu-ga on Windows,
Added -p command line parameter for serial port name
specification, e.g. "-p COM15".
Signed-off-by: Miki Mishael <mmishael@xxxxxxxxxx>
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
*added default isa-serial path to help output
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 10b7c5dd0da1a92182e87f5fc1887d779ad1a9e8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Feb 21 13:36:49 2014 +0100
qga: Fix memory allocation pasto
qmp_guest_file_seek() allocates memory for a GuestFileRead object
instead of the GuestFileSeek object it actually uses. Harmless,
because the GuestFileRead is slightly larger.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 2c958923bc09b1faf2505a988b4b1c458580e9ac
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Fri Jan 31 11:29:51 2014 +0100
qga: Don't require 'time' argument in guest-set-time command
As the description to the guest-set-time states, the command is
there to ease time synchronization after resume. If guest was
suspended for longer period of time, its system time can go off
so badly, that even NTP refuses to set it. That's why the command
was invented: to give users chance to set the time (not
necessarily 100% correct). However, there's is no real need for
us to require users to pass an arbitrary time. Especially if we
can read the correct value from RTC (boiling down to reading
host's time). Hence this commit enables logic:
guest-set-time() == guest-set-time($now_from_rtc)
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d9e1f574cb6eac0a3a2f97b67d2e7a3ad9c1dc95
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Mon Jan 13 12:25:39 2014 -0500
qga: vss-win32: Fix interference with snapshot deletion by other VSS
request
When a VSS requester such as vshadow.exe or diskshadow.exe requests to
delete snapshots, qemu-ga VSS provider's DeleteSnapshots() is also called
and returns E_NOTIMPL, that makes the deletion fail.
To avoid this issue, return S_OK and set values that represent no
snapshots
are deleted by qemu-ga VSS provider.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit ff8adbcfdbbd9c0f2b01ff8a32bc75082fdd9844
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Mon Jan 13 12:25:29 2014 -0500
qga: vss-win32: Fix interference with snapshot creation by other VSS
requesters
When a VSS requester such as vshadow.exe or diskshadow.exe requests to
create disk snapshots, Windows may choose qemu-ga VSS provider if it is
only provider registered on the system. However, because it provides only
a
function to freeze the filesystem, the snapshotting fails.
This patch adds a check into CQGAVssProvider::IsVolumeSupported() to
reject
the request from other VSS requesters, so that the other provider is
chosen.
The check of requester is done by confirming event channels between
qemu-ga's requester and provider established. To ensure that the events
are
initialized when CQGAVssProvider::IsVolumeSupported() is called, it moves
the initialization earlier.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 4c1b8f1e8357d85c613d779596e4079cc581d74f
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Mon Jan 13 12:25:23 2014 -0500
qga: vss-win32: Use NULL as an invalid pointer for OpenEvent and
CreateEvent
OpenEvent and CreateEvent WinAPI return NULL when failed to open/create
events handles, instead of INVALID_HANDLE_VALUE (although their return
types are HANDLE).
This replaces INVALID_HANDLE_VALUE related to event handles with NULL.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d9738fd2463f71530d8d92fbb52ebdd1d78074fc
Author: Peter Lieven <pl@xxxxxxx>
Date: Sat Feb 22 13:17:24 2014 +0100
block/iscsi: fix segfault if writesame fails
commit fa6252b0 introduced a segfault because it tries
to read iTask.task->sense after iTask.task has been
freed.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 64cc22841e72d37d577416f5836155ecd0a9bfb6
Author: Roland Dreier <roland@xxxxxxxxxxxxxxx>
Date: Wed Feb 19 08:28:41 2014 -0800
scsi-disk: Add support for port WWN and index descriptors in VPD page 83h
To make a VM more convincing to my application, it's useful to be able
to add a port WWN and relative target port index to the descriptors
returned for VPD page 83h. Add device properties to allow setting
these, and return them from INQUIRY commands.
Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 24d3bd67aca958c8ea103646d9d326de00056e4d
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 17 18:34:08 2014 +0100
block/iscsi: query for supported VPD pages
this patch ensures that we only query for block provisioning and
block limits vpd pages if they are advertised. It also cleans
up the inquiry code and eliminates some redundant code.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 837c390137193e715fee20b35c0ddb164b1c4fa4
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Feb 18 13:08:39 2014 +0100
block/iscsi: fix deadlock on scsi check condition
the retry logic was broken because the complete status
of the task structure was not reset. this resulted in
an infinite loop retrying the command over and over.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7ef8cf9a0861b6f67f5e57428478c31bfd811651
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 29 18:47:39 2014 +0100
scsi-bus: Fix transfer length for VERIFY with BYTCHK=11b
The transfer length depends on field BYTCHK, which is encoded in byte
1, bits 1..2. However, the guard for for case BYTCHK=11b doesn't
work, and we get case 01b instead. Fix it.
Note that since emulated scsi-hd fails the command outright, it takes
SCSI passthrough of a device that actually implements VERIFY with
BYTCHK=11b to make the bug bite.
Screwed up in commit d12ad44. Spotted by Coverity.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 703dd81aca15ef1d91dba013b6b66c6e3ff88628
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 23 13:57:21 2014 +0100
scsi: report thin provisioning errors with werror=report
SCSI defines a status code for when a thin-provisioned LUNs would
exceed the allocated space, map ENOSPC to it.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c5f52875b980e54e6bebad6121c76863356e1d7f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Jan 24 15:02:24 2014 +0800
scsi: Change scsi sense buf size to 252
Current buffer size fails the assersion check in like
hw/scsi/scsi-bus.c:1655: assert(req->sense_len <=
sizeof(req->sense));
when backend (block/iscsi.c) returns more data then 96.
Exercise the core dump path by booting an Gentoo ISO with scsi-generic
device backed with iscsi (built with libiscsi 1.7.0):
x86_64-softmmu/qemu-system-x86_64 \
-drive file=iscsi://localhost:3260/iqn.foobar/0,if=none,id=drive-disk
\
-device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x6 \
-device scsi-generic,drive=drive-disk,bus=scsi1.0,id=iscsi-disk \
-boot d \
-cdrom gentoo.iso
qemu-system-x86_64: hw/scsi/scsi-bus.c:1655: scsi_req_complete:
Assertion `req->sense_len <= sizeof(req->sense)' failed.
According to SPC-4, section 4.5.2.1, 252 is the limit of sense data. So
increase the value to fix it.
Also remove duplicated define for the macro.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6141f3bd6904df7cf9519c6444a14a608b9874c4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 22:30:38 2014 +0100
iotests: Mixed quorum child device specifications
Add a test case to test 081 for mixing full option dicts and reference
strings of specifying the quorum child block devices through QMP.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8a87f3d72279acb89f3d09b28d285d2fb6a7decf
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 22:30:37 2014 +0100
quorum: Simplify quorum_open()
Although it may not look like it, this patch simplifies quorum_open().
qdict_array_split() is now able to return QLists with different objects
than only QDicts, therefore it will now do all the work and
quorum_open() does not have to handle reference strings by itself.
This allows mixing full option dicts and reference strings for
specifying the child block devices of quorum; furthermore, it improves
handling of malformed specifications.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c7fc5bc2a4d89ccdb1ffabc720e7c87558c9aaef
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:21 2014 +0100
quorum: Add unit test.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c88a1de51ab2f26a9a37ffc317249736de8c015c
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:20 2014 +0100
quorum: Add quorum_open() and quorum_close().
Example of command line:
-drive if=virtio,driver=quorum,\
children.0.file.filename=1.raw,\
children.0.node-name=1.raw,\
children.0.driver=raw,\
children.1.file.filename=2.raw,\
children.1.node-name=2.raw,\
children.1.driver=raw,\
children.2.file.filename=3.raw,\
children.2.node-name=3.raw,\
children.2.driver=raw,\
vote-threshold=2
blkverify=on with vote-threshold=2 and two files can be passed to
emulate blkverify.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 98a7a38f81af2b79a134eaa6cbed543aa3ca5fe2
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:19 2014 +0100
quorum: Implement recursive .bdrv_recurse_is_first_non_filter in quorum.
This is used to activate quorum snapshot.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1c508d174d4b9dfd066c3729a2560afeef5e081f
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:18 2014 +0100
quorum: Add quorum_co_flush().
Makes a vote to select error if any.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a28e4c408b28e4d55c5bd327a19290e1da3855dd
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:17 2014 +0100
quorum: Add quorum_invalidate_cache().
We really want that live migration works with quorum so implement
quorum_invalidate_cache().
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d55dee2044791a02394a3db7055cedac68dca26b
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:16 2014 +0100
quorum: Add quorum_getlength().
Check that every bs file returns the same length.
Otherwise, return -EIO to disable the quorum and
avoid length discrepancy.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 95c6bff3561eedaf7c7de287bc4a002720605a8d
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:15 2014 +0100
quorum: Add quorum mechanism.
This patchset enables the core of the quorum mechanism.
The num_children reads are compared to get the majority version and if
this
version exists more than threshold times the guest won't see the error at
all.
If a block is corrupted or if an error occurs during an IO or if the
quorum
cannot be established QMP events are used to report to the management.
Use gnutls's SHA-256 to compare versions.
--enable-quorum must be used to enable the feature.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7db6982a19f61e3668397b5e31ebfb16a477c414
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:14 2014 +0100
quorum: Add quorum_aio_readv.
Add code to do num_children reads in parallel and cleanup the structures
afterwards.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f70d7f7e4d05b7a7797815afdcb83f4375740838
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:13 2014 +0100
blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from
blkverify.
qemu_iovec_compare() will be used to compare IOs vectors in quorum
blkverify
mode. The patch extracts these functions in order to factorize the code.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 13e7956e3190b51f02e75374bb9dfdcacfd08829
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:12 2014 +0100
quorum: Add quorum_aio_writev and its dependencies.
Writes are mirrored num_children times on num_children devices.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cadebd7a2a590c2ac5ced58c2fc207c7ae78fb1b
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:11 2014 +0100
quorum: Create BDRVQuorumState and BlkDriver and do init.
Create the structure holding the quorum settings and write the minimal
block
driver instanciation boilerplate.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 27cec15e4ed4e69155f2499ceb46d22d8425102a
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Fri Feb 21 22:21:10 2014 +0100
quorum: Create quorum.c, add QuorumChildRequest and QuorumAIOCB.
Quorum is a block filter mirroring writes to num_children children.
For reads quorum reads each children and does a vote.
If more than vote_threshold versions are identical the quorum is reached
and
this winning version is returned to the guest. So quorum prevents bit
corruption.
For high availability purpose minority errors are reported via QMP but
the guest
does not see them.
This patch creates the driver C source file and introduces the structures
that
will be used in asynchronous reads and writes.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 64757582dafca9b0b3846677e368dd40bcd68b43
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 21:05:13 2014 +0100
check-qdict: Test termination of qdict_array_split()
qdict_array_split() should terminate if it encounters both an entry with
a key of "%u" and entries with keys prefixed "%u." for the same index.
This patch adds a test for this case.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7841c768846dcfa5a162ff46a8e98429aa0d2238
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 19:11:41 2014 +0100
check-qdict: Adjust test for qdict_array_split()
Test the new functionality of qdict_array_split(), that is, splitting
off single objects.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bae3f92a016b8eddc0d5806c24baea3ecedac0a0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 19:11:40 2014 +0100
qdict: Extract non-QDicts in qdict_array_split()
Currently, qdict_array_split() only splits off entries with a key prefix
of "%u.", packing them into a new QDict. This patch makes it support
entries with the plain key "%u" as well, directly putting them into the
new QList without creating a QDict.
If there is both an entry with a key of "%u" and other entries with keys
prefixed "%u." (for the same index), the function simply terminates.
To do this, this patch also adds a static function which tests whether a
given QDict contains any keys with the given prefix. This is used to test
whether entries with a key prefixed "%u." do exist in the source QDict
without modifying it.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ae39c4b2015dd5ee35021d0f4212bb1304106524
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Feb 21 19:11:39 2014 +0100
qemu-config: Sections must consist of keys
In config_parse_qdict_section(), the QList returned by
qdict_array_split() is assumed to only contain QDicts. Currently, this
is true but it may (and will) change in the future. Therefore, check
whether the assumption actually holds.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a33cc31d08eb46ec2a4f214087c99e4bd4c907e9
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:08 2014 +0100
qemu-iotests: Check qemu-img command line parsing
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit a283cb6e58fca846c658360971d23fdd1129db65
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:07 2014 +0100
qemu-img: Allow -o help with incomplete argument list
This patch allows using 'qemu-img $subcmd -o help' for the create,
convert and amend subcommands, without specifying the previously
required filename arguments.
Note that it's still allowed and meaningful to specify a filename: An
invocation like 'qemu-img create -o help sheepdog:foo' will also display
options that are provided by the Sheepdog driver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 626f84f39d4ae365a44dbbc0d0dd3c7739c3971a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:06 2014 +0100
qemu-img amend: Support multiple -o options
Instead of ignoring all option values but the last one, multiple -o
options now have the same meaning as having a single option with all
settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 2dc8328b4c6aba60f4ad543186f4e8aec2e9287e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:05 2014 +0100
qemu-img convert: Support multiple -o options
Instead of ignoring all option values but the last one, multiple -o
options now have the same meaning as having a single option with all
settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 77386bf6ebe67164a2d102b207fb3bc11af8c1e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:04 2014 +0100
qemu-img create: Support multiple -o options
If you specified multiple -o options for qemu-img create, it would
silently ignore all but the last one. This patch fixes the problem.
Now multiple -o options has the same meaning as having a single option
with all settings in the order of their respective -o options.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7cc07ab8daa01f100f36ab63382d491f2d278c64
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 21 16:24:03 2014 +0100
qemu-option: has_help_option() and is_valid_option_list()
has_help_option() checks if any help option ('help' or '?') occurs
anywhere in an option string, so that things like 'cluster_size=4k,help'
are recognised.
is_valid_option_list() ensures that the option list doesn't have options
with leading commas or trailing unescaped commas.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 5b7aa9b56d1bfc79916262f380c3fc7961becb50
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:07 2014 +0100
vdi: say why an image is bad
Instead of just putting it in debugging output, we can now put the
value in an Error.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 76abe4071d111a9ca6dcc9b9689a831c39ffa718
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:06 2014 +0100
block: do not abuse EMEDIUMTYPE
Returning "Wrong medium type" for an image that does not have a valid
header is a bit weird. Improve the error by mentioning what format
was trying to open it.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 89ac8480a8c7f73dd943dcb1313d6bd984f9a870
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:05 2014 +0100
vmdk: correctly propagate errors
Now that we can return the "right" errors, use the Error** parameter
to pass them back instead of just printing them.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 37f09e5e3d206e7c555d28a7755cecfa137dad22
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:04 2014 +0100
vmdk: do not try opening a file as both image and descriptor
This prepares for propagating errors from vmdk_open_sparse and
vmdk_open_desc_file up to the caller of vmdk_open.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d1833ef52be349e41d17e9c5ddaea8bb4ad3a7fb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:03 2014 +0100
vmdk: push vmdk_read_desc up to caller
Currently, we just try reading a VMDK file as both image and descriptor.
This makes it hard to choose which of the two attempts gave the best
error.
We'll decide in advance if the file looks like an image or a descriptor,
and this patch is the first step to that end.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a8842e6d2acc815e9660cc743bd0b0daba18c935
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:02 2014 +0100
vmdk: extract vmdk_read_desc
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c0f92b526dbd45fc5b539f51b7379156814dafe9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:01 2014 +0100
vvfat: correctly propagate errors
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o driver=vvfat,fat-type=24,dir=i386-softmmu
Valid FAT types are only 12, 16 and 32
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o driver=vvfat,fat-type=24,dir=i386-softmmu
qemu-io: can't open device (null): Valid FAT types are only 12, 16
and 32
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6890aad46b14849318053fe3ace6109e0f9c5932
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:44:00 2014 +0100
vhdx: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0fea6b797202c9efea534a474220a1cf23dd1968
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:59 2014 +0100
qed: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b6d5066d32f9e6c3d7508c1af9ae78327a927120
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:58 2014 +0100
qcow: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2a94fee3f649bdd2d71c78bb56977284f096f842
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:57 2014 +0100
curl: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f8d924e48167ec14ec4556441ec7999a30ef6640
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:56 2014 +0100
cow: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a7451cb850d115f257080aff3fbc54f255ebf8f7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:55 2014 +0100
gluster: correctly propagate errors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 24897a767bd778fc6a050537d024565f9272cd06
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:54 2014 +0100
gluster: default scheme to gluster:// and host to localhost.
Currently, "gluster:///volname/img" and (using file. options)
"file.driver=gluster,file.filename=foo" will segfault. Also,
"//host/volname/img" will be rejected, but it is a valid URL
that should be accepted just fine with "file.driver=gluster".
Accept all of these, by inferring missing transport and host
as TCP and localhost respectively.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f2917853f715b0ef55df29eb2ffea29dc69ce814
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:53 2014 +0100
iscsi: correctly propagate errors in iscsi_open
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=iscsi,file.filename=foo
Failed to parse URL : foo
qemu-io-old: can't open device (null): Could not open 'foo': Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o file.driver=iscsi,file.filename=foo
qemu-io: can't open device (null): Failed to parse URL : foo
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 35cb1748d54c8e56881a5e10138b3eb090f3a6bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:52 2014 +0100
iscsi: fix indentation
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 537b41f5013e1951fa15e8f18855b18d76124ce4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:51 2014 +0100
nbd: move socket wrappers to qemu-nbd
qemu-nbd is one of the few valid users of qerror_report_err. Move
the error-reporting socket wrappers there.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c06b72781dc6dff3f1e8209b7280ff4650eb6f36
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:50 2014 +0100
nbd: inline tcp_socket_incoming_spec into sole caller
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 77e8b9ca64e85d3d309f322410964b7852ec091e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:49 2014 +0100
nbd: correctly propagate errors
Before:
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=nbd
one of path and host must be specified.
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=nbd,file.host=foo,file.path=bar
path and host may not be used at the same time.
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd
qemu-io: can't open device (null): one of path and host must be
specified.
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd,file.host=foo,file.path=bar
qemu-io: can't open device (null): path and host may not be used at
the same time.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a69d9af449e9de200abc751d8614124c7486426f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 17 14:43:48 2014 +0100
nbd: produce a better error if neither host nor port is passed
Before:
$ qemu-io-old
qemu-io-old> open -r -o file.driver=nbd
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
$ ./qemu-io-old
qemu-io-old> open -r -o file.driver=nbd,file.host=foo,file.path=bar
path and host may not be used at the same time.
qemu-io-old: can't open device (null): Could not open image: Invalid
argument
After:
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd
one of path and host must be specified.
qemu-io: can't open device (null): Could not open image: Invalid
argument
$ ./qemu-io
qemu-io> open -r -o file.driver=nbd,file.host=foo,file.path=bar
path and host may not be used at the same time.
qemu-io: can't open device (null): Could not open image: Invalid
argument
Next patch will fix the error propagation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f7d9fd8c7270de25b1e0d0a462b6958b53aa31b2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:12 2014 +0100
block: Remove bdrv_open_image()'s force_raw option
This option is now unnecessary since specifying BDRV_O_PROTOCOL as flag
will do exactly the same.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5acd9d81e1a59e1929aa3a06571f3fda1101c3a2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:11 2014 +0100
block: Reuse success path from bdrv_open()
The fail and success paths of bdrv_file_open() may be further shortened
by reusing code already existent in bdrv_open(). This includes
bdrv_file_open() not taking the reference to options which allows the
removal of QDECREF(options) in that function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5469a2a688b47bc6d8d224c3f1b02cd96b0e4b65
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:10 2014 +0100
block: Handle bs->options in bdrv_open() only
The fail paths of bdrv_file_open() and bdrv_open() naturally exhibit
similarities, thus it is possible to reuse the one from bdrv_open() and
shorten the one in bdrv_file_open() accordingly.
Also, setting bs->options in bdrv_file_open() is not necessary if it is
already done in bdrv_open().
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d4446eae630a363403ec73182cf371deeed4e172
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:09 2014 +0100
block: Remove bdrv_new() from bdrv_file_open()
Change bdrv_file_open() to take a simple pointer to an already existing
BDS instead of an indirect one. The BDS will be created in bdrv_open()
if necessary.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5d12aa63c77b4ee502da9b87de79bf2a9c225ee4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:08 2014 +0100
block: Reuse reference handling from bdrv_open()
Remove the reference parameter and the related handling code from
bdrv_file_open(), since it exists in bdrv_open() now as well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2e40134bfdbb073512f9f264cb96162787ec62b1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:07 2014 +0100
block: Make bdrv_file_open() static
Add the bdrv_open() option BDRV_O_PROTOCOL which results in passing the
call to bdrv_file_open(). Additionally, make bdrv_file_open() static and
therefore bdrv_open() the only way to call it.
Consequently, all existing calls to bdrv_file_open() have to be adjusted
to use bdrv_open() with the BDRV_O_PROTOCOL flag instead.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ddf5636dc9e4be894f2ab4a5f803d915478b5099
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:06 2014 +0100
block: Add reference parameter to bdrv_open()
Allow bdrv_open() to handle references to existing block devices just as
bdrv_file_open() is already capable of.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f67503e5bd8997ea7ec3f4bfa0af0e06321771a6
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Feb 18 18:33:05 2014 +0100
block: Change BDS parameter of bdrv_open() to **
Make bdrv_open() take a pointer to a BDS pointer, similarly to
bdrv_file_open(). If a pointer to a NULL pointer is given, bdrv_open()
will create a new BDS with an empty name; if the BDS pointer is not
NULL, that existing BDS will be reused (in the same way as bdrv_open()
already did).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e6dc8a1f83835054fcaf1dcb41af7c868688c068
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Feb 4 11:45:31 2014 +0100
block: Fix bdrv_is_first_non_filter()
Consider top level BlockDriverStates as well.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Tested-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit a71835a0ccff168b19ffc9656fe27988821ec59a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 14:38:33 2014 +0100
qcow2: Set zero flag for discarded clusters
Instead of making the backing file contents visible again after a discard
request, set the zero flag if possible (i.e. on version >= 3).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 105a060188dc6fdd4551571a966514d1a5f6815a
Merge: 3e890c7 2ea5a2c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 15:04:57 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140220' into staging
target-arm queue:
* Fix a bug causing an assertion in the NVIC on ARMv7M models
* More A64 Neon instructions
* Refactor cpreg API to separate out access check functions, as
groundwork for AArch64 system mode
* Fix bug in linux-user A64 store-exclusive of XZR
# gpg: Signature made Thu 20 Feb 2014 11:12:57 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140220: (30 commits)
linux-user: AArch64: Fix exclusive store of the zero register
target-arm: A64: Implement unprivileged load/store
target-arm: A64: Implement narrowing three-reg-diff operations
target-arm: A64: Implement the wide 3-reg-different operations
target-arm: A64: Add most remaining three-reg-diff widening ops
target-arm: A64: Add opcode comments to disas_simd_three_reg_diff
target-arm: A64: Implement store-exclusive for system mode
target-arm: Fix incorrect type for value argument to write_raw_cp_reg
target-arm: Remove failure status return from read/write_raw_cp_reg
target-arm: Remove unnecessary code now read/write fns can't fail
target-arm: Drop success/fail return from cpreg read and write functions
target-arm: Convert miscellaneous reginfo structs to accessfn
target-arm: Convert generic timer reginfo to accessfn
target-arm: Convert performance monitor reginfo to accessfn
target-arm: Split cpreg access checks out from read/write functions
target-arm: Stop underdecoding ARM946 PRBS registers
target-arm: Log bad system register accesses with LOG_UNIMP
target-arm: Remove unused ARMCPUState sr substruct
target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
target-arm: Define names for SCTLR bits
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3e890c77cf038d8c2de66ed7996fe77a6f94787c
Merge: 7a87a7b b15d422
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:54:04 2014 +0000
Merge remote-tracking branch
'remotes/stefanha/tags/qtest-monitor-process-pull-request' into staging
qtest resource cleanup pull request
# gpg: Signature made Wed 19 Feb 2014 14:46:34 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/qtest-monitor-process-pull-request:
qtest: kill QEMU process on g_assert() failure
qtest: make QEMU our direct child process
qtest: drop unused child_pid field
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7a87a7b3e4213f7b020e434b14f8890d41b93fb7
Merge: e607784 94783de
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:38:23 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request'
into staging
Tracing pull request
# gpg: Signature made Wed 19 Feb 2014 15:42:20 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/tracing-pull-request:
trace-events: Fix typo in "offset"
Add ust generated files to .gitignore
Update documentation for LTTng ust tracing
Adapt Makefiles to the new LTTng ust interface
Modified the tracetool framework for LTTng 2.x
Fix configure script for LTTng 2.x
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e607784fedbf235599dc9a7ed96b624f6ecd1dd5
Merge: 9bd9d5e 6d093a4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 14:31:05 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into
staging
This fixes a target-i386 emulation regression
# gpg: Signature made Wed 19 Feb 2014 15:42:12 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-upstream:
target-i386: Fix I/O bitmap checks for in/out
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9bd9d5e3573ea0465b8eb5700e867674054d27f3
Merge: 774d566 69d4c70
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 21 11:47:28 2014 +0000
Merge remote-tracking branch 'remotes/riku/linux-user-for-upstream' into
staging
* remotes/riku/linux-user-for-upstream:
linux-user: Fix error handling in target_to_host_semarray()
linux-user: Implement BLKPG ioctl
linux-user: Fix error handling in lock_iovec()
linux-user/signal.c: Don't pass sigaction uninitialised sa_flags
linux-user/elfload.c: Avoid calling g_free() on uninitialized data
linux-user: sync syscall numbers upto 3.13
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 774d566cdbebb916af9760dac629aa7c1adf9d3d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 19:42:53 2014 +0000
tcg/i386: Fix build for systems without working cpuid.h (MacOSX, Win32)
Win32 doesn't have a cpuid.h, and MacOSX may have one but without
the __cpuid() function we use, which means that commit 9d2eec20
broke the build for those platforms. Fix this by tightening up
our configure cpuid.h check to test that the functions we need
are present, and adding some missing #ifdef guards in
tcg/i386/tcg-target.c.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 521f438e36b0265d66862e9cd35e4db82686ca9f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Jan 27 15:18:09 2014 +0100
KVM: Use return value for error print
Commit 94ccff13 introduced a more verbose failure message and retry
operations on KVM VM creation. However, it ended up using a variable
for its failure message that hasn't been initialized yet.
Fix it to use the value it meant to set.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 58da5b1e01a586eb5a52ba3eec342d6828269839
Author: Olaf Hering <olaf@xxxxxxxxx>
Date: Thu Feb 20 17:57:13 2014 +0000
xen_disk: fix io accounting
bdrv_acct_done was called unconditional. But in case the ioreq has no
segments there is no matching bdrv_acct_start call. This could lead to
bogus accounting values.
Found by code inspection.
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 15e8159e7613ec0b1418879acc916d1412c02a28
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Thu Feb 20 17:28:08 2014 +0000
Call pci_piix3_xen_ide_unplug from unplug_disks
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2ca92bb993991d6dcb8f68751aca9fc2ec2b8867
Merge: 3d2bb5c d6bb65f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 15:25:05 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-3' into staging
- xhci improvements and fixes.
- uhci bugfix.
- cleanups.
# gpg: Signature made Tue 18 Feb 2014 15:48:10 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-usb-3:
xhci: use DPRINTF() instead of fprintf(stderr, ...)
xhci: switch debug printf to tracepoint
xhci iso: allow for some latency
xhci iso: fix time calculation
uhci: invalidate queue on device address changes
xhci: fix overflow in usb_xhci_post_load
usb: Remove magic constants from device bmAttributes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3d2bb5cc81ca52dcff854172625a3bb33987495c
Merge: 61e8a92 6399ab3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 15:02:06 2014 +0000
Merge remote-tracking branch 'remotes/rth/tcg-next' into staging
* remotes/rth/tcg-next:
tcg/i386: Use SHLX/SHRX/SARX instructions
tcg/i386: Use ANDN instruction
tcg/i386: Add tcg_out_vex_modrm
tcg/i386: Move TCG_CT_CONST_* to tcg-target.c
disas/i386: Disassemble ANDN/SHLX/SHRX/SHAX
tcg/optimize: Add more identity simplifications
tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0
tcg/optimize: Simply some logical ops to NOT
tcg/optimize: Handle known-zeros masks for ANDC
tcg/optimize: add known-zero bits compute for load ops
tcg/optimize: improve known-zero bits for 32-bit ops
tcg/optimize: fix known-zero bits optimization
tcg/optimize: fix known-zero bits for right shift ops
tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].
TCG: Fix 32-bit host allocation typo
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 61e8a923646903d76a6d952019716b417d42eedc
Merge: 4c0c9bb 91f32b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 13:05:47 2014 +0000
Merge remote-tracking branch
'remotes/afaerber/tags/qom-devices-for-peter' into staging
QOM infrastructure fixes and device conversions
* QTest cleanups and test cases for PCI NICs
* NAND fix for "info qtree"
* Cleanup and extension of QOM machine tests
* IndustryPack test cases and conversion to QOM realize
* I2C cleanups
* Cleanups of legacy qdev properties
# gpg: Signature made Mon 17 Feb 2014 22:15:37 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/qom-devices-for-peter: (49 commits)
qtest: Include system headers before user headers
qapi: Refine human printing of sizes
qdev: Use QAPI type names for properties
qdev: Add enum property types to QAPI schema
block: Handle "rechs" and "large" translation options
qdev: Remove hex8/32/64 property types
qdev: Remove most legacy printers
qdev: Use human mode in "info qtree"
qapi: Add human mode to StringOutputVisitor
qdev: Inline qdev_prop_parse()
qdev: Legacy properties are just strings
qdev: Legacy properties are now read-only
qdev: Remove legacy parsers for hex8/32/64
qdev: Sizes are now parsed by StringInputVisitor
qapi: Add size parser to StringInputVisitor
qtest: Don't segfault with invalid -qtest option
ipack: Move IndustryPack out of hw/char/
ipoctal232: QOM parent field cleanup
ipack: QOM parent field cleanup for IPackDevice
ipack: QOM parent field cleanup for IPackBus
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f966f9ddd175bdf82f12650c3b7b5a93cc421d88
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Apr 30 11:44:16 2013 +0200
build: softmmu targets do not have a "main.o" file
Thus this rule is useless.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 66518bf668f09eaab14c174bc975f85480e2371f
Author: Don Slutz <dslutz@xxxxxxxxxxx>
Date: Thu Jan 2 21:12:46 2014 -0500
configure: Disable libtool if -fPIE does not work with it (bug #1257099)
Adjust TMPO and added TMPB, TMPL, and TMPA. libtool needs the names
to be fixed (TMPB).
Add new functions do_libtool and libtool_prog.
Add check for broken gcc and libtool.
Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d3399d7cf8a6cd751519d3979592d888bbab697a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:49:00 2014 +0800
block: convert block drivers linked with libs to modules
The converted block drivers are:
curl
iscsi
rbd
ssh
glusterfs
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cc47569881d56ab11bd33b6fbaf60aeedb25e8a9
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:59 2014 +0800
Makefile: introduce common-obj-m and block-obj-m for DSO
$(common-obj-m) will include $(block-obj-m), like $(common-obj-y) does
for $(block-obj-y).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3be6f0ecc7e2c8e47ae7a49d523c50bc1bdf621
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:58 2014 +0800
Makefile: install modules with "make install"
Install all the modules to ${MODDIR}.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e26110cfc67d48331a76e9b1e6f7fed7569e1ab3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:57 2014 +0800
module: implement module loading
This patch adds loading, stamp checking and initialization of modules.
The init function of dynamic module is no longer directly called as
__attribute__((constructor)) in static linked version, it is called
only after passed the checking of presense of stamp symbol:
qemu_stamp_$RELEASEHASH
where $RELEASEHASH is generated by hashing version strings and content
of configure script.
With this, modules built from a different tree/version/configure will
not be loaded.
The module loading code requires gmodule-2.0.
Modules are searched under
- CONFIG_MODDIR
- executable folder (to allow running qemu-{img,io} in the build
directory)
- ../ of executable folder (to allow running system emulator in the
build directory)
Modules are linked under their subdir respectively, then copied to top
level of build directory for above convinience, e.g.:
$(BUILD_DIR)/block/curl.so -> $(BUILD_DIR)/block-curl.so
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 17969268f5938ae1d7f3dedbd73e507badb6146d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:56 2014 +0800
rules.mak: introduce DSO rules
Add necessary rules and flags for shared object generation.
The new rules introduced here are:
1) %.o in $(common-obj-m) is compiled to %.o, then linked to %.so.
2) %.mo in $(common-obj-m) is the placeholder for %.so for pattern
matching in Makefile. It's linked to "-shared" with all its dependencies
(multiple *.o) as input. Which means the list of depended objects must
be specified in each sub-Makefile.objs:
foo.mo-objs := bar.o baz.o qux.o
in the same style with foo.o-cflags and foo.o-libs. The objects here
will be prefixed with "$(obj)/" if it's a subdirectory Makefile.objs.
3) For all files ending up in %.so, the following is added automatically:
foo.o-cflags += -fPIC -DBUILD_DSO
Also introduce --enable-modules in configure, the option will enable
support of shared object build. Otherwise objects are static linked to
executables.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 13b6ce0ec98dc0d757d5c9b50f3ce349d7af43bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Feb 10 14:48:55 2014 +0800
darwin: do not use -mdynamic-no-pic
While -mdynamic-no-pic can speed up the code somewhat, it is only used
on the legacy PowerPC Mac OS X, and I am not sure if anyone is still
testing that. Disabling PIC can cause problems when enabling modules,
so do not do that.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 6ebc91e5d0f408371460ab4329dc6de7f93306ac
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:54 2014 +0800
block: use per-object cflags and libs
No longer adds flags and libs for them to global variables, instead
create config-host.mak variables like FOO_CFLAGS and FOO_LIBS, which is
used as per object cflags and libs.
This removes unwanted dependencies from libcacard.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
[Split from Fam's patch to enable modules. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5c0d52bcd3aada33e274ea7dad75955f98bc2636
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:53 2014 +0800
rules.mak: allow per object cflags and libs
Adds extract-libs in LINK to expand any "per object libs", the syntax to
define
such a libs options is like:
foo.o-libs := $(CURL_LIBS)
in block/Makefile.objs.
Similarly,
foo.o-cflags := $(FOO_CFLAGS)
is also supported.
"foo.o" must be listed in a nested var (e.g. common-obj-y) to make the
option variables effective.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ba1183da9a10b94611cad88c44a5c6df005f9b55
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:52 2014 +0800
rules.mak: fix $(obj) to a real relative path
Makefile.target includes rule.mak and unnested common-obj-y, then prefix
them with '../', this will ignore object specific QEMU_CFLAGS in subdir
Makefile.objs:
$(obj)/curl.o: QEMU_CFLAGS += $(CURL_CFLAGS)
Because $(obj) here is './block', instead of '../block'. This doesn't
hurt compiling because we basically build all .o from top Makefile,
before entering Makefile.target, but it will affact arriving per-object
libs support.
The starting point of $(obj) is passed in as argument of unnest-vars, as
well as nested variables, so that different Makefiles can pass in a
right value.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 10f5bff622cad71645e22c027b77ac31e51008ef
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 14:48:51 2014 +0800
util: Split out exec_dir from os_find_datadir
With this change, main() calls qemu_init_exec_dir and uses argv[0] to
init exec_dir. The saved value can be retrieved with
qemu_get_exec_dir later. It will be reused by module loading.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4c0c9bbe78901a706497a8fa1a27935bafc20cf7
Merge: 46eef33 1094fd3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 12:04:02 2014 +0000
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp:
monitor: Add object_add class argument completion.
monitor: Add object_del id argument completion.
monitor: Add device_add device argument completion.
monitor: Add device_del id argument completion.
qmp: expose list of supported character device backends
Use error_is_set() only when necessary
QMP: allow JSON dict arguments in qmp-shell
hmp: migrate command (without -d) now blocks correctly
Conflicts:
blockdev.c
[PMM: resolved trivial conflict in blockdev.c]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2ea5a2ca1f1dc302652d2ad5035e0b209ccaa177
Author: Janne Grunau <j@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
linux-user: AArch64: Fix exclusive store of the zero register
Signed-off-by: Janne Grunau <j@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 60510aed69f69bfd44bf6e58c571dbba8b1b43a0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
target-arm: A64: Implement unprivileged load/store
Implement the unprivileged load and store instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e4b998d47df70450f5aafc0fd7b3d56fa4920369
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
target-arm: A64: Implement narrowing three-reg-diff operations
Implement the narrowing three-reg-diff operations: ADDHN,
RADDHN, SUBHN and RSUBHN.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dfc15c7cebaa467de7ada96d2688d4f5f4d3e532
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:56 2014 +0000
target-arm: A64: Implement the wide 3-reg-different operations
Implement the wide three-reg-different operations:
SADDW, UADDW, SSUBW and USUBW.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 70d7f984a0a9e03c1327487aed9877a4eca0e709
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:55 2014 +0000
target-arm: A64: Add most remaining three-reg-diff widening ops
Add the remainder of the 64x64->128 operations in the three-reg-diff
category except for PMULL, PMULL2.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 13caf1fd2bdc4d8799098d73001caf7d8924073e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:55 2014 +0000
target-arm: A64: Add opcode comments to disas_simd_three_reg_diff
The opcode switch in disas_simd_three_reg_diff() is missing the
customary comments indicating which cases correspond to which
instructions. Add them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d324b36ad93b84509aeee41f05ee17a6c5de7826
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:55 2014 +0000
target-arm: A64: Implement store-exclusive for system mode
System mode store-exclusive use a different code path to usermode ones;
implement this missing code, in a similar way to the 32 bit version.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7900e9f1f963184967594f4518c97ea682a9605f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Fix incorrect type for value argument to write_raw_cp_reg
The write_raw_cp_reg's value argument should be a uint64_t, since
that's what all its callers hand it and what all the functions it
calls take. A (harmless) typo meant we were accidentally declaring
it as int64_t.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 59a1c327d72683e80fa1b886d42a3a5c17729484
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Remove failure status return from read/write_raw_cp_reg
The read_raw_cp_reg and write_raw_cp_reg functions can now never
fail (in fact they should never have failed previously unless
there was a bug in a reginfo that meant no raw accessor was
provided for a might-trap register). This allows us to clean up
their prototypes so the write function returns void and the
read function returns the value read, which in turn lets us
simplify the callers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit ea4571eb8768c39bf6cacd64fdcb6ef405b18b18
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Remove unnecessary code now read/write fns can't fail
Now that cpreg read and write functions can't fail and throw an
exception, we can remove the code from the translator that synchronises
the guest PC in case an exception is thrown.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c4241c7d381086819131fba4fc8123848d83de8a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:54 2014 +0000
target-arm: Drop success/fail return from cpreg read and write functions
All cpreg read and write functions now return 0, so we can clean up
their prototypes:
* write functions return void
* read functions return the value rather than taking a pointer
to write the value to
This is a fairly mechanical change which makes only the bare
minimum set of changes to the callers of read and write functions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 92611c0019c38c860e6926dd2073c4448c382859
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:53 2014 +0000
target-arm: Convert miscellaneous reginfo structs to accessfn
Convert the remaining miscellaneous cases of reginfo read/write
functions returning EXCP_UDEF to use an accessfn instead:
TEEHBR, and the ATS address-translation operations.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 00108f2d4d86f41694bafe173271528f7e69b0b7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:53 2014 +0000
target-arm: Convert generic timer reginfo to accessfn
Convert the reginfo structs for the generic timer registers
to use access functions rather than returning EXCP_UDEF from
their read handlers. In some cases this allows us to remove
a read handler completely.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit fcd252062a018380e9ce14ed4d71f6d557018e2b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Convert performance monitor reginfo to accessfn
Convert the performance monitor reginfo definitions to use
an accessfn rather than returning EXCP_UDEF from read and
write functions. This also allows us to fix a couple of XXX
cases where we weren't imposing the access restrictions on
RAZ/WI or constant registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f59df3f2354982ee0381b87d1ce561f1eb0ed505
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Split cpreg access checks out from read/write functions
Several of the system registers handled via the ARMCPRegInfo
mechanism have access trap control bits controlling whether the
registers are accessible to lower privilege levels. Replace
the existing mechanism (allowing the read and write functions
to return EXCP_UDEF if access is denied) with a dedicated
"check access rights" function pointer in the ARMCPRegInfo.
This will allow us to simplify some of the register definitions,
which no longer need read/write functions purely to handle
the access checks.
We take the opportunity to define the return value from the
access checking function in a way that allows us to set the
correct exception syndrome information for exceptions taken
to AArch64 (which may need to distinguish access failures due
to a configurable trap or enable from other kinds of access
failure).
This commit defines the new mechanism but does not move any
of the registers across to use it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit e508a92b621c7160122e99d3754e568f2b8e255e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Stop underdecoding ARM946 PRBS registers
The ARM946 has 8 PRBS (protection region base and size) registers.
Currently we implement these with a CP_ANY reginfo; however this
underdecodes (since there are 16 possible values of CRm but only
8 registers) and we catch the invalid values in the read and
write functions. However this causes issues with migration since
we only migrate the first of a wildcard register set, so we only
migrate c6_region[0]. It also makes it awkward to pull reginfo
access checks out into their own function.
Avoid all these problems by just defining separate reginfo structs
for each of the 8 registers; this also lets us avoid having any
read or write functions and will result in more efficient direct
field accesses from generated code.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 626187d86b037c89367f2f94785717b75e0e4440
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:52 2014 +0000
target-arm: Log bad system register accesses with LOG_UNIMP
Log guest attempts to access unimplemented system registers via
the LOG_UNIMP reporting mechanism (for both the 32 bit and 64 bit
instruction sets). This is particularly useful for debugging
problems where the guest is trying to use a system register that
QEMU doesn't implement.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 1456364ff0900893f81f8d06fb1b42e5c2ad8a23
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:51 2014 +0000
target-arm: Remove unused ARMCPUState sr substruct
Remove the 'struct sr' from ARMCPUState -- it isn't actually used and is
a hangover from the original separate system register implementation used
by the SuSE linux-user-mode-only AArch64 target.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 99f678a679857d83b9709127b0f047551d7e3c45
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:51 2014 +0000
target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
The SCTLR bits S and R (8 and 9) only exist in ARMv6 and earlier.
In ARMv7 these bits RAZ, and in ARMv8 they are reassigned. Guard
the use of them in check_ap() so that we don't get incorrect results
for ARMv8 CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 76e3e1bcaefe0da394f328854cb72f9449f23732
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:51 2014 +0000
target-arm: Define names for SCTLR bits
The SCTLR is full of bits for enabling or disabling various things, and so
there are many places in the code which check if certain bits are set.
Define some named constants for the SCTLR bits so these checks are easier
to read.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 83e9a4aec9ffcbcb86ca9d39d2c5aae8176411fb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
target-arm/kvm-consts.h: Define QEMU constants for known KVM CPUs
Extend the set of CPUs for which we provide a QEMU_KVM_ARM_TARGET_*
constant to include all the ones currently supported by the kernel
headers we are using.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 057d5f62f822c4789ca0af9c9e9b42322679c793
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
target-arm: A64: Implement remaining 3-same instructions
Implement the remaining instructions in the SIMD 3-reg-same
and scalar-3-reg-same groups: FMULX, FRECPS, FRSQRTS, FACGE,
FACGT, FMLA and FMLS.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 67d43538aee10b6cfe8f3606c69187a3e142a2ba
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
softfloat: Support halving the result of muladd operation
The ARMv8 instruction set includes a fused floating point
reciprocal square root step instruction which demands an
"(x * y + z) / 2" fused operation. Support this by adding
a flag to the softfloat muladd operations which requests
that the result is halved before rounding.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit bc242f9bb6324a50e7572c0997904b66b630f73a
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Thu Feb 20 10:35:50 2014 +0000
target-arm: A64: Implement floating point pairwise insns
Add support for the floating-point pairwise operations
FADDP, FMAXP, FMAXNMP, FMINP and FMINNMP. To do this we use the
code which was previously handling only integer pairwise operations,
and push the integer-specific decode and handling of unallocated
cases up one level in the call tree, so we can also call it from
the floating-point section of the decoder.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8908f4d1850dbfd0de442e8deaed2f41821cdb89
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement SIMD FP compare and set insns
This adds all forms of the SIMD floating point and set instructions:
FCM(GT|GE|EQ|LE|LT)
Most of the heavy lifting is done by either the existing neon helpers or
some new helpers for the 64bit double cases. Most of the code paths are
common although the 2misc versions are a little special as they compare
against zero.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
[PMM: fixed some minor bugs, added the 2-misc-scalar encoding]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b033cd3d0021bee24931d0118fbd34e8c8d8b5af
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement scalar three different instructions
Implement the scalar three different instruction group:
it only has three instructions in it.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9f82e0ff4b21b3fce86115597e92b01fba448635
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement SIMD scalar indexed instructions
Implement the SIMD scalar indexed instructions. The encoding
here is nearly identical to the vector indexed grouping, so
we combine the two.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c44ad1fddcf5a3deea3fb5cc340935bb11ccfb8e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:49 2014 +0000
target-arm: A64: Implement long vector x indexed insns
Implement the 'long' operations in the vector x indexed
element category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f5e51e7f10d6dbbeac268a7defc89831c62eff12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:48 2014 +0000
target-arm: A64: Implement plain vector SIMD indexed element insns
Implement all the SIMD vector x indexed element instructions
in the subcategory which are not 'long' ops.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 873169022aa58daabd10979002f8009c7e5f3f05
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 20 10:35:48 2014 +0000
hw/intc/arm_gic: Fix NVIC assertion failure
Commit 40d225009ef accidentally changed the behaviour of
gic_acknowledge_irq() for the NVIC. The NVIC doesn't have SGIs,
so this meant we hit an assertion:
gic_acknowledge_irq: Assertion `s->sgi_pending[irq][cpu] != 0' failed.
Return NVIC acknowledge-irq to its previous behaviour, like 11MPCore.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 6d093a4f499fd945b39bd55b307dd9192dc99ead
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 24 10:57:41 2014 +0100
target-i386: Fix I/O bitmap checks for in/out
Commit 1b90d56e changed the implementation of in/out imm to not assign
the accessed port number to cpu_T[0] as it appeared unnecessary.
However, currently gen_check_io() makes use of cpu_T[0] to implement the
I/O bitmap checks, so it's in fact still used and the change broke the
check, leading to #GP in legitimate cases (and probably also allowing
access to ports that shouldn't be allowed).
This patch reintroduces the missing assignment for these cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b15d422a23a3e4cf1b4195af209211eccdb88d51
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 17 16:33:35 2014 +0100
qtest: kill QEMU process on g_assert() failure
The QEMU process stays running if the test case fails. This patch fixes
the leak by installing a SIGABRT signal handler which invokes
qtest_end().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cef60c925c41563721dc73b1ace7b2f399f72a5b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 17 14:54:17 2014 +0100
qtest: make QEMU our direct child process
qtest_init() cannot use exec*p() to launch QEMU since the exec*p()
functions take an argument array while qtest_init() takes char
*extra_args. Therefore we execute /bin/sh -c <command-line> and let the
shell parse the argument string.
This left /bin/sh as our child process and our child's child was QEMU.
We still want QEMU's pid so the -pidfile option was used to let QEMU
report its pid.
The pidfile needs to be unlinked when the test case exits or fails. In
other words, the pidfile creates a new problem for us!
Simplify all this using the shell 'exec' command. It allows us to
replace the /bin/sh process with QEMU. Then we no longer need to use
-pidfile because we already know our fork child's pid.
Note: Yes, it seems silly to exec /bin/sh when we could just exec QEMU
directly. But remember qtest_init() takes a single char *extra_args
command-line fragment instead of a real argv[] array, so we need
/bin/sh's argument parsing behavior.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 98f9e35befe5c11e3da448cbe015969ed91730a4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Feb 17 14:45:55 2014 +0100
qtest: drop unused child_pid field
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
commit 69d4c703a549f0630793a67b16a8fc6bc14c8654
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:34 2014 +0000
linux-user: Fix error handling in target_to_host_semarray()
Fix two issues in error handling in target_to_host_semarray():
* don't leak the host_array buffer if lock_user fails
* return an error if malloc() fails
v2: added missing * -Riku Voipio
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit fff8c539bd69dce14c63827111e9d74e6b961317
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Jan 18 07:38:30 2014 +0100
linux-user: Implement BLKPG ioctl
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 94783de6fe746f86a357bc4e3e6759f7f8ad3b39
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Feb 17 10:03:17 2014 +0100
trace-events: Fix typo in "offset"
s/offet/offset/
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d59fd998f956d673bda9cea78a106ebcc5ad78f
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:58 2014 -0500
Add ust generated files to .gitignore
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ef3ef4a0408743f3d562cda413e00afb7b782d6b
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:57 2014 -0500
Update documentation for LTTng ust tracing
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e6bf23f82d2d907dc99cf2581b4852417843a42d
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:56 2014 -0500
Adapt Makefiles to the new LTTng ust interface
Add generation of new files for LTTng ust.
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9530570fa5f86a52e31c92b26578a973b439d493
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:55 2014 -0500
Modified the tracetool framework for LTTng 2.x
* A new format is required to generate definitions for ust tracepoints.
Files ust_events_h.py and ust_events_c.py define common macros, while
new function ust_events_h in events.py does the actual definition of
each tracepoint.
* ust.py generates the new interface for calling userspace tracepoints
with LTTng 2.x, replacing trace_name(args) to tracepoint(name, args).
* As explained in ust_events_c.py, -Wredundant-decls gives a warning
when compiling with gcc 4.7 or older. This is specific to lttng-ust so
for now use a pragma clause to avoid getting a warning.
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Reviewed-by: Alex Bennée <alex@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf15f63cad5c909890be6656743979c7a46ab56d
Author: Mohamad Gebai <mohamad.gebai@xxxxxxxxx>
Date: Wed Jan 29 22:47:54 2014 -0500
Fix configure script for LTTng 2.x
Signed-off-by: Mohamad Gebai <mohamad.gebai@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 501bb4b0cb1debf2b495f0ba3980b97ceca652f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:33 2014 +0000
linux-user: Fix error handling in lock_iovec()
In lock_iovec() if lock_user() failed we were doing an unlock_user
but not a free(vec), which is the wrong way round. We were also
assuming that free() and unlock_user() don't touch errno, which
is not guaranteed. Fix both these problems.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 3a5d30bf272c8db8e16e1e7ad5b8953f08df3e82
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:32 2014 +0000
linux-user/signal.c: Don't pass sigaction uninitialised sa_flags
When forcing a fatal signal, we weren't initialising the sa_flags
field in the struct sigaction we used to reset the signal handler
to SIG_DFL.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 6afafa86f3446f5e6dd410cc2c442e98adabc26c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 17 18:55:31 2014 +0000
linux-user/elfload.c: Avoid calling g_free() on uninitialized data
Avoid calling g_free() on unintialized data in the error-handling
paths in elf_core_dump() by splitting the initialization of the
elf_note_info struct out of fill_note_info() so that it's always
valid to call free_note_info() whether we got to the point of
being able to fill_note_info() or not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 4fc4732047bf475f70b14c83053d7c6b22cb9d2f
Author: Riku Voipio <riku.voipio@xxxxxxxxxx>
Date: Mon Jan 13 14:04:20 2014 +0200
linux-user: sync syscall numbers upto 3.13
All others updated except unicore, which doesn't look right to
begin with.
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit d6bb65fcd24c8cb8c37ffe324c360f3b0c94b902
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 13:13:21 2014 +0100
xhci: use DPRINTF() instead of fprintf(stderr, ...)
So we don't spam stderr with (guest-triggerable) messages by default.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4f9cc7342281bfbbc1bfccc155c59551c06d63db
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 13:06:38 2014 +0100
xhci: switch debug printf to tracepoint
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc03ff9d0a147a399a11c9f513afa5e06ceee453
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 12:06:55 2014 +0100
xhci iso: allow for some latency
Allow the scheduled transfer time be a bit behind, to
compensate for latencies. Without this xhci will wait
way to often for the mfindex wraparound, assuming the
scheduled time is in the future just because qemu is
a bit behind in processing the iso transfer requests.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 786ad214c72226fa5bd4ebf18aeb4c6b54d3ba80
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Feb 6 12:03:59 2014 +0100
xhci iso: fix time calculation
Frameid specifies frames not microframes, so we
need to shift it to get the microframe index.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c348e481759057c925cce4bf54336f1518b8c702
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Feb 5 14:54:14 2014 +0100
uhci: invalidate queue on device address changes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f6969b9fef543da1ffa975d24f4d7b75dc369b03
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Jan 29 17:03:10 2014 +0100
xhci: fix overflow in usb_xhci_post_load
Found by Coverity.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit bd93976a1ad9cca9636da66dfde98a41e573130c
Author: Pantelis Koukousoulas <pktoss@xxxxxxxxx>
Date: Mon Dec 16 09:42:49 2013 +0200
usb: Remove magic constants from device bmAttributes
Replace magic constants in device bmAttributes with symbolic ones
from Linux kernel ch9.h
Signed-off-by: Pantelis Koukousoulas <pktoss@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 91f32b0c92fb18a403e48d3c8ffc14422a0c1ca5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Sat Feb 8 11:41:07 2014 +0100
qtest: Include system headers before user headers
It is dangerous to include user headers before system headers since user
macros can affect system headers.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1094fd3a6219923c8d1abfc7dee5af996a181e7a
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:13 2014 +0100
monitor: Add object_add class argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b48fa074b565131bd0782d122d54c001acfed86f
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:12 2014 +0100
monitor: Add object_del id argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 992d3e64c89bd2af1ae005080636e8da43c1b500
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:11 2014 +0100
monitor: Add device_add device argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fca72d9b4994343dd1e48d9bb9f45914f4429cfb
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Feb 6 23:30:10 2014 +0100
monitor: Add device_del id argument completion.
Signed-off-by: Hani Benhabiles <hani@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 77d1c3c63fb18c3675d8c80262bbd172f646556a
Author: Martin Kletzander <mkletzan@xxxxxxxxxx>
Date: Sat Feb 1 12:52:42 2014 +0100
qmp: expose list of supported character device backends
Introduce 'query-chardev-backends' QMP command which lists all
supported character device backends.
Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 84d18f065fb041a1c0d78d20320d740ae0673c8a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 30 15:07:28 2014 +0100
Use error_is_set() only when necessary
error_is_set(&var) is the same as var != NULL, but it takes
whole-program analysis to figure that out. Unnecessarily hard for
optimizers, static checkers, and human readers. Dumb it down to
obvious.
Gets rid of several dozen Coverity false positives.
Note that the obvious form is already used in many places.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ff9ec34de8f6a37bd29ac72c0c4c94bd5d43d7b0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jan 29 12:17:31 2014 +0100
QMP: allow JSON dict arguments in qmp-shell
qmp-shell hides the QMP wire protocol JSON encoding from the user. Most
of the time this is helpful and makes the command-line human-friendly.
Some QMP commands take a dict as an argument. In order to express this
we need to revert back to JSON notation.
This patch allows JSON dict arguments in qmp-shell so commands like
blockdev-add and nbd-server-start can be invoked:
(QEMU) blockdev-add options={"driver":"file","id":"drive1",...}
Note that spaces are not allowed since str.split() is used to break up
the command-line arguments first.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dde3a2184074f5c4279fd7fbfc597b5dc5859fb8
Author: Soramichi AKIYAMA <akiyama@xxxxxxxxx>
Date: Mon Jan 27 19:46:11 2014 +0900
hmp: migrate command (without -d) now blocks correctly
This patch fixes a timing issue that migrate command (without -d) does not
block in some cases.
The original version of hmp.c:hmp_migrate_status_cb checks if the
migration status is 'active' or not to detect the completion of a
migration.
However, if this function is executed when the migration status is stil
'setup' (the status before 'active'), migration command returns
immediately even if the user does not specify -d option.
Signed-off-by: Soramichi Akiyama <akiyama@xxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6399ab3325b7d4f77441c8a00fa9dae98bb0ac43
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 11:39:49 2014 -0800
tcg/i386: Use SHLX/SHRX/SARX instructions
These three-operand shift instructions do not require the shift count
to be placed into ECX. This reduces the number of mov insns required,
with the mere addition of a new register constraint.
Don't attempt to get rid of the matching constraint, as that's impossible
to manipulate with just a new constraint. In addition, constant shifts
still need the matching constraint.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9d2eec202fad72ce05ee8d54dc5a6fb6dcb87776
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 27 21:49:17 2014 -0800
tcg/i386: Use ANDN instruction
Note that the optimizer cannot simplify ANDC X,Y,C to AND X,Y,~C
so we must handle constants in the implementation of andc.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ecc7e84327c1c8e9b006edfaa5d0e3baf35a3f99
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 27 21:19:40 2014 -0800
tcg/i386: Add tcg_out_vex_modrm
Prepare for emitting BMI insns which require VEX encoding.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a1b29c9ae06abe7ded354eb70767e34dc035db72
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jan 27 13:02:31 2014 -0800
tcg/i386: Move TCG_CT_CONST_* to tcg-target.c
These are not needed by users of tcg-target.h. No need to recompile
when we adjust them.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 189f792dc5dd744c5f5d2333a7c52784e108974e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 16:39:36 2014 -0800
disas/i386: Disassemble ANDN/SHLX/SHRX/SHAX
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 464a1441c138b4f29cff26d406298661e588235b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jan 31 07:42:11 2014 -0600
tcg/optimize: Add more identity simplifications
Recognize 0 operand to andc, and -1 operands to and, orc, eqv.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e64e958e202c563730159c52f7c9116c80ceca52
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 13:26:17 2014 -0800
tcg/optimize: Optmize ANDC X,Y,Y to MOV X,0
Like we already do for SUB and XOR.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e201b56418a5bb6afadc42df16f94880c091fad4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 13:15:38 2014 -0800
tcg/optimize: Simply some logical ops to NOT
Given, of course, an appropriate constant. These could be generated
from the "canonical" operation for inversion on the guest, or via
other optimizations.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 23ec69ed3759fe5d8374cb22795ade1305c331c4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 28 12:03:24 2014 -0800
tcg/optimize: Handle known-zeros masks for ANDC
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8d70272535b84ccd3cd1a3dcad65aed34be6bb4
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:39 2013 +0200
tcg/optimize: add known-zero bits compute for load ops
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f096dc96188378bc2bcd80683490ca386b0c1683
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:38 2013 +0200
tcg/optimize: improve known-zero bits for 32-bit ops
The shl_i32 op might set some bits of the unused 32 high bits of the
mask. Fix that by clearing the unused 32 high bits for all 32-bit ops
except load/store which operate on tl values.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3031244b01492528fd7b5e46b23eeb2124dc780a
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:38 2013 +0200
tcg/optimize: fix known-zero bits optimization
Known-zero bits optimization is a great idea that helps to generate more
optimized code. However the current implementation only works in very few
cases as the computed mask is not saved.
Fix this to make it really working.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e46b225a3137e62c975c49aaae7bb5f9583cc428
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 08:27:38 2013 +0200
tcg/optimize: fix known-zero bits for right shift ops
32-bit versions of sar and shr ops should not propagate known-zero bits
from the unused 32 high bits. For sar it could even lead to wrong code
being generated.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7a3a00979d9dfe2aaa66ce5fc68cd161b4f900ba
Author: Huw Davies <huw@xxxxxxxxxxxxxxx>
Date: Thu Feb 13 10:26:46 2014 +0000
tcg-arm: The shift count of op_rotl_i32 is in args[2] not args[1].
It's this that should be subtracted from 0x20 when converting to a right
rotate.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Huw Davies <huw@xxxxxxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 46eef33b89e936ca793e13c4aeea1414e97e8dbb
Author: Brad <brad@xxxxxxxxxxxx>
Date: Tue Dec 10 19:49:08 2013 -0500
Fix QEMU build on OpenBSD on x86 archs
This resolves the build issue with building the ROMs on OpenBSD on x86
archs.
As of OpenBSD 5.3 the compiler builds PIE binaries by default and thus the
whole OS/packages and so forth. The ROMs need to have PIE disabled.
Check in configure whether the compiler supports the flags for disabling
PIE, and if it does then use them for building the ROMs. This fixes the
following buildbot failure:
>From the OpenBSD buildbots..
Building optionrom/multiboot.img
ld: multiboot.o: relocation R_X86_64_16 can not be used when making a
shared object; recompile with -fPIC
Signed-off by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f6aa2f7dee920f6f06fefe122cf2a58cabe3cac0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jan 21 08:36:38 2014 -0800
TCG: Fix 32-bit host allocation typo
The second half register of a 64-bit temp on a 32-bit host
was allocated with the wrong base_type.
The base_type of the second half register is never checked,
but for consistency it should be the same as the first half.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0dbcf95a1ea5a5ca6222765ff8813c2cc17e8abd
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Feb 15 20:26:25 2014 +0000
libvixl: fix 64bit constants usage
Since commit 999b53ec8794f203964db3ecf939a3da5c4bc843:
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Feb 5 17:27:28 2014 +0000
disas: Implement disassembly output for A64
Use libvixl to implement disassembly output in debug
logs for A64, for use with both AArch64 hosts and targets.
disas/libvixl/ contains functions which uses 64bit constants
without using appropriate suffixes, which fails on 32bits.
Fix this by using ULL suffix.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 078a1c37cad0d11d93ff8102f7653ce6109bb62d
Merge: 44e3a39 88c1ee7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 16:36:40 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-02-15' into staging
trivial patches for 2014-02-15
# gpg: Signature made Sat 15 Feb 2014 12:10:46 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-02-15:
char/serial: Fix emptyness check
gitignore: anchor all ignored names
vl: trim includes
vl: remove old, long-unused defines
net: declare struct iovec in checksum.h to fix compiler warning
linux-user: refactor do_socketcall()
configure: add hints to a remedy for feature_not_found errors
configure: add hint of libfdt to DTC dependency not found message
sparc/leon3: Initialize stack pointer
misc: Fix case Qemu -> QEMU
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 44e3a39f30377e96f6a1f3a21f6b1c8b40b28baf
Merge: 90ce3d7 0c5e94e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 16:15:52 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 14 Feb 2014 17:26:30 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
block: Open by reference will try device then node_name.
block: Relax bdrv_lookup_bs constraints.
blockdev: Fix wrong usage of QDECREF causing snapshoted quorum to crash
on close.
block: mirror - use local_err to avoid NULL errp
qemu-iotests: Don't run 005 on vmdk split formats
block: qemu-iotests - add vhdx log replay tests for qemu-img
block: qemu-iotests - fix test 070 (vhdx)
block: Don't throw away errno via error_setg
block: Add notes to iSCSI's .bdrv_open and .bdrv_reopen_prepare
blockdev: Remove 'type' parameter from blockdev_init()
sdhci: Drop unnecessary #include
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 90ce3d76eb917d25ecec4d3cb9ad8da7576a1505
Merge: a50f98b 5631e69
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 15:20:08 2014 +0000
Merge remote-tracking branch 'remotes/jliu/or32-ld-st' into staging
* remotes/jliu/or32-ld-st:
target-openrisc: Use new qemu_ld/st opcodes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a50f98b0665289fd37720f287943e86f23b01f45
Merge: 933b19e 736d120
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 15 15:07:00 2014 +0000
Merge remote-tracking branch 'remotes/jovanovic/mips-ufrp' into staging
* remotes/jovanovic/mips-ufrp:
target-mips: add user-mode FR switch support for MIPS32r5
target-mips: add support for CP0_Config5
target-mips: add support for CP0_Config4
target-mips: add CPU definition for MIPS32R5
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 88c1ee73d3231c74ff90bcfc084a7589670ec244
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Feb 10 22:49:35 2014 -0800
char/serial: Fix emptyness check
This was guarding against a full fifo rather than an empty fifo when
popping. Fix.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5556332aba80c0579244c4458d3e35f13badd5ed
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Tue Feb 11 14:22:32 2014 +0400
gitignore: anchor all ignored names
by default, patterns/names in .gitignore are applied
recursively to all subdirectories. So any name mentioned
in .gitignore is ignored in all subdirectores. This is good
for, say. object files (*.o), but not good for particular
names which should be ignored only in one directory. For
example, qemu-img.1 file is generated in the top directory,
and it should be ignored only there, not in some subdir.
At first, this might not matter much, but we have lots of
examples already where it actually does not help at all.
For example, top-level .gitignore ignores a file/dir named
"patches" (which is very questionable by itself), but it
is applied recursively, so git also ignores, for example,
debian/patches/ which should not be ignored.
So anchor all the names where appropriate. .gitignore
should be cleaned up further, which will be addressed in
a subsequent patch.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b33276a7a8224de8f1b2adbf03eede36d63e1c33
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Feb 7 12:26:14 2014 +0400
vl: trim includes
Over time, lots of stuff moved from vl.c into separate
files. But include statements has never been cleaned,
and they continue to carry lots of anymore-unused stuff.
Remove includes which are not relevant for vl.c anymore.
Apparently there are more includes like this, because
many are included from qemu-common.h and the like, or,
for example, I don't see were we use win32-specific
stuff in vl.c (so that maybe #include <windows.h> might
be removed too).
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 24c84e687edd628084dd383ab1f1601765dbfd03
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Feb 7 12:23:05 2014 +0400
vl: remove old, long-unused defines
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 262471794d6d75435fa755eb2d6363d941743b14
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Feb 7 12:22:18 2014 +0400
net: declare struct iovec in checksum.h to fix compiler warning
The checksum calculation header exports a function that refers to
struct iov defined in iov.h. Without including the former, build
fails like this:
In file included from hw/net/fsl_etsec/rings.c:24:0:
include/net/checksum.h:51:31: error: â??struct iovecâ?? declared inside
parameter list [-Werror]
include/net/checksum.h:51:31: error: its scope is only this definition
or declaration, which is probably not what you want [-Werror]
Mention struct iovec there.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 62dc90c668fc4e17639f594b70a1001780f59a9b
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Fri Jan 17 14:23:51 2014 +0400
linux-user: refactor do_socketcall()
Refactor do_socketcall() to do argument conversion/checking first,
according to a lookup table (which call has how many args) and
by calling the right function second with ready-to-go arguments.
This ensures that all arguments are handled as abi_long, according
to socketcall prototype, and simplifies argument handling alot too.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 21684af0233df1d2b554db736e4feb774950d488
Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 12:39:10 2014 +1100
configure: add hints to a remedy for feature_not_found errors
Modify feature_not_found to accept an optional second parameter to be
printed after the generic feature not found error.
Modify most calls to feature_not_found to provide hints as to the
packages that may be missing. The few calls remaining without a remedy
are ones I couldn't work out how to remedy myself.
Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3f281822b26e4b39b2a49ac030fc6a5f184dd387
Author: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Date: Fri Jan 24 12:39:06 2014 +1100
configure: add hint of libfdt to DTC dependency not found message
Most distros package it as libfdt, and mentioning libfdt here makes it
much easier to find the package you're missing.
Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c1570e2a1fd7ff6bc8d7b0c6104bed77283f89a7
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Mon Feb 3 10:18:11 2014 +0100
sparc/leon3: Initialize stack pointer
A lot of real world LEON3 systems are shipped with the GRMON boot
loader. This boot loader initializes the stack pointer with the end of
RAM address. The application can use this to detect the RAM size of a
particular board variant.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fabien Chouteau <chouteau@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a63e5e0c0d457718a957c351c996ba9cb31d5cdd
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Feb 4 06:43:09 2014 +0100
misc: Fix case Qemu -> QEMU
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e41b509d68afb1f329c8558b6edfe2fcbac88e66
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:57 2014 +0100
qapi: Refine human printing of sizes
This fixes several bugs or shortcomings of the previous pretty-printer.
In particular:
* use PRIu64 instead of casting to long long
* the exact value is included too
* the correct unit of measure (MiB, GiB, etc.) is used. PiB and EiB
are added too.
* due to an off-by-one error, 512*2^30 was printed as 0.500MiB rather than
512MiB. floor(log2(val)) is equal to 63 - clz(val), while the code used
64.
* The desired specification is %g rather than %f, which always uses three
decimals in the current code. However %g would switch to scientific
notation when the integer part is >= 1000 (e.g. 1000*2^30). To keep the
code simple, switch to the higher power when the integer part is >= 1000;
overflow is avoided by using frexp instead of clz.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 85ca1202d1227b3a816c714db6c8e19b613172c5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:56 2014 +0100
qdev: Use QAPI type names for properties
Use "drive", "chr", etc. only for legacy_name (which shows up
in -device foo,? output).
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 104059da546c5cae03767c519013704d0baa0896
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:55 2014 +0100
qdev: Add enum property types to QAPI schema
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f31c41ff5e7d64680382e94b9ea35d52ab4ca045
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:54 2014 +0100
block: Handle "rechs" and "large" translation options
Sure, CHS translation is an obscure topic, and legacy options for
hard-disk geometries are obscure as well. But since QEMU does nothing
with it except telling the BIOS, and since there "large" and "rechs"
are listed in the enums, parsing them seems to be the bare minimum.
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c7bcc85d664b26b8b1e46416c7a730104b602e34
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:53 2014 +0100
qdev: Remove hex8/32/64 property types
Replace them with uint8/32/64.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 515f23462b10174c953fd161a37e9093b2427cff
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:52 2014 +0100
qdev: Remove most legacy printers
Their functionality is either aesthetic only (e.g. on/off vs. true/false)
or obtained by the "human mode" of StringOutputVisitor.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dae3bda422340901742e4db6b471d3084dfdc84d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:51 2014 +0100
qdev: Use human mode in "info qtree"
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0b7593e085e66c7f5ab980a1ed8ee683c36b7347
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:50 2014 +0100
qapi: Add human mode to StringOutputVisitor
This will be used by "info qtree". For numbers it prints both the
decimal and hex values. For sizes it rounds to the nearest power
of 2^10. For strings, it puts quotes around the string and separates
NULL and empty string.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 98a6528461acf7a6f321d846e6f4e77e87305965
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:49 2014 +0100
qdev: Inline qdev_prop_parse()
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7ce7ffe02750c73e4dce9fd61d25d0fd0b793a2e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:48 2014 +0100
qdev: Legacy properties are just strings
prop->info->legacy_name is still used by "-device foo,?".
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 03ff777048eda53eaf5bd95705418ae7e825ce56
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:47 2014 +0100
qdev: Legacy properties are now read-only
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9e4d9620c42649de7b6a0c5f5e1ed8fa0299b5c3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:46 2014 +0100
qdev: Remove legacy parsers for hex8/32/64
The hexNN property types have not been accepting values not prefixed
by "0x" since QEMU 1.2. Parse those values as decimals now.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7d9268647ca39561a0e9ae55717e09049377bb33
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:45 2014 +0100
qdev: Sizes are now parsed by StringInputVisitor
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a5829ccfc3f37173c0dda43f3ea0262faa19c494
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Sat Feb 8 11:01:44 2014 +0100
qapi: Add size parser to StringInputVisitor
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 23802b4fe0cf5821b72aa5bc682e38c8c91bb168
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Feb 10 09:28:02 2014 +0800
qtest: Don't segfault with invalid -qtest option
This prints an error message, instead of core dump, when "-qtest"
option value is invalid, e.g.:
$ ./x86_64-softmmu/qemu-system-x86_64 -qtest unknown
qemu-system-x86_64: Failed to initialize device for qtest:
"unknown"
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1f9c4cfda4df7c442255f9492a2408d80df1d42a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 2 00:48:40 2013 +0200
ipack: Move IndustryPack out of hw/char/
Move the header defining an IPackBus and IPackDevice base class into
a new include/ directory and move their implementation and a
PCI-IndustryPack bridge out of hw/char/ directory into a new hw/ipack/.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08c9cacf0e965562cbf5bf44067b0bd4863e250f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:51:35 2013 +0200
ipoctal232: QOM parent field cleanup
Clean up accesses to IPOctalState::dev field and rename it.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 227d32725216723ffa99f0eb43c97f933e1da5b4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:48:28 2013 +0200
ipack: QOM parent field cleanup for IPackDevice
Rename the IPackDevice::qdev field to avoid accidental use.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a21ac343d10141803483ec1097b2f1c3b3b4bd42
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:47:34 2013 +0200
ipack: QOM parent field cleanup for IPackBus
Clean up the only user of IPackBus::qbus field and rename it.
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c570902559fbc113154e545c4b0749cd4318b1d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 18:45:02 2013 +0200
ipack: Convert to QOM realize
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 371468297c8bc45d9f4b957372ed62c9314620c8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 12:24:15 2014 +0100
tests: Add ipoctal232 qtest
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 76491071b37e1d7cb2fba047cc391595b9e7b61a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 03:48:44 2014 +0100
tests: Add tpci200 qtest
Acked-by: Alberto Garcia <agarcia@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b815ec5eea4eecbe77f0c57b631fb043fd9b3d0e
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:13:37 2014 +0100
tests: Add virtio-net qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5297ea6fb811f60d44161f04bafa178d29fb11bf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Feb 9 04:01:37 2014 +0100
tests: Add ne2000 qtest
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0c5e94ee8339e1aa49020466eba232e6f7c31a0a
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Wed Feb 12 17:15:07 2014 +0100
block: Open by reference will try device then node_name.
Since we introduced node_name for named bs of the graph modify the
opening by
reference to use it as a fallback.
This patch also enforce the separation of the device id and graph node
namespaces.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dd67fa5052fecf661369540d5f104720f57900a4
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Wed Feb 12 17:15:06 2014 +0100
block: Relax bdrv_lookup_bs constraints.
The following patch will reuse bdrv_lookup_bs in order to open images by
references so the rules of usage of bdrv_lookup_bs must be relaxed a bit.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 57b6bdf37c64985cf02b8737c550d52759059c9d
Author: Benoît Canet <benoit.canet@xxxxxxxxxxx>
Date: Thu Feb 13 17:22:33 2014 +0100
blockdev: Fix wrong usage of QDECREF causing snapshoted quorum to crash
on close.
As bdrv_open() documentation states:
"The reference to the QDict belongs to the block layer
* after the call (even on failure), so if the caller intends to reuse the
* dictionary, it needs to use QINCREF() before calling bdrv_open."
the optional options dict will not be reused after bdrv_open() and should
belong to the block layer so remove the extra QDECREF(options).
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc67f4d1f9645e8e6d90aee84ca19162d661f082
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Feb 13 09:23:38 2014 -0500
block: mirror - use local_err to avoid NULL errp
When starting a block job, commit_active_start() relies on whether *errp
is set by mirror_start_job. This allows it to determine if the mirror
job start failed, so that it can clean up any changes to open flags from
the bdrv_reopen(). If errp is NULL, then it will not be able to
determine if mirror_start_job failed or not.
To avoid this, use a local Error variable, and then propagate the error
(if any) to errp.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2aa4a86f59c7093e03d2ec18c5d5f08c957d1a78
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Feb 13 10:05:31 2014 +0800
qemu-iotests: Don't run 005 on vmdk split formats
There would be too many extents that VMDK driver can't open all of them:
005 0s ... - output mismatch (see 005.out.bad)
--- 005.out 2013-12-24 09:27:27.608181030 +0800
+++ 005.out.bad 2014-02-13 10:00:15.282184557 +0800
@@ -4,10 +4,10 @@
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=5368709120000
small read
-read 4096/4096 bytes at offset 1024
-4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+qemu-io: can't open device /tmp/qemu-iotests/t.vmdk: Could not open
'/tmp/qemu-iotests/t-s1016.vmdk': Too many open files
+no file open, try 'help open'
small write
-wrote 4096/4096 bytes at offset 8192
-4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
+qemu-io: can't open device /tmp/qemu-iotests/t.vmdk: Could not open
'/tmp/qemu-iotests/t-s1016.vmdk': Too many open files
+no file open, try 'help open'
*** done
So disable the two subformats.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 18968ca1a33458f3978394499d2b70e4c32c5ad6
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Feb 12 16:30:53 2014 -0500
block: qemu-iotests - add vhdx log replay tests for qemu-img
VHDX logs can now be replayed via 'qemu-img check -r all'. Add
tests to verify that the log replay is successful when using qemu-img.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e001807847ba40d29450031377b84acd10066b61
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Feb 12 16:30:52 2014 -0500
block: qemu-iotests - fix test 070 (vhdx)
VHDX test 070 failed, due to different output from qemu-io / qemu
when opening an image read-only that contains a log file. Filter
the output, and update the expected results to match the correct
output.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 39a611a3e035e148257af314a522a6cd169c2d0e
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Feb 12 14:46:24 2014 -0500
block: Don't throw away errno via error_setg
There are a handful of places in the block layer where a failure path
has a valid -errno value, yet error_setg() is used. Those instances
should instead use error_setg_errno(), to preserve as much error
information as possible.
This patch replaces those instances with error_setg_errno(), so that
errno is passed up the stack in the error message.
Reported-By: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 92838a19c161e2fe06ebc69942d943f86c70487d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 19:18:46 2013 +0100
tests: Add eepro100 qtest
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 85f68d552bd5826d5ba86222c03ade17079a29db
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:53:28 2013 +0100
tests: Add pcnet qtest
Test PCI only for now.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 74769fe7c811b371ddd2ac1e0a4ca70addfee6ae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:43:09 2013 +0100
tests: Add rtl8139 qtest
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4a053e7f712837e5afd103282a3fcac5c2dc16a9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:37:34 2013 +0100
tests: Add vmxnet3 qtest
Note that this will emit a warning:
[vmxnet3][WR][vmxnet3_peer_has_vnet_hdr]: Peer has no virtio extension.
Task offloads will be emulated.
Reviewed-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a21baf7999f5b0b3aca72c6f6d88901151392ca7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Nov 7 18:25:10 2013 +0100
tests: Add e1000 qtest
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9fe451a08e7f232448676a3a7cea002642720a1f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:42:26 2013 +0100
i2c: Drop FROM_I2C_SLAVE() macro
We now use type-specific QOM cast macros instead.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd37dfa9e73d0b13b98f28302a751d75660050a2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:41:25 2013 +0100
twl92230: QOM'ify
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Add missing braces while at it.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 59ab56b9ad543f0290fbcc29a7fb2248b2920ef8
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:34:05 2013 +0100
ds1338: QOM'ify
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 933069eb534ad37db67eb5b550798170fccbc64c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:30:16 2013 +0100
lm832x: QOM'ify
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b8bcf811bff0a5b9fb1e8663359d3cc175d93717
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:21:57 2013 +0100
max7310: QOM'ify
Replace FROM_I2C_SLAVE() usages with QOM cast macro.
Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1be45153e416fa13cf6fcea704f26f4d3c2b7aa
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:10:23 2013 +0100
ssd0303: QOM'ify
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bc229b0f901ef94a8245fb619a138604e2a456bb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 22:04:29 2013 +0100
wm8750: QOM'ify
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a5f96db7e826ab787ca5fc283aebded5577cb6e2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 21:55:44 2013 +0100
z2: QOM'ify AER915
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename the parent field. Reuse the type constant in z2_init().
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[AF: Use TYPE_AER915 in z2_init() too]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70b51690328872e0903e0615f32f05678f6b53cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 21:51:29 2013 +0100
tosa: QOM'ify DAC
Replace usages of FROM_I2C_SLAVE() with QOM cast macro.
Rename parent field. Use type constant in tosa_tg_init().
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 96dca6b9a964b96c3ce72449333ff3bdd4ce85f7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Dec 19 21:44:53 2013 +0100
pxa2xx: QOM'ify I2C slave
Replace usages of FROM_I2C_SLAVE() and direct parent field accesses with
QOM cast macro. Rename parent field to assure we caught all. Reuse type
constant in pxa2xx_i2c_init().
Add some missing braces while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a5c828525e82dbf9f78dcc15070dd49025471afe
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 00:18:51 2013 +0200
i2c: Rename i2c_bus to I2CBus
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6749695eaaf346c1667067e17ecc9d7d64b7f61c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Feb 5 15:21:38 2014 +0100
nand: Don't use qdev_create() in nand_init()
Commit 7426aa72c36c908a7d0eae3e38568bb0a70de479 (nand: Don't inherit
from Sysbus) changed the parent type of TYPE_NAND but continued to use
qdev_create(), which handled a NULL BusState as SysBus.
Use object_new() instead, and reuse the TYPE_NAND define while at it.
Reported-by: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 3687d5325925a9d981c86437ff52f502a1c7648a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 23 16:22:59 2014 +0000
tests: Run qom-test for every architecture
Rather than requiring every new architecture to remember to add a line
to the Makefile to say that qom-test will work on it, autogenerate
the list of supported architectures by looking at the files in
default-configs (as configure does), and add qom-test to the
test list for all of them automatically.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bb6c5e3c3a460b449ddb81be2a572561121fbe7f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 10 14:31:39 2014 +0100
qom-test: Test shutdown in addition to startup
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c1904f103cbc5a7353fba8c8ca3cb16a0281392
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Jan 10 14:31:38 2014 +0100
qom-test: Run for all available machines
Get available machines via QMP instead of hardcoding a list that's
perpetually out of date.
Xen machines can work only when running under the Xen hypervisor.
Blacklist them.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5ec889b4b179fa39eb43bd3f4b078a7cae558acb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Feb 14 15:09:28 2014 +0100
tests: Fix gcov paths for relocated device sources
Commit 49ab747f668f421138d5b40d83fa279c4c5e278d moved
fdc.c, hd-geometry.c, m48t59.c, tmp105.c into hw/ subdirectories;
commit 0ddfaf7fe4c8453446730328bf348b7c6438e4f8 did for mc146818rtc.c.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 28f106afb35a86aa01e1907ef7632e015fabce02
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Feb 4 14:12:44 2014 -0500
block: Add notes to iSCSI's .bdrv_open and .bdrv_reopen_prepare
iSCSI currently does not need to do any actions to support the
current usage of bdrv_reopen(). However, it is important to note
a couple of things: 1.) A connection will not be re-established to
an iSCSI target, and 2.) If iscsi_open() is changed to parse 'flags',
then iscsi_reopen_prepare() may need to be more than a stub.
In light of the above, this commit adds comments above both of the
functions to bring attention to these facts.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee13ed1cbc5f7f848e417f587c93ca1f36d83eb0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sun Feb 9 09:52:32 2014 +0100
blockdev: Remove 'type' parameter from blockdev_init()
blockdev-add doesn't know about the device that the backend will be
attached to, this is a legacy -drive concept. Move the remaining checks
that use it to drive_init().
[Fam Zheng <famz@xxxxxxxxxx> suggested line-wrapping to 80 chars as
required by the coding standard. I have fixed this.
--Stefan]
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a838745b80ec6bcb3f78ce38aa1ccf1efc9f937
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sun Feb 9 10:02:27 2014 +0100
sdhci: Drop unnecessary #include
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 933b19ea9784de7ed2eb6e10262b9363c5c03ed7
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Feb 14 09:15:21 2014 +0100
PPC: KVM: Add missing address space to ldl_phys helper
We now have to pass an address space to our _phys helpers. During the
transition apparently the EPR exit path missed out, so let's put it there.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 292363e15c92fd37bcb424fafebc2e362b6c8f03
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 23 17:47:44 2014 +0100
target-ppc: Make ppc40x CPUs available in ppcemb
Not only 44x CPUs (BookE) but also 40x CPUs can run with 1k page size.
Move the criteria to a central inline function to avoid repetition
and #ifdef'fery. Update qom-test to no longer exempt them.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit aaab89a68ed1f0ab791cfda2061be34c102490b1
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Jan 23 16:37:55 2014 +0100
ppcemb-softmmu: Drop Mac and e500 emulation
They are still available in ppc-softmmu and ppc64-softmmu.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b3be57c358b3186b675ce4452a030fd3d9f37be0
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 20:06:47 2014 +0200
qtest: don't report signals if qtest driver enabled
qtest driver always uses signals to kill qemu
no need to report it, whatever the accelerator state.
Add API to detect qtest driver, and suppress reporting
signals in this case.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0888a29caac6e1b668e498a0ad4d1fea15de012b
Merge: f673e70 417c45a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 13 15:02:03 2014 +0000
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
acpi,pc,pci fixes and enhancements
Most changes here are hotplug related:
This merges hotplug infrastructure changes by Igor,
some acpi related fixes, and PC fixes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 10 Feb 2014 09:13:26 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* remotes/mst/tags/for_upstream:
ACPI: Remove commented-out code from HPET._CRS
hw/pci: switch to a generic hotplug handling for PCIDevice
pci/pcie: convert PCIE hotplug to use hotplug-handler API
pci/shpc: convert SHPC hotplug to use hotplug-handler API
acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API
qdev:pci: refactor PCIDevice to use generic "hotpluggable" property
hw/acpi: move typeinfo to the file end
qdev: add "hotpluggable" property to Device
qdev: add to BusState "hotplug-handler" link
define hotplug interface
loader: document that errno is set
pc.c: better error message on initrd sizing failure
pc_piix: enable legacy hotplug for Xen
qtest: don't report signals if qtest driver enabled
hw:piix4:acpi: reuse pcihp code for legacy PCI hotplug
pcihp: remove unused AcpiPciHpPciStatus.device_present field
pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug
pcihp: make PCI hotplug mmio handlers indifferent to PCI_HOTPLUG_ADDR
pcihp: replace enable|disable_device() with oneliners
pcihp: reduce number of device check events
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f673e70ccc668607620cd6d30fd0b9bc7a54151d
Merge: 9d74f6f ea81ce0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 13 14:52:06 2014 +0000
Merge remote-tracking branch 'remotes/afaerber/tags/prep-for-upstream'
into staging
PReP machine and devices
* Cleanups for Raven PCI host bridge
* Removal of PReP machine and devices from qemu-system-ppcemb
# gpg: Signature made Mon 10 Feb 2014 16:19:03 GMT using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
* remotes/afaerber/tags/prep-for-upstream:
prep: Drop from ppcemb-softmmu
raven: Use constant PCI_NUM_PINS instead of 4
prep: Kill get_system_io() usage
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9d74f6fef0801ca2ce5c9d38d59b85bf03c27669
Merge: 628a746 73db416
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 12 17:53:31 2014 +0000
Merge remote-tracking branch 'remotes/alon/pull-libcacard.glusterfs' into
staging
* remotes/alon/pull-libcacard.glusterfs:
libcacard: Don't link with all libraries QEMU links to
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 628a746cf0d380ba8fc0fff2926c899e323768a7
Merge: a455044 e96126f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 12 16:42:50 2014 +0000
Merge remote-tracking branch 'remotes/kevin/tags/for-anthony' into staging
Block patches
# gpg: Signature made Sun 09 Feb 2014 08:12:51 GMT using RSA key ID
C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@xxxxxxxxxx>"
* remotes/kevin/tags/for-anthony:
block: Fix 32 bit truncation in mark_request_serialising()
blkdebug: Don't leak bs->file on failure
block: Don't call ROUND_UP with negative values
block: bdrv_aligned_pwritev: Assert overlap range
block: Fix memory leaks in bdrv_co_do_pwritev()
raw: Fix BlockLimits passthrough
qemu-iotests: add test for qcow2 preallocation with different cluster
sizes
qcow2: check for NULL l2meta
qcow2: fix offset overflow in qcow2_alloc_clusters_at()
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
block/iscsi: always fill bs->bl.opt_transfer_length
block: Fail gracefully with missing filename
qemu-iotests: enable support for NFS protocol
qemu-iotests: enable test 016 and 025 to work with NFS protocol
qemu-iotests: blacklist test 020 for NFS protocol
qemu-iotests: change _supported_proto to file for various tests
block: add native support for NFS
qemu-iotest: Make 077 raw-only
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5631e69c269c6b832837715a3bd4d685120a2713
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Dec 11 08:42:08 2013 -0800
target-openrisc: Use new qemu_ld/st opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Acked-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit a4550442b947d2c2b346bd2efc8fe3da16425f4d
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Mon Dec 16 12:44:20 2013 +1000
petalogix-ml605: Create the CPU with object_new()
This is to allow future patches to set properties before cpu::realize().
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2e38847b8d3055f5203d7a258c4a48845cdb4f11
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Fri Dec 13 16:31:02 2013 +1000
exec: Make cpu_memory_rw_debug use the CPUs AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2a221651949a8dcf74faa0989d7b0dda96a76911
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Fri Dec 13 16:28:52 2013 +1000
exec: Make cpu_physical_memory_write_rom input an AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit db3be60deb01af6ee72edc7fa13f0ff820029831
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 15:29:06 2013 +1000
exec: Make stb_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 5ce5944dc0ffdc43c11b5cad11e526f699aabe4c
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 15:22:06 2013 +1000
exec: Make stw_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2198a121434b806636318d62c89595c1955e825a
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 28 10:13:41 2013 +0100
exec: Make stl_phys_notdirty input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit ab1da85791340e504d10487e1add81b9988afa98
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 15:07:29 2013 +1000
exec: Make stl_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit f606604f1c10b60ef294f1b9b229426521a365e3
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 28 00:11:44 2013 +0100
exec: Make stq_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 41701aa4ee11aafebb696c2e778ce0e57bcfc84f
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 14:33:56 2013 +1000
exec: Make lduw_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 2c17449b3022ca9623c4a7e2a504a4150ac4ad30
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 14:05:40 2013 +1000
exec: Make ldq/ldub_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit fdfba1a298ae26dd44bcfdb0429314139a0bc55a
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Fri Nov 15 14:46:38 2013 +0100
exec: Make ldl_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 33bde2e13f36b9331e35b6e531bc06e8567b4f64
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 21 19:06:30 2013 +0100
exec: On AS changes, only flush affected CPU TLBs
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 09daed848c3de60b7979eda709dc4bae5195273d
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 17 13:06:51 2013 +1000
cpu: Add per-cpu address space
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit c6c6958c98687543bcb12bdf5492e7a48d535511
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 21 18:36:42 2013 +0100
memory: Add MemoryListener to typedefs.h
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 1b3fb98ff0c72f233e41e6dee55b25d9303a7cdf
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 18:43:28 2013 +0100
exec: Make memory_region_section_get_iotlb use section AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 3be91e862a6cc68a1872ac5b84685f4bb8910280
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 18:42:51 2013 +0100
exec: Always initialize MemorySection address spaces
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 777170946fc66120ec645699982ca24a8df95ead
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 19:55:56 2013 +0100
exec: Make iotlb_to_region input an AS
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 29d8ec7beebbf4d8f6094df91ad383b98d768b32
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Thu Nov 7 19:43:10 2013 +0100
exec: Make tb_invalidate_phys_addr input an AS
No functional change.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 8fa7574904793396694fa88834751a93bcdf4e10
Merge: 702f6df 69991d7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 11 11:26:36 2014 +0000
Merge remote-tracking branch
'remotes/pmaydell/tags/pull-target-arm-20140208' into staging
target-arm queue:
* more A64 Neon instructions
* AArch32 VCVTB and VCVTT ARMv8 instructions
* fixes to inaccuracies in GIC emulation
* libvixl disassembler for A64
* Allwinner SoC ethernet controller
* zynq software system reset support
# gpg: Signature made Sat 08 Feb 2014 15:53:05 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* remotes/pmaydell/tags/pull-target-arm-20140208: (29 commits)
arm/zynq: Add software system reset via SCLR
hw/arm/allwinner-a10: initialize EMAC
hw/net: add support for Allwinner EMAC Fast Ethernet controller
util/fifo8: clear fifo head upon reset
util/fifo8: implement push/pop of multiple bytes
disas: Implement disassembly output for A64
disas/libvixl: Fix upstream libvixl compilation issues
disas: Add subset of libvixl sources for A64 disassembler
rules.mak: Link with C++ if we have a C++ compiler
rules.mak: Support .cc as a C++ source file suffix
arm_gic: Add GICC_APRn state to the GICState
vmstate: Add uint32 2D-array support
arm_gic: Support setting/getting binary point reg
arm_gic: Keep track of SGI sources
arm_gic: Fix GIC pending behavior
target-arm: Add support for AArch32 64bit VCVTB and VCVTT
target-arm: A64: Add FNEG and FABS to the SIMD 2-reg-misc group
target-arm: A64: Add 2-reg-misc REV* instructions
target-arm: A64: Add narrowing 2-reg-misc instructions
target-arm: A64: Implement 2-reg-misc CNT, NOT and RBIT
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 702f6df9602a445103c55ac21af11c7aaedb9b34
Merge: a87f395 f8b7ee3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 10 18:31:06 2014 +0000
Merge remote-tracking branch 'remotes/kvaneesh/for-upstream' into staging
* remotes/kvaneesh/for-upstream:
hw/9pfs: fix P9_STATS_GEN handling
hw/9pfs: make get_st_gen() return ENOTTY error on special files
hw/9pfs: handle undefined FS_IOC_GETVERSION case in
handle_ioc_getversion()
hw/9pfs: fix error handing in local_ioc_getversion()
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a87f39543a9259f671c5413723311180ee2ad2a8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Feb 7 15:47:46 2014 +0100
memory: fix limiting of translation at a page boundary
Commit 360e607 (address_space_translate: do not cross page boundaries,
2014-01-30) broke MMIO accesses in cases where the section is shorter
than the full register width. This can happen for example with the
Bochs DISPI registers, which are 16 bits wide but have only a 1-byte
long MemoryRegion (if you write to the "second byte" of the register
your access is discarded; it doesn't write only to half of the register).
Restrict the action of commit 360e607 to direct RAM accesses. This
is enough for Xen, since MMIO will not go through the mapcache.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ea81ce06a4d65c62cd8f2a3797953602fb7d7456
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Thu Jan 23 11:22:16 2014 +0100
prep: Drop from ppcemb-softmmu
ppcemb covers only embedded processors, which does not include PReP.
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 736d120af4bf5f3e13b2f90c464b3a24847f78f0
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Jan 22 18:35:32 2014 +0100
target-mips: add user-mode FR switch support for MIPS32r5
Description of UFR feature:
Required in MIPS32r5 if floating point is implemented and user-mode FR
switching is supported. The UFR register allows user-mode to clear
StatusFR
by executing a CTC1 to UFR with GPR[0] as input, and read StatusFR by
executing a CFC1 to UFR.
helper_ctc1 has been extended with an additional parameter rt to check
requirements for UFR feature.
Definition of mips32r5-generic has been modified to include support for
UFR.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit b4dd99a3636f5a3044dfd9dba7653ca377a9aeba
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Jan 17 19:25:57 2014 +0100
target-mips: add support for CP0_Config5
Add CP0_Config5, define rw_bitmask and enable modifications.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit b4160af160ba045e3a25013b4def4a39f09cbb78
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Jan 24 13:45:05 2014 +0100
target-mips: add support for CP0_Config4
Add CP0_Config4, define rw_bitmask.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit e527526d355570615533d38236818c759f29d889
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Jan 15 17:01:46 2014 +0100
target-mips: add CPU definition for MIPS32R5
Add mips32r5-generic among CPU definitions for MIPS.
Define ISA_MIPS32R3 and ISA_MIPS32R5.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Eric Johnson <eric.johnson@xxxxxxxxxx>
commit 417c45ab2f847c0a47b1232f611aa886df6a97d5
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Fri Feb 7 10:30:40 2014 -0500
ACPI: Remove commented-out code from HPET._CRS
IRQNoFlags on HPET._CRS crashes WinXP because it causes the HPET
to conflict with the system timer and/or the RTC. It only occurs
on Apple hardware, and even there it is exposed fully only when
OS X is detected (via _OSI). Recent OS X versions work on QEMU
without this statement, so at this time there is no need to find
a better way to conditionally include the statement. This patch
removes the commented out (and wrong, should have been {0, 8})
statement from HPET._CRS.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-By: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 5e95494380ecf83c97d28f72134ab45e0cace8f9
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:52 2014 +0100
hw/pci: switch to a generic hotplug handling for PCIDevice
make qdev_unplug()/device_set_realized() to call hotplug handler's
plug/unplug methods if available and remove not needed anymore
hot(un)plug handling from PCIDevice.
In case if hotplug handler is not available, revert to the legacy
hotplug method for compatibility with not yet converted buses.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a66e657e18cd9b70e9f57ae5512c07faf2bc508f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:51 2014 +0100
pci/pcie: convert PCIE hotplug to use hotplug-handler API
Split pcie_cap_slot_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PCIE_SLOT device.
Replace pci_bus_hotplug() wiring with setting link on PCI BUS
"hotplug-handler" property to PCI_BRIDGE_DEV device.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5d268704d7c2bc58c38b87d7d94804639ef100ec
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:50 2014 +0100
pci/shpc: convert SHPC hotplug to use hotplug-handler API
Split shpc_device_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PCI_BRIDGE_DEV device.
Replace pci_bus_hotplug() wiring with setting link on PCI BUS
"hotplug-handler" property to PCI_BRIDGE_DEV device.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c24d5e0b91d138f8cc95f5694d4964de36a739d3
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:49 2014 +0100
acpi/piix4pm: convert ACPI PCI hotplug to use hotplug-handler API
Split piix4_device_hotplug() into hotplug/unplug callbacks
and register them as "hotplug-handler" interface implementation of
PIIX4_PM device.
Replace pci_bus_hotplug() wiring with setting link on
PCI BUS "hotplug-handler" property to PIIX4_PM device.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2897ae026758eac78284ba6c3bd7732f3a1d9987
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:48 2014 +0100
qdev:pci: refactor PCIDevice to use generic "hotpluggable" property
Get rid of PCIDevice specific PCIDeviceClass.no_hotplug and use
generic DeviceClass.hotpluggable field instead.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5fdae20cef2857a2c63c8d4fa7df6274d6d7c3c8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:47 2014 +0100
hw/acpi: move typeinfo to the file end
do so to avoid not necessary forward declarations and
place typeinfo registration at the file end where it's
usually expected.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1a37eca107cece3ed454bae29eef0bd1fac4a244
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:46 2014 +0100
qdev: add "hotpluggable" property to Device
Currently it's possible to make PCIDevice not hotpluggable
by using no_hotplug field of PCIDeviceClass. However it
limits this only to PCI devices and prevents from
generalizing hotplug code.
So add similar field to DeviceClass so it could be reused
with other Devices and would allow to replace PCI specific
hotplug callbacks with generic implementation. Following
patches will replace PCIDeviceClass.no_hotplug with this
new property.
In addition expose field as "hotpluggable" readonly property,
to make it possible to read its value via QOM interface.
Make DeviceClass hotpluggable by default as it was assumed
before.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0ee4de6ce1d403b3d8017b340cec772c3c5c106f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:45 2014 +0100
qdev: add to BusState "hotplug-handler" link
It will allow to reuse field with different BUSes,
reducing code duplication. Field is intended for
replacing 'hotplug_qdev' field in PCIBus and also
will allow to avoid adding equivalent field to
DimmBus with possiblitity to refactor other BUSes
to use it instead of custom field.
In addition once all users of allow_hotplug field
are converted to new API, link could replace
allow_hotplug field in qdev hotplug code.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9f117d41841e13ca29cc2a10ac03258339ea1f8b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Feb 5 16:36:44 2014 +0100
define hotplug interface
Provide a generic hotplug interface for hotplug handlers.
Intended for replacing hotplug mechanism used by
PCI/PCIE/SHPC code and will be used for memory hotplug.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a1483f88b6e21dd3ea481a021e5d4f7f273204c6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Feb 5 21:57:55 2014 +0200
loader: document that errno is set
Document that get_image_size sets errno
on failure.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 963116b0b36feac8bca435371528b2ee374608f1
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Nov 5 00:09:44 2013 +0100
raven: Use constant PCI_NUM_PINS instead of 4
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit c0f2bf9b3f6d8b5961b47b0affbb5456e6123e68
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Nov 5 00:09:43 2013 +0100
prep: Kill get_system_io() usage
While ISA address space in prep machine is currently the one returned
by get_system_io(), this depends of the implementation of i82378/raven
devices, and this may not be the case forever.
Use the right ISA address space when adding some more ports to it.
We can use whatever ISA device on the right ISA bus, as all ISA devices
on the same ISA bus share the same ISA address space.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 73db416ae7941f8ffeabc060ec87402b97314b6d
Author: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Date: Thu Jan 30 14:56:49 2014 +0100
libcacard: Don't link with all libraries QEMU links to
As described in https://bugzilla.redhat.com/show_bug.cgi?id=987441 ,
libcacard currently links to all the libraries QEMU is linking to,
including glusterfs libraries, libiscsi, ... libcacard does not need all
of
these. This patch ensures it's only linked with the libraries it needs.
Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
commit e96126ffa53d36ec75a1ee900a6b7e7c82d9bb9c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 10:42:18 2014 +0100
block: Fix 32 bit truncation in mark_request_serialising()
On 32 bit hosts, size_t is too small for align as the bitmask
~(align - 1) will zero out the higher 32 bits of the offset.
While at it, change the local overlap_bytes variable to unsigned to
match the field in BdrvTrackedRequest.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit eaf944a43835399f12808aebd0d0a1db6249ed07
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Sat Feb 8 09:53:22 2014 +0100
blkdebug: Don't leak bs->file on failure
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 5f5bcd80f8c365bca1480dc39141952fa7f88c71
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 7 16:00:09 2014 +0100
block: Don't call ROUND_UP with negative values
The behaviour of the ROUND_UP macro with negative numbers isn't obvious.
It happens to do the right thing in this please, but better avoid it.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit af91f9a73c3a67eebbf4120cae62b82db8eaae19
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 7 15:35:56 2014 +0100
block: bdrv_aligned_pwritev: Assert overlap range
This adds assertions that the request that we actually end up passing to
the block driver (which includes RMW data and has therefore potentially
been rounded to alignment boundaries) is fully covered by the
overlap_{offset,size} fields of the associated BdrvTrackedRequest.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 99c4a85ce65863e6ba6668164d47c0d7c645e3aa
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Feb 7 15:29:00 2014 +0100
block: Fix memory leaks in bdrv_co_do_pwritev()
The error path for a failure in one of the two bdrv_aligned_preadv()
calls leaked head_buf or tail_buf, respectively. This fixes the memory
leak.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit ad6aef43d36fe65701ff84193576d7f3dcb82dc5
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Feb 4 11:54:13 2014 +0100
raw: Fix BlockLimits passthrough
raw copies over the BlockLimits of bs->file during bdrv_open().
However, since commit d34682cd it is immediately overwritten during
bdrv_refresh_limits(). This caused all fields except for
opt_transfer_length and opt_mem_alignment (which happen to be correctly
inherited in generic code) to be zeroed.
Move the BlockLimit assignment to a .bdrv_refresh_limits() callback to
make it work again for all fields.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 693a50ade339e3ef9b042fd73a3b81405101ba3d
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:40 2014 +0800
qemu-iotests: add test for qcow2 preallocation with different cluster
sizes
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7c2bbf4aa66ca5a9fc2ca147e0e6cb6f407a3aa2
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:39 2014 +0800
qcow2: check for NULL l2meta
In the case of a metadata preallocation with a large cluster size,
qcow2_alloc_cluster_offset() can allocate nothing and returns a
NULL l2meta. This patch checks for it and link2 l2 with only valid
l2meta.
Replace 9 and 512 with BDRV_SECTOR_BITS, BDRV_SECTOR_SIZE
respectively while at the function.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 33304ec9fa484e765c6249673e09e1b7d49c5b85
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:38 2014 +0800
qcow2: fix offset overflow in qcow2_alloc_clusters_at()
When cluster size is big enough it can lead to an offset overflow
in qcow2_alloc_clusters_at(). This patch fixes it.
The allocation is stopped each time at L2 table boundary
(see handle_alloc()), so the possible maximum bytes could be
2^(cluster_bits - 3 + cluster_bits)
cluster_bits - 3 is used to compute the number of entry by L2
and the additional cluster_bits is to take into account each
clusters referenced by the L2 entries.
so int is safe for cluster_bits<=17, unsafe otherwise.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 16f0587e0a5da5b1ad76cb7c3739491bc042201c
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Sun Jan 26 11:12:37 2014 +0800
qcow2: remove n_start and n_end of qcow2_alloc_cluster_offset()
n_start can be actually calculated from offset. The number of
sectors to be allocated(n_end - n_start) can be passed in in
num. By removing n_start and n_end, we can save two parameters.
The side effect is there is a bug in qcow2.c:preallocate() that
passes incorrect n_start to qcow2_alloc_cluster_offset() is
fixed. The bug can be triggerred by a larger cluster size than
the default value(65536), for example:
./qemu-img create -f qcow2 \
-o 'cluster_size=131072,preallocation=metadata' file.img 4G
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5d259fc7da83249a4f78fe32de2bc2874a997a9f
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 29 13:03:35 2014 +0100
block/iscsi: always fill bs->bl.opt_transfer_length
the opt_transfer_length has nothing to do with logical
block provisioning stuff so always copy it from
the block limits VPD page.
Reported-By: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 765003db029ed4660a09807958276e251de84fac
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Feb 3 14:49:42 2014 +0100
block: Fail gracefully with missing filename
This fixes a regression introduced in commit 2a05cbe42 ('block: Allow
block devices without files'):
$ qemu-system-x86_64 -drive driver=file
qemu-system-x86_64: block.c:892: bdrv_open_common: Assertion
`!drv->bdrv_needs_filename || filename != ((void *)0)' failed.
Now the respective check must be performed not only in bdrv_file_open(),
but also in bdrv_open().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 170632dbc9f75217861dd8bf2e6da3c269a1ba18
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:17 2014 +0100
qemu-iotests: enable support for NFS protocol
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a19737f1bdcca1de3d0c1d7c87935d89d5ccc1e5
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:16 2014 +0100
qemu-iotests: enable test 016 and 025 to work with NFS protocol
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ecd792fd2178570b8bcf399a86af5a6d9504437b
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:15 2014 +0100
qemu-iotests: blacklist test 020 for NFS protocol
reopening is currently not supported.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1f7bf7d0687f5a58613358f5e7cfd8f29a3a21e2
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:14 2014 +0100
qemu-iotests: change _supported_proto to file for various tests
all these tests do anything of the following and thus fail with any
protocol other than file:
- the tests use rm, cp or mv shell commands which only work on file
- the tests use qcow2.py
- the images construct new filenames (e.g. backing file names) and
the logic is broken for anything else than file
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6542aa9c75bcef5a549b8ac1ce34d0ec6782a3c2
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Feb 3 10:26:13 2014 +0100
block: add native support for NFS
This patch adds native support for accessing images on NFS
shares without the requirement to actually mount the entire
NFS share on the host.
NFS Images can simply be specified by an url of the form:
nfs://<host>/<export>/<filename>[?param=value[¶m2=value2[&...]]]
For example:
qemu-img create -f qcow2 nfs://10.0.0.1/qemu-images/test.qcow2
You need LibNFS from Ronnie Sahlberg available at:
git://github.com/sahlberg/libnfs.git
for this to work.
During configure it is automatically probed for libnfs and support
is enabled on-the-fly. You can forbid or enforce libnfs support
with --disable-libnfs or --enable-libnfs respectively.
Due to NFS restrictions you might need to execute your binaries
as root, allow them to open priviledged ports (<1024) or specify
insecure option on the NFS server.
For additional information on ROOT vs. non-ROOT operation and URL
format + parameters see:
https://raw.github.com/sahlberg/libnfs/master/README
Supported by qemu are the uid, gid and tcp-syncnt URL parameters.
LibNFS currently support NFS version 3 only.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f51062061e6adf64a879177f35ff5c6babb63e7e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jan 30 12:52:47 2014 +0100
qemu-iotest: Make 077 raw-only
The qemu-io command sequences make the assumption that an unaligned
request on the format layer will be unaligned on the blkdebug layer as
well. This doesn't necessarily hold true for drivers other than raw.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit 1f6b12f75f2c22f861d0202374033a7594c91707
Merge: 3ea3bd6 f41152b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 15:57:51 2014 +0000
Merge remote-tracking branch 'remotes/mwalle/tags/lm32-fixes/20140204'
into staging
target-lm32: fixes
# gpg: Signature made Tue 04 Feb 2014 18:47:56 GMT using DSA key ID
3F98A378
# gpg: Can't check signature: public key not found
* remotes/mwalle/tags/lm32-fixes/20140204:
hw/lm32: print error if cpu model is not found
target-lm32: stop VM on illegal or unknown instruction
lm32_sys: dump cpu state if test case fails
lm32_sys: print test result on stderr
target-lm32: add breakpoint/watchpoint support
target-lm32: move model features to LM32CPU
target-lm32: kill cpu_abort() calls
milkymist-vgafb: swap pixel data in source buffer
lm32_uart/lm32_juart: use qemu_chr_fe_write_all()
milkymist-uart: use qemu_chr_fe_write_all() instead of
qemu_chr_fe_write()
tests: lm32: new rule for single test cases
lm32_sys: increase test case name length limit
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 69991d7dcbcf7f3fe38274bc67fcba3cbbfda0cf
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Wed Feb 5 08:31:55 2014 +0100
arm/zynq: Add software system reset via SCLR
Support software-driven system reset via the register in the SCLR.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit db7dfd4c7e4450b10048a53ce67bcac6305ad383
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:07 2014 +0100
hw/arm/allwinner-a10: initialize EMAC
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 22f90bcb2be021bb894438ddfeb10c75fa7502d8
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:06 2014 +0100
hw/net: add support for Allwinner EMAC Fast Ethernet controller
This patch adds support for the Fast Ethernet MAC found on Allwinner
SoCs, together with a basic emulation of Realtek RTL8201CP PHY.
Since there is no public documentation of the Allwinner controller, the
implementation is based on Linux kernel driver.
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 58892d4782bf516e8356e3adfe4fc9b10c397b2f
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:05 2014 +0100
util/fifo8: clear fifo head upon reset
To improve the predictability of fifo8_pop_buf(), the fifo head is set
to the start of data buffer upon a reset so that the first call to the
function will be able to retrieve all data in the fifo.
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c4e57af85272f98c28ccaaace040d2abb0ec85c4
Author: Beniamino Galvani <b.galvani@xxxxxxxxx>
Date: Thu Jan 30 23:02:04 2014 +0100
util/fifo8: implement push/pop of multiple bytes
The patch adds functions fifo8_push_all() and fifo8_pop_buf() which
can be used respectively to push the content of a memory buffer to the
fifo and to pop multiple bytes obtaining a pointer to the fifo backing
buffer.
In addition, it implements fifo8_num_free() and fifo8_num_used() which
allow to check if a multi-byte operation can be performed.
Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 999b53ec8794f203964db3ecf939a3da5c4bc843
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Wed Feb 5 17:27:28 2014 +0000
disas: Implement disassembly output for A64
Use libvixl to implement disassembly output in debug
logs for A64, for use with both AArch64 hosts and targets.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM:
* added support for target disassembly
* switched to custom QEMUDisassembler so the output format
matches what QEMU expects
* make sure we correctly fall back to "just print hex"
if we didn't build the AArch64 disassembler because of
lack of a C++ compiler
* rename from 'aarch64' to 'arm-a64' because this is a
disassembler for the A64 instruction set
* merge aarch64.c and aarch64-cxx.cc into one C++ file
* simplify the aarch64.c<->aarch64-cxx.cc interface]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 37fd5b53ba688e2a32d3966870361e667381ca95
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:28 2014 +0000
disas/libvixl: Fix upstream libvixl compilation issues
Fix various minor issues with upstream libvixl so that it will compile
successfully on the platforms QEMU cares about:
* remove unused GBytes constant (it clashes with the glib headers)
* fix suffixes on constants to use 'LL' for 64 bit constants so
we can compile on 32 bit hosts
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 878a735d009d1e90e96d6c5c6f9471aa4ec2ba65
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:27 2014 +0000
disas: Add subset of libvixl sources for A64 disassembler
Add the subset of the libvixl sources that are needed for the
A64 disassembler support. These sources come from
https://github.com/armvixl/vixl commit 578645f14e122d2b
which is VIXL release 1.1.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3144f78b3f8d517d32641a7b606b67e7b3cc16f7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:27 2014 +0000
rules.mak: Link with C++ if we have a C++ compiler
If we have a C++ compiler available, link with it, because we might be
linking some C++ files in. This allows us to include C++ object files
in the QEMU binary proper.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c3dc9fd5ac892b88b956d8c90c0e8de14c08e0fc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 17:27:27 2014 +0000
rules.mak: Support .cc as a C++ source file suffix
The A64 disassembler libvixl uses .cc as its suffix for
C++ source files, so add support for it (we already support
.cpp).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9d477c4e3d614409a48d12f34624c2dd9f1ec2d
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Mon Nov 18 19:26:33 2013 -0800
arm_gic: Add GICC_APRn state to the GICState
The GICC_APRn registers are not currently supported by the ARM GIC v2.0
emulation. This patch adds the missing state.
Note that we also change the number of APRs to use a define GIC_NR_APRS
based on the maximum number of preemption levels. This patch also adds
RAZ/WI accessors for the four registers on the emulated CPU interface.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a1b1d277cdaac98f25be249e7819aac781a35530
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Sep 20 20:35:06 2013 +0100
vmstate: Add uint32 2D-array support
Add support for saving VMState of 2D arrays of uint32 values.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit aa7d461ae9dd79d35999f4710743cdf9dec88cef
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Thu Sep 12 22:18:20 2013 -0700
arm_gic: Support setting/getting binary point reg
Add a binary_point field to the gic emulation structure and support
setting/getting this register now when we have it. We don't actually
support interrupt grouping yet, oh well.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 40d225009efe17cad647b4b7424b77a3ace232f1
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Mon Nov 18 20:32:00 2013 -0800
arm_gic: Keep track of SGI sources
Right now the arm gic emulation doesn't keep track of the source of an
SGI (which apparently Linux guests don't use, or they're fine with
assuming CPU 0 always).
Add the necessary matrix on the GICState structure and maintain the data
when setting and clearing the pending state of an IRQ and make the state
visible to the guest.
Note that we always choose to present the source as the lowest-numbered
CPU in case multiple cores have signalled the same SGI number to a core
on the system.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8d999995e45c1002aa11f269c98f2e93e6f8c42a
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Mon Nov 18 20:32:00 2013 -0800
arm_gic: Fix GIC pending behavior
The existing implementation of the pending behavior in gic_set_irq,
gic_complete_irq, and the distributor pending set/clear registers does
not follow the semantics of the GICv2.0 specs, but may implement the
11MPCore support. Therefore, maintain the existing semantics for
11MPCore and v7M NVIC and change the behavior to be in accordance with
the GICv2.0 specs for "generic implementations" (s->revision == 1 ||
s->revision == 2).
Generic implementations distinguish between setting a level-triggered
interrupt pending through writes to the GICD_ISPENDR and when hardware
raises the interrupt line. Writing to the GICD_ICPENDR will not cause
the interrupt to become non-pending if the line is still active, and
conversely, if the line is deactivated but the interrupt is marked as
pending through a write to GICD_ISPENDR, the interrupt remains pending.
Handle this situation in the GIC_TEST_PENDING (which now becomes a
static inline named gic_test_pending) and let the 'pending' field
correspond only to the latched state of the D-flip flop in the GICv2.0
specs Figure 4-10.
The following changes are added:
gic_test_pending:
Make this a static inline and split out the 11MPCore from the generic
behavior. For the generic behavior, consider interrupts pending if:
((s->irq_state[irq].pending & (cm) != 0) ||
(!GIC_TEST_EDGE_TRIGGER(irq) && GIC_TEST_LEVEL(irq, cm))
gic_set_irq:
Split out the 11MPCore from the generic behavior. For the generic
behavior, always GIC_SET_LEVEL() on positive level, but only
GIC_SET_PENDING for edge-triggered interrupts and always simply
GIC_CLEAR_LEVEL() on negative level.
gic_complete_irq:
Only resample the line for line-triggered interrupts on an 11MPCore.
Generic implementations will sample the line directly in
gic_test_pending().
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 239c20c7c87816402acdb118a5295acda9d25c5c
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Wed Jan 29 10:31:51 2014 +0000
target-arm: Add support for AArch32 64bit VCVTB and VCVTT
Add support for the AArch32 floating-point half-precision to double-
precision conversion VCVTB and VCVTT instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: fixed a minor missing-braces style issue]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f93d0138959918f896b91b43c99a56a50a2e8463
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:52 2014 +0000
target-arm: A64: Add FNEG and FABS to the SIMD 2-reg-misc group
Add the SIMD FNEG and FABS instructions in the SIMD 2-reg-misc group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39d8211893efdc5cbcd6a8f51a65e33eac6fa3da
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Feb 3 23:31:52 2014 +0000
target-arm: A64: Add 2-reg-misc REV* instructions
Add the byte-reverse operations REV64, REV32 and REV16 from the
two-reg-misc group.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d980fd59a49b06f8431fdb418068c2acc0fce8d5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:52 2014 +0000
target-arm: A64: Add narrowing 2-reg-misc instructions
Add the narrowing integer instructions in the 2-reg-misc class.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 86cbc418ce764b877c2db8993f1f7a05d9be7702
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:51 2014 +0000
target-arm: A64: Implement 2-reg-misc CNT, NOT and RBIT
Implement the 2-reg-misc CNT, NOT and RBIT instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 94b6c911c644de8621b7be48b0fa0f9c2b7a2122
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Feb 3 23:31:51 2014 +0000
target-arm: A64: Implement 2-register misc compares, ABS, NEG
Implement the simple 2-register-misc operations we can share
with the scalar-two-register-misc code. (SUQADD, USQADD, SQABS,
SQNEG also fall into this category, but aren't implemented in
the scalar-2-register case yet either.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 45aecc6dbb9e282bd880d155f80018a192c90ff2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Add skeleton decode for SIMD 2-reg misc group
Add a skeleton decode for the SIMD 2-reg misc group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit effa8e06435e6a47a3a21e50fd638b6fb29e616a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Add SIMD simple 64 bit insns from scalar 2-reg misc
Implement the simple 64 bit integer operations from the SIMD
scalar 2-register misc group (C3.6.12): the comparisons against
zero, plus ABS and NEG.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c0b2b5fa3651caff0b33621583a3709a8875e85f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Implement remaining integer scalar-3-same insns
Implement the remaining integer instructions in the scalar-three-reg-same
group: SQADD, UQADD, SQSUB, UQSUB, SQSHL, UQSHL, SQRSHL, UQRSHL,
SQDMULH, SQRDMULH.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3720a7ea364607a19b26745c40e648a1c0e20523
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:56 2014 +0000
target-arm: A64: Implement scalar pairwise ops
Implement the instructions in the scalar pairwise group (C3.6.8).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c1de788ab9584e9629d6e9004d8cddd428b6cbe4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
tcg: Add TCGV_UNUSED_PTR, TCGV_IS_UNUSED_PTR, TCGV_EQUAL_PTR
We have macros for marking TCGv values as unused, checking if they
are unused and comparing them to each other. However these only exist
for TCGv_i32 and TCGv_i64; add them for TCGv_ptr as well.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0173a00521e3d66afbeb0d0b19e78ac68095b7e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
target-arm: A64: Implement pairwise integer ops from 3-reg-same SIMD
Implement the pairwise integer operations in the 3-reg-same SIMD group:
ADDP, SMAXP, SMINP, UMAXP and UMINP.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8b12a0cfc1449b1a0768705e61df5235bf93160d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
target-arm: A64: Implement remaining non-pairwise int SIMD 3-reg-same
insns
Implement the SIMD 3-reg-same instructions where the size == 3 case
is reserved: SHADD, UHADD, SRHADD, URHADD, SHSUB, UHSUB, SMAX,
UMAX, SMIN, UMIN, SABD, UABD, SABA, UABA, MLA, MLS, MUL, PMUL,
SQRDMULH, SQDMULH. (None of these have scalar-3-same versions.)
This completes the non-pairwise integer instructions in this category.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6d9571f7d842a2112937fb161a5c077ca4cac757
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 14:46:55 2014 +0000
target-arm: A64: Implement SIMD 3-reg-same shift and saturate insns
Implement the SIMD 3-reg-same instructions SQADD, UQADD,
SQSUB, UQSUB, SSHL, USHL, SQSHl, UQSHL, SRSHL, URSHL,
SQRSHL, UQRSHL; these are all simple calls to existing
Neon helpers. We also enable SSHL, USHL, SRSHL and URSHL
for the 3-reg-same-scalar category (but not the others
because they can have non-size-64 operands and the
scalar_3reg_same function doesn't support that yet.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3ea3bd62451ac79478b440ad9fe2a4cd69783a1f
Merge: 4db0014 89db998
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 8 13:12:50 2014 +0000
Merge remote-tracking branch
'remotes/juanquintela/tags/migration/20140204-1' into staging
migration/next for 20140204
# gpg: Signature made Tue 04 Feb 2014 15:52:00 GMT using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* remotes/juanquintela/tags/migration/20140204-1:
Don't abort on memory allocation error
Don't abort on out of memory when creating page cache
XBZRLE cache size should not be larger than guest memory size
migration:fix free XBZRLE decoded_buf wrong
Add check for cache size smaller than page size
Set xbzrle buffers to NULL after freeing them to avoid double free
errors
exec: fix ram_list dirty map optimization
vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4db0014521a6820415298e10978b53dee3440f56
Merge: 91abb80 41419b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 7 16:42:13 2014 +0000
Merge remote-tracking branch 'remotes/kraxel/tags/pull-roms-1' into
staging
Update seabios to 1.7.4
# gpg: Signature made Mon 03 Feb 2014 14:42:44 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/kraxel/tags/pull-roms-1:
Update seabios binaries to 1.7.4
Update seabios submodule to 1.7.4
roms: remove explicit MAKEFLAGS from recursive make invocations
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 91abb80b5f66e8387ae1a5ba85083e49b877938c
Merge: bc1c721 56db2e5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Feb 7 16:03:13 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/qtest-for-peter' into
staging
qtest resource cleanup patches
# gpg: Signature made Tue 04 Feb 2014 08:29:12 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/qtest-for-peter:
qtest: unlink UNIX domain sockets after connecting
qtest: unlink QEMU pid file after startup
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bc1c72171ceb9a817138603fe381d64e7f8a9364
Merge: 2653078 7c08db3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 6 23:51:24 2014 +0000
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
target-i386: Move KVM default-vendor hack to instance_init
target-i386: Don't change x86_def_t struct on cpu_x86_register()
target-i386: Eliminate CONFIG_KVM #ifdefs
kvm: add support for hyper-v timers
kvm: make hyperv vapic assist page migratable
kvm: make hyperv hypercall and guest os id MSRs migratable.
kvm: make availability of Hyper-V enlightenments dependent on
KVM_CAP_HYPERV
KVM: fix coexistence of KVM and Hyper-V leaves
kvm: print suberror on all internal errors
target-i386: kvm_check_features_against_host(): Kill feature word array
target-i386: kvm_cpu_fill_host(): Fill feature words in a loop
target-i386: kvm_cpu_fill_host(): Set all feature words at end of
function
target-i386: kvm_cpu_fill_host(): No need to check xlevel2
target-i386: kvm_cpu_fill_host(): No need to check CPU vendor
target-i386: kvm_cpu_fill_host(): No need to check level
target-i386: kvm_cpu_fill_host(): Kill unused code
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 26530780c20eb762fa0ed94ac57226695f22ee65
Merge: 31db5b3 8909114
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Feb 6 10:21:12 2014 +0000
Merge remote-tracking branch 'remotes/spice/tags/pull-spice-2' into
staging
misc spice patches
# gpg: Signature made Mon 03 Feb 2014 15:05:29 GMT using RSA key ID
D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann <gerd@xxxxxxxxxx>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@xxxxxxxxx>"
* remotes/spice/tags/pull-spice-2:
spice: hook qemu_chr_fe_set_open() event to ports
Add the ability to vary Spice playback and record rates, to facilitate
Opus support.
hw/display/qxl: fix signed to unsigned comparison
qxl: clear irq on reset
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 31db5b3638553e616eba3391dbff88f77b8a5bc9
Merge: e5d3df6 b76afd1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 16:37:26 2014 +0000
Merge remote-tracking branch
'remotes/mjt/tags/trivial-patches-2014-02-02' into staging
trivial patches for 2014-02-02
# gpg: Signature made Sun 02 Feb 2014 16:11:37 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
* remotes/mjt/tags/trivial-patches-2014-02-02:
tests/.gitignore: Ignore tests/check-qom-interface
hw/ppc: Remove unused defines
readline: Add missing GCC_FMT_ATTR
tcg/s390: Remove sigill_handler
i386: Add missing include file for QEMU_PACKED
osdep: drop unused #include "trace.h"
qemu 1.7.0 does not build on NetBSD
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e5d3df6deb664a31e6c69b36e07f1701fee7cbf5
Merge: 2b2449f 1b7650e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Feb 5 16:29:01 2014 +0000
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request'
into staging
Block pull request
# gpg: Signature made Fri 31 Jan 2014 21:16:43 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* remotes/stefanha/tags/block-pull-request:
qemu-iotests: only run 071 on qcow2
dataplane: Comment fix
block/vhdx: Error checking fixes
qemu-iotests: Drop assert_no_active_commit in case 040
block/vmdk: add basic .bdrv_check support
block: remove qcow2 .bdrv_make_empty implementation
block: remove QED .bdrv_make_empty implementation
Describe flaws in qcow/qcow2 encryption in the docs
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7454e51d2b26ca6c2fd6fb77c4adc3ab11ec590f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Feb 2 22:45:28 2014 +0200
pc.c: better error message on initrd sizing failure
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d160024fe52cd4970ee80904dbdc7a22ddf86c96
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 23:29:30 2014 +0200
pc_piix: enable legacy hotplug for Xen
xenfv has no fwcfg and so does not load acpi from QEMU.
as such new acpi features don't work.
Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 35b307126cc99165881d24bb62cc52f21275cb54
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Feb 4 20:04:21 2014 +0200
qtest: don't report signals if qtest driver enabled
qtest driver always uses signals to kill qemu
no need to report it, whatever the accelerator state.
Add API to detect qtest driver, and suppress reporting
signals in this case.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e358edc8e90d580443b824e4ef799e137377ad86
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:45:01 2014 +0100
hw:piix4:acpi: reuse pcihp code for legacy PCI hotplug
reduces acpi PCI hotplug code duplication by ~200LOC
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a1b4d9eff9e8dec8b827bd744c7d670d3cdf2fb8
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:45:00 2014 +0100
pcihp: remove unused AcpiPciHpPciStatus.device_present field
Remove now unused 'device_present' field wich was obsoleted by
patch "pcihp: reduce number of device check events"
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 99d09dd32820f5702031e3c08c81f8c209dc2220
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:44:59 2014 +0100
pcihp: make pci_read() mmio calback compatible with legacy ACPI hotplug
due to recent change introduced by:
"pcihp: reduce number of device check events"
'up' field is cleared right after it's read.
This is incompatible with legacy BIOS ACPI code
where PCNF ACPI method reads this field 32 times.
To make pci_read mmio callback compatible with legacy
'up' behavior, pcihp code will need to know in which
mode it runs add 'legacy_piix' field to AcpiPciHpState
structure and alter register behavior accordingly.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a7b613cf68b65d04ef2b1b601bb18f31e8ca0c11
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:44:58 2014 +0100
pcihp: make PCI hotplug mmio handlers indifferent to PCI_HOTPLUG_ADDR
... removes dependency of mmio handler on PCI_HOTPLUG_ADDR.
It will be needed in case of Q35 where base could be different.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8f5001f9ede507940317531bc83154288e7a1d0a
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Mon Feb 3 11:44:57 2014 +0100
pcihp: replace enable|disable_device() with oneliners
enable_device() and disable_device() functions aren't reused anywere,
so replace them with respective oneliners at call sites.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5a2223ca26b1a34e131b5b9a63599d9426d2c25c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jan 26 12:31:27 2014 +0200
pcihp: reduce number of device check events
PIIX created a made-up value for the UP register since it was read by
guest 32 times for each interrupt.
There's no reason to do this for the new PCIHP: register is only read
once for each interrupt, so clean up code by making read act as an
interrupt acknowledgement: the new UP register clear on read.
In this way we cut down the number of bus rescans
by a factor of 32, and drop a bunch of code that's
now unused.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f41152bd9d01ab327c19a3828bb7896d67cf0752
Author: Michael Walle <michael@xxxxxxxx>
Date: Thu Nov 28 19:09:33 2013 +0100
hw/lm32: print error if cpu model is not found
QEMU crashed if a the given cpu_model is not found.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 667ff9612b786f9bb5b70135811164b48b7d44eb
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 23 20:47:33 2013 +0200
target-lm32: stop VM on illegal or unknown instruction
Instead of translating the instruction to a no-op, pause the VM and
display
a message to the user.
As a side effect, this also works for instructions where the operands are
only known at runtime.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 8c5edce5b775f98cff2e340427740137bd6847be
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 23 20:53:04 2013 +0200
lm32_sys: dump cpu state if test case fails
This will ease debugging the test cases.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 9a59e6e307073f06b7a925b2b0e333301daa2f22
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 23 20:49:17 2013 +0200
lm32_sys: print test result on stderr
Do not use qemu_log().
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 3dd3a2b965a2d2f5b9c53ab86194b78a546a8fc5
Author: Michael Walle <michael@xxxxxxxx>
Date: Wed Sep 18 19:10:45 2013 +0200
target-lm32: add breakpoint/watchpoint support
This patch adds in-target breakpoint and watchpoint support.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 2b2449f7e467957778ca006904471b231dc0ac8e
Merge: 9396b05 44c68de
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 4 18:46:33 2014 +0000
Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140131'
into staging
This patch set contains the sclp defines and events for cpu hotplug,
the initial sclp defines (without code yet) for standby memory (some
sort of memory hotplug) as well as a cleanup of the kvm register
synchronization.
# gpg: Signature made Fri 31 Jan 2014 08:54:29 GMT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
* remotes/borntraeger/tags/kvm-s390-20140131:
s390x/kvm: cleanup partial register handling
sclp-s390: Define new SCLP codes and structures
s390-sclp: SCLP Event integration
s390-sclp: SCLP CPU Info
s390-sclp: Define New SCLP Codes
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 34f4aa83f96722aa2c36fbe179108863ebe6e3e9
Author: Michael Walle <michael@xxxxxxxx>
Date: Tue Sep 17 18:33:16 2013 +0200
target-lm32: move model features to LM32CPU
This allows us to completely remove CPULM32State from DisasContext.
Instead, copy the fields we need to DisasContext.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 3604a76fea6ff37738d4a8f596be38407be74a83
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 16 20:13:05 2013 +0200
target-lm32: kill cpu_abort() calls
Instead of killing QEMU, translate instructions which are not available on
the CPU model as a noop and issue a log message at translation time.
On the real hardware CPU unknown opcodes results in undefined behaviour.
These changes prepare the removal of CPULM32State from DisasContext.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 2f453564274cde7efba77246726f3d0c51566ec0
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 16 19:32:54 2013 +0200
milkymist-vgafb: swap pixel data in source buffer
In commit fc97bb5ba3e7239c0b6d24095df6784868dfebbf the lduw_raw() call was
eliminated. But we are reading from the target buffer a 16-bit value,
which
is in big-endian format. Therefore, use lduw_be_p() to read the value.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 02d3bf7fe755e490b3641148eaef02475c58bdee
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Sep 16 18:29:32 2013 +0200
lm32_uart/lm32_juart: use qemu_chr_fe_write_all()
qemu_chr_fe_write() may return EAGAIN. Therefore, use
qemu_chr_fe_write_all().
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b2c623a3d9c88fb1d3bbbbe97364dc65bc6ab363
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Sat Aug 31 21:22:39 2013 +0400
milkymist-uart: use qemu_chr_fe_write_all() instead of qemu_chr_fe_write()
qemu_chr_fe_write() is capable of returning 0
to indicate EAGAIN (and friends) and we don't
handle this.
Just change it to qemu_chr_fe_write_all() to fix.
Reported-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Acked-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f40c49ac9f89ee52b6015904c9005b734a73487a
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Dec 10 00:03:09 2012 +0100
tests: lm32: new rule for single test cases
Introduce new target "check_%" to run individual test caes, eg.
make check_mmu
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e67b3ca53a891413a33c45495ff20c2728d69722
Author: Michael Walle <michael@xxxxxxxx>
Date: Mon Dec 10 00:00:24 2012 +0100
lm32_sys: increase test case name length limit
The new MMU tests use longer names.
Signed-off-by: Michael Walle <michael@xxxxxxxx>
commit 9396b05a5a35d344dc5eaed6fb0dff96c49d5f50
Merge: 8cfc114 fbb9c59
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Feb 4 16:16:37 2014 +0000
Merge remote-tracking branch 'remotes/mcayland/qemu-openbios' into staging
* remotes/mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 89db9987c07977bdb78d5d4b41d65e7acb9a5a2c
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:38 2014 +0200
Don't abort on memory allocation error
It is better to fail migration in case of failure to
allocate new cache item
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a17b2fd3580d1da96e806c8b58e61255e8c57577
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:37 2014 +0200
Don't abort on out of memory when creating page cache
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit a5615b14a66e86f620e90c8f4b3537c28bb328d4
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:36 2014 +0200
XBZRLE cache size should not be larger than guest memory size
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 905f26f2221e139ac0e7317ddac158c50f5cf876
Author: Gonglei (Arei) <arei.gonglei@xxxxxxxxxx>
Date: Thu Jan 30 20:08:35 2014 +0200
migration:fix free XBZRLE decoded_buf wrong
When qemu do live migration with xbzrle, qemu malloc decoded_buf
at destination end but free it at source end. It will crash qemu
by double free error in some scenarios. Splitting the XBZRLE structure
for clear logic distinguishing src/dst side.
Signed-off-by: ChenLiang <chenliang88@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: GongLei <arei.gonglei@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c91e681a558fc21073ffc491b5a022d5f340fa0b
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:34 2014 +0200
Add check for cache size smaller than page size
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f6c6483b259a2395ee44cfa966f622e0f2dbe2ae
Author: Orit Wasserman <owasserm@xxxxxxxxxx>
Date: Thu Jan 30 20:08:33 2014 +0200
Set xbzrle buffers to NULL after freeing them to avoid double free errors
Signed-off-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit f9ee9f9ac28d6964772c08d5d428b713d58a3aca
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Jan 30 23:03:50 2014 +1100
exec: fix ram_list dirty map optimization
The ae2810c4bb3b383176e8e1b33931b16c01483aab patch introduced
optimization for ram_list.dirty_memory update. However it can only
work correctly if hpratio is 1 as the @bitmap parameter stores 1 bits
per system page size (may vary, 4K or 64K on PPC64) and
ram_list.dirty_memory stores 1 bit per TARGET_PAGE_SIZE
(which is hardcoded to 4K).
This fixes hpratio!=1 case to fall back to the slow path.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 20bcf73fa80c3477b6aaf5f39f18f031ff55de92
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Jan 1 21:56:57 2014 +0000
vmstate: Make VMSTATE_STRUCT_POINTER take type, not ptr-to-type
The VMSTATE_STRUCT_POINTER macros are a bit odd in that they
must be passed an argument "FooType *" rather than just taking
the FooType. They're only used in one place, so it's easy to
tidy this up. This also lets us use the macro to replace the
hand-rolled VMSTATE_PTIMER.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7c08db30e6a43f7083a881eb07bfbc878e001e08
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:55 2014 -0200
target-i386: Move KVM default-vendor hack to instance_init
As we will not have a cpu_x86_find_by_name() function anymore,
move the KVM default-vendor hack to instance_init.
Unfortunately we can't move that code to class_init because it depends
on KVM being initialized.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 82beb53633246d67d4b01a5e802f9edc80332f9d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:54 2014 -0200
target-i386: Don't change x86_def_t struct on cpu_x86_register()
As eventually the x86_def_t data is going to be provided by the CPU
class, it's better to not touch it, and handle the special cases on the
X86CPU object itself.
Current behavior of the code should stay exactly the same.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c1f412260b4e0f309dba8da99482fb32d6098719
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 30 17:48:53 2014 -0200
target-i386: Eliminate CONFIG_KVM #ifdefs
The compiler is already able to eliminate the
kvm_arch_get_supported_cpuid()
calls in kvm_cpu_fill_host() and filter_features_for_kvm(), so we can
eliminate the CONFIG_KVM #ifdefs there.
Also, kvm_cpu_fill_host() and host_cpuid() don't need to check
CONFIG_KVM, as they don't have any KVM-specific function calls.
Tested to build successfully with CONFIG_KVM disabled, using the
following CFLAGS combinations: "-DNDEBUG", "-DNDEBUG -O', "-DNDEBUG
-O0", "-DNDEBUG -O1", "-DNDEBUG -O2".
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 48a5f3bcbbbe59a3120a39106bfda59fd1933fbc
Author: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Date: Fri Jan 24 00:40:49 2014 +1100
kvm: add support for hyper-v timers
http://msdn.microsoft.com/en-us/library/windows/hardware/ff541625%28v=vs.85%29.aspx
This code is generic for activating reference time counter or virtual
reference time stamp counter
Signed-off-by: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Reviewed-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5ef68987e5671edf5f51f845d1bbf3e5759a8526
Author: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Date: Fri Jan 24 00:40:48 2014 +1100
kvm: make hyperv vapic assist page migratable
Signed-off-by: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1c90ef2619dd6e5c4fec7e9e18c04c0a08e93aac
Author: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Date: Fri Jan 24 00:40:47 2014 +1100
kvm: make hyperv hypercall and guest os id MSRs migratable.
Signed-off-by: Vadim Rozenfeld <vrozenfe@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7bc3d711b45d6feacab96eda410c5655f4ddafcf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 23 19:16:12 2014 +0100
kvm: make availability of Hyper-V enlightenments dependent on
KVM_CAP_HYPERV
The MS docs specify HV_X64_MSR_HYPERCALL as a mandatory interface,
thus we must provide the MSRs even if the user only specified
features that, like relaxed timing, in principle don't require them.
And the MSRs are only there if the hypervisor has KVM_CAP_HYPERV.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 234cc64796557eea829544e4ff72ee99b6149187
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 23 19:27:24 2014 +0100
KVM: fix coexistence of KVM and Hyper-V leaves
kvm_arch_init_vcpu's initialization of the KVM leaves at 0x40000100
is broken, because KVM_CPUID_FEATURES is left at 0x40000001. Move
it to 0x40000101 if Hyper-V is enabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 977c7b6d8909464eb3a510829f534451d0adb227
Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Date: Tue Jan 21 18:11:31 2014 +0100
kvm: print suberror on all internal errors
KVM introduced internal error exit reason and suberror at the same time,
and later extended it with internal error data.
QEMU does not report suberror on hosts between these two events because
we check for the extension. (half a year in 2009, but it is misleading)
Fix by removing KVM_CAP_INTERNAL_ERROR_DATA condition on printf.
(partially improved by bb44e0d12df70 and ba4047cf848a3 in the past)
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f0b9b11164482a8a2283dee25cecc4a4c531259e
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:14 2014 -0200
target-i386: kvm_check_features_against_host(): Kill feature word array
We don't need the ft[] array on kvm_check_features_against_host()
anymore, as we can simply use the feature_word_info[] array, that has
everything we need.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2bc65d2b020887da3eb9043ae4f7d133ed85a7fe
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:13 2014 -0200
target-i386: kvm_cpu_fill_host(): Fill feature words in a loop
Now that the kvm_cpu_fill_host() code is simplified, we can simply set
the feature word array using a simple loop.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2a573259ebf8b1072707257d547603520d1ed236
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:12 2014 -0200
target-i386: kvm_cpu_fill_host(): Set all feature words at end of function
Reorder the code so all the code that sets x86_cpu_def->features is at
the end of the function.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 803a932706e3ba335d4c98f3577a05cb000f1699
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:11 2014 -0200
target-i386: kvm_cpu_fill_host(): No need to check xlevel2
There's no need to check CPU xlevel2 before calling
kvm_arch_get_supported_cpuid(s, 0xC0000001, 0, R_EDX), because:
* The kernel won't return any entry for 0xC0000000 if host CPU vendor
is not Centaur (See kvm_dev_ioctl_get_supported_cpuid() on the kernel
code)
* Similarly, the kernel won't return any entry for 0xC0000001 if
CPUID[0xC0000000].EAX is < 0xC0000001
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf
For similar reasons, we can simply set x86_cpu_def->xlevel2 directly
instead of making it conditional, because it will be set to 0 CPU vendor
is not Centaur.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
[Remove unparseable comment. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b73dcfb16fc894041de553ac9f98b9e1640fcf06
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:10 2014 -0200
target-i386: kvm_cpu_fill_host(): No need to check CPU vendor
There's no need to check CPU vendor before calling
kvm_arch_get_supported_cpuid(s, 0xC0000000, 0, R_EAX), because:
* The kernel won't return any entry for 0xC0000000 if host CPU vendor
is not Centaur (See kvm_dev_ioctl_get_cpuid() on the kernel code);
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7171a3933f2ee8cb984fd64c59ca081f39b943a4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:09 2014 -0200
target-i386: kvm_cpu_fill_host(): No need to check level
There's no need to check level (CPUID[0].EAX) before calling
kvm_arch_get_supported_cpuid(s, 0x7, 0, R_EBX), because:
* The kernel won't return any entry for CPUID 7 if CPUID[0].EAX is < 7
on the host (See kvm_dev_ioctl_get_cpuid() on the kernel code);
* kvm_arch_get_supported_cpuid() will return 0 if no entry is returned
by the kernel for the requested leaf.
This will simplify the kvm_cpu_fill_host() code a little.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 81e207707e7b6204f64451779d752f23777ed451
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Jan 20 14:41:08 2014 -0200
target-i386: kvm_cpu_fill_host(): Kill unused code
Those host_cpuid() calls are useless. They are leftovers from when the
old code using host_cpuid() was removed.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 56db2e5843256c857addb17deb743109330649be
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 21 11:37:25 2013 +0100
qtest: unlink UNIX domain sockets after connecting
UNIX domain sockets are leaked when tests call abort(3) (indirectly via
glib assert functions).
Unlink the files immediately after the connection has been established
to avoid leaks.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1ad3c6abc0d67e00b84abaa5527bc64b70ca2205
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 21 11:33:17 2013 +0100
qtest: unlink QEMU pid file after startup
After starting the QEMU process and initializing the QMP connection, we
can read the pid file and unlink it.
Just stash away the pid instead of the pid filename. This way we can
avoid pid file leaks since running tests may abort(3) without cleanup.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 41419b0f11d125ad792660638eb452c767eddc28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 3 15:36:01 2014 +0100
Update seabios binaries to 1.7.4
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cd4eb4c5ac0368ec2c30412e699e48f1a7ca6998
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Feb 3 15:31:47 2014 +0100
Update seabios submodule to 1.7.4
Not that many changes as we already have a git snapshot pretty close
to final 1.7.4 in the tree. Most notably change is the vgabios change
which fixes the windows guest regression.
Full git shortlog:
Gerd Hoffmann (2):
run qemu_cfg_e820 only for CONFIG_QEMU=y
change boot order load log level
Kevin O'Connor (10):
Minor - move sgdt/lgdt macros from stacks.c to x86.h.
Separate out sec32init sections even when not doing code relocation.
floppy: Fix incorrect LBA to CHS translation.
floppy: Fix accesses to DOR register.
vgabios: Avoid memory references via %esp register in vgabios.
Small improvements to irqentry_extrastack assembler.
floppy: Encode command and flags into single value in floppy pio
code.
On disk format request, verify cylinders and pass to driver.
floppy: Implement cylinder seeking when accessing a different
cylinder.
coreboot: Make sure to print the SeaBIOS version in cbmem debug
output.
Kyösti Mälkki (1):
Fix CBMEM console overflow
commit 50df8d5db04ac09477ed6ad3831592d699b3fafc
Author: Bruce Rogers <brogers@xxxxxxxx>
Date: Fri Dec 13 10:13:50 2013 -0700
roms: remove explicit MAKEFLAGS from recursive make invocations
When using $(MAKE) within a makefile, we shouldn't be explicitly
including $(MAKEFLAGS) on the command-line. It causes problems
when that makefile is recursively invoked. When the roms/Makefile
is invoked as in make -C roms bios a spurious 'w' appears on the
sub-make invocation, due to the erroneous $(MAKEFLAGS) inclusion.
Signed-off-by: Bruce Rogers <brogers@xxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8cfc114a2f293c40077d1bdb7500b29db359ca22
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Feb 1 09:41:09 2014 +0100
linux-user: Fix trampoline code for CRIS
__put_user can write bytes, words (2 bytes) or longwords (4 bytes).
Here obviously words should have been written, but bytes were written,
so values like 0x9c5f were truncated to 0x5f.
Fix this by changing retcode from uint8_t to to uint16_t in
target_signal_frame and also in the unused rt_signal_frame.
This problem was reported by static code analysis (smatch).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit ce603d8ef11f2a2d29be1c4f90d417331b41acfc
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 21 23:49:44 2014 +1000
cris: Remove the CRIS PIC glue
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 4a6da670f80c121acfea3dacf380c26e3aeacd5c
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 21 22:45:54 2014 +1000
axis-dev88: Connect the PIC upstream IRQs directly to the CPU
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 3065839c7207f459e3b3b3fbb2a04abc5276a8e0
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 21 22:44:23 2014 +1000
cris: Add interrupt signals to the CPU device
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit d66433ffdced6537ab7e6c423a8f14091c51e3e2
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Sat Jan 18 04:07:48 2014 +0000
cris: Abort when a v10 takes interrupts while in a delayslot
This is an internal error as the CRISv10 should mask interrupts
while executing delay slots. Bail out sooner rather than later.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit fd5d5afad8e7b92181ddfccd5639be9775456bec
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Sat Jan 18 03:42:23 2014 +0000
cris: Add "any" as alias for "crisv32" in user emulation
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 890911464934aebcb4409ad2495449d15d7347b4
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sat Jan 11 00:20:24 2014 +0100
spice: hook qemu_chr_fe_set_open() event to ports
This wires up a spice port event on virtio-ports open/close, so the
client is notified when the other end is ready.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 795ca114d353e02752a29f64902215bb30c58c21
Author: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
Date: Thu Jan 2 09:25:56 2014 -0600
Add the ability to vary Spice playback and record rates, to facilitate
Opus support.
Signed-off-by: Jeremy White <jwhite@xxxxxxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3761abb167847e9d848588bf15c5d7476845f7e8
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 20 18:57:12 2014 +0200
hw/display/qxl: fix signed to unsigned comparison
Several small signedness / overflow corrections to
qxl_create_guest_primary:
1. use 64 bit unsigned for size to avoid overflow possible from two 32
bit multiplicants.
2. correct sign for requested_height
3. add a more verbose error message when setting guest bug state (which
causes a complete guess blackout until reset, so it helps if it is
verbose).
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f06b85218a41fd6f8e797a925f4ea75640b69c9e
Author: Alon Levy <alevy@xxxxxxxxxx>
Date: Mon Jan 20 12:44:19 2014 +0200
qxl: clear irq on reset
Without this we occasionally trigger an assert at
hw/pci/pci.c:pcibus_reset that asserts the irq_count is zero on reset.
This has become a problem with the new drm driver for linux, since doing
a reboot from console causes a race between console updates that set the
irq and the reset assertion that the irq is clear.
Signed-off-by: Alon Levy <alevy@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f8b7ee38b3ed4ec2da5cc0529cf0cf82c8589805
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:27 2014 +0200
hw/9pfs: fix P9_STATS_GEN handling
Currently we fail getattr request altogether if we can't read
P9_STATS_GEN for some reason. It breaks valid use cases:
E.g let's assume we have non-readable directory with execution bit set
on host and we export it to client over 9p On host we can chdir into
directory, but not open directory on read and list content.
But if client will try to call getattr (as part of chdir(2)) for the
directory it will fail with -EACCES. It happens because we try to open
the directory on read to call ioctl(FS_IOC_GETVERSION), it fails and we
return the error code to client.
It's excessive. The solution is to make P9_STATS_GEN failure non-fatal
for getattr request. Just don't set P9_STATS_GEN flag in result mask on
failure.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 1a9978a51a17a26fd07e1b46f31ceeb9772fc191
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:26 2014 +0200
hw/9pfs: make get_st_gen() return ENOTTY error on special files
Currently we silently ignore getversion requests for anything except
file or directory. Let's instead return ENOTTY error to indicate that
getversion is not supported. It makes implementation consistent on
all not-supported cases.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit b9317661d13230ec9fd1162625b7f812c0cacd37
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:25 2014 +0200
hw/9pfs: handle undefined FS_IOC_GETVERSION case in
handle_ioc_getversion()
All get_st_gen() implementations except handle_ioc_getversion() have
guard for undefined FS_IOC_GETVERSION. Let's add it there too.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 0e5fc994d24af4f4f9a1368bf9c2e730c120c549
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Date: Tue Jan 28 17:08:24 2014 +0200
hw/9pfs: fix error handing in local_ioc_getversion()
v9fs_co_st_gen() expects to see error code in errno, not in return code.
Let's fix this.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
commit 2f61120c10da9128357510debc8e66880cd2bfdc
Merge: b4a8c9a 056f49f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 23:32:23 2014 +0000
Merge remote-tracking branch 'qmp-unstable/queue/qmp' into staging
* qmp-unstable/queue/qmp:
monitor: Cleanup mon->outbuf on write error
virtio_rng: replace custom backend API with UserCreatable.complete()
callback
add optional 2nd stage initialization to -object/object-add commands
vl.c: -object: don't ignore duplicate 'id'
object_add: consolidate error handling
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b4a8c9ae9758efb6873097f415e9972127ccf418
Merge: 850bbe1 5b0adce
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 23:06:11 2014 +0000
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140131'
into staging
target-arm queue:
* implementation of first part of the A64 Neon instruction set
* v8 AArch32 rounding and 16<->64 fp conversion instructions
* fix MIDR value on Zynq boards
* some minor bugfixes/code cleanups
# gpg: Signature made Fri 31 Jan 2014 15:06:34 GMT using RSA key ID
14360CDE
# gpg: Good signature from "Peter Maydell <peter.maydell@xxxxxxxxxx>"
* pmaydell/tags/pull-target-arm-20140131: (34 commits)
arm_gic: Fix GICD_ICPENDR and GICD_ISPENDR writes
arm_gic: Introduce define for GIC_NR_SGIS
target-arm: A64: Add SIMD shift by immediate
target-arm: A64: Add simple SIMD 3-same floating point ops
target-arm: A64: Add integer ops from SIMD 3-same group
target-arm: A64: Add logic ops from SIMD 3 same group
target-arm: A64: Add top level decode for SIMD 3-same group
target-arm: A64: Add SIMD scalar 3 same add, sub and compare ops
target-arm: A64: Add SIMD three-different ABDL instructions
target-arm: A64: Add SIMD three-different multiply accumulate insns
target-arm: Add AArch32 SIMD VCVTA, VCVTN, VCVTP and VCVTM
target-arm: Add AArch32 FP VCVTA, VCVTN, VCVTP and VCVTM
target-arm: Add AArch32 SIMD VRINTA, VRINTN, VRINTP, VRINTM, VRINTZ
target-arm: Add set_neon_rmode helper
target-arm: Add support for AArch32 SIMD VRINTX
target-arm: Add support for AArch32 FP VRINTX
target-arm: Add support for AArch32 FP VRINTZ
target-arm: Add support for AArch32 FP VRINTR
target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM
target-arm: Move arm_rmode_to_sf to a shared location.
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 850bbe1b94445cb84a2f648bc2e8c35ef6188eb4
Merge: bd88091 8b6d140
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 21:07:59 2014 +0000
Merge remote-tracking branch
'remotes/awilliam/tags/vfio-pci-for-qemu-20140128.0' into staging
vfio-pci updates include:
- Destroy MemoryRegions on device teardown
- Print warnings around PCI option ROM failures
- Skip bogus mappings from 64bit BAR sizing
- Act on DMA mapping failures
- Fix alignment to avoid MSI-X table mapping
- Fix debug macro typo
# gpg: Signature made Tue 28 Jan 2014 15:27:47 GMT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
* remotes/awilliam/tags/vfio-pci-for-qemu-20140128.0:
vfio: correct debug macro typo
vfio: fix mapping of MSIX bar
kvm: initialize qemu_host_page_size
vfio-pci: Fail initfn on DMA mapping errors
vfio: Filter out bogus mappings
vfio: Do not reattempt a failed rom read
vfio: warn if host device rom can't be read
vfio: Destroy memory regions
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit bd88091cfbc3627ac436b5a554340cd263c93b56
Merge: 89e4a51 360e607
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Feb 1 20:43:07 2014 +0000
Merge remote-tracking branch 'remotes/sstabellini/xen-140130' into staging
* remotes/sstabellini/xen-140130:
address_space_translate: do not cross page boundaries
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b76afd1072e02fe77e09790fbe1e831700976c5f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Jan 27 16:26:21 2014 +0800
tests/.gitignore: Ignore tests/check-qom-interface
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5eaac2f8282a066f08b5c91f43a4e2ede0e55b8c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Jan 26 15:02:29 2014 +0100
hw/ppc: Remove unused defines
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d5d1507b347b7cd6c3b82459b96f1889b29939ef
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Jan 25 18:18:23 2014 +0100
readline: Add missing GCC_FMT_ATTR
This fixes a compiler warning with -Werror=missing-format-attribute
and allows improved compiler checks for variable argument lists.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c6830cdb2c1053bca1e61eb242b1900489c160af
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jan 29 13:08:30 2014 -0800
tcg/s390: Remove sigill_handler
Commit c9baa30f42a87f61627391698f63fa4d1566d9d8 failed to
delete all of the relevant code, leading to Werrors about
unused symbols.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c428c5a21ce9a9861839ee544afd10638016e3f5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Jan 31 23:05:24 2014 +0100
i386: Add missing include file for QEMU_PACKED
Instead of packing BiosLinkerLoaderEntry, an unused global variable called
QEMU_PACKED was created (detected by smatch static code analysis).
Including qemu-common.h gets the right definition and also includes some
standard include files which now can be removed here.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1165ae613d3482e79c56d5a05c3354b2baae6ee7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Jan 23 14:27:59 2014 -0600
osdep: drop unused #include "trace.h"
osdep.c does not use trace_*() so we can just drop the include.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dc9a353cf7de78b9fae3e46410803d487fd2fc8f
Author: Martin Husemann <martin@xxxxxxxxxxx>
Date: Sat Jan 18 14:47:23 2014 +0100
qemu 1.7.0 does not build on NetBSD
Do not rely on int8_t (and friends) not being preprocessor
symbols (or symbols expanding to themselves). On NetBSD (for example) the
glue(u, SDATA_TYPE) results in u__int8_t, which is undefined. There is
no way
to stop cpp expanding inner macros, so just add the few lines explicitly
and
get rid of the magic.
Signed-off-by: Martin Husemann <martin@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1b7650ef2f63d53cf89af25a9f323323cf2423a7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jan 29 16:33:54 2014 +0100
qemu-iotests: only run 071 on qcow2
The 071 test is designed for IMGFMT=qcow2 because it uses the l2_load
blkdebug event. Its output filtering also assumes that IMGFMT is not
raw since 071.out contains "format=raw" but IMGFMT=raw would filter the
output to "format=IMGFMT".
Perhaps the test case can be rewritten to be more generic, but for now
let's document that it was only supposed to work with qcow2.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 170a60345ee84dff3114f759367badfb85680728
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Jan 30 16:34:12 2014 +0100
dataplane: Comment fix
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f50159fa9b5a0ad82e30c123643ec39a1df81d9a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jan 29 18:05:08 2014 +0100
block/vhdx: Error checking fixes
Errors are inadvertently ignored in a few places. Has always been
broken. Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fb0a078f3a84b5a609d528500eea36b69ace9b20
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jan 29 18:47:23 2014 +0800
qemu-iotests: Drop assert_no_active_commit in case 040
It is exactly assert_no_active_block_jobs in iotests.py
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f43aa8e18ad83508c2786403e7230a584d357c8e
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Jan 29 09:34:16 2014 +0100
block/vmdk: add basic .bdrv_check support
this adds a basic vmdk corruption check. it should detect severe
table corruptions and file truncation.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 14b4a8b9c654b625dea0f532fae5722781fd0a7d
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Jan 27 16:09:13 2014 -0500
block: remove qcow2 .bdrv_make_empty implementation
The QCOW2 .bdrv_make_empty implementation always returns 0 for success,
but does not actually do anything.
The proper way to not support an optional driver function stub is to
just not implement it, so let's remove the stub.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 55aff7f133b0eb20b2c8a2a3e1307240aab8044c
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Mon Jan 27 16:09:12 2014 -0500
block: remove QED .bdrv_make_empty implementation
The QED .bdrv_make_empty() implementation does nothing but return
-ENOTSUP, which causes problems in bdrv_commit(). Since the function
stub exists for QED, it is called, which then always returns an error.
The proper way to not support an optional driver function stub is to
just not implement it, so let's remove the stub.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 136cd19d0522c03b6dccc3e344886feab6faee43
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Wed Jan 22 15:47:10 2014 +0000
Describe flaws in qcow/qcow2 encryption in the docs
The qemu-img.texi / qemu-doc.texi files currently describe the
qcow2/qcow2 encryption thus
"Encryption uses the AES format which is very secure (128 bit
keys). Use a long password (16 characters) to get maximum
protection."
While AES is indeed a strong encryption system, the way that
QCow/QCow2 use it results in a poor/weak encryption system.
Due to the use of predictable IVs, based on the sector number
extended to 128 bits, it is vulnerable to chosen plaintext
attacks which can reveal the existence of encrypted data.
The direct use of the user passphrase as the encryption key
also leads to an inability to change the passphrase of an
image. If passphrase is ever compromised the image data will
all be vulnerable, since it cannot be re-encrypted. The admin
has to clone the image files with a new passphrase and then
use a program like shred to secure erase all the old files.
Recommend against any use of QCow/QCow2 encryption, directing
users to dm-crypt / LUKS which can meet modern cryptography
best practices.
[Changed "Qcow" to "qcow" for consistency.
--Stefan]
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b0adce156216fb24dcc5f1683e8b686f3793fff
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Jan 31 14:47:38 2014 +0000
arm_gic: Fix GICD_ICPENDR and GICD_ISPENDR writes
Fix two bugs that would allow changing the state of SGIs through the
ICPENDR and ISPENDRs.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 41ab7b55108e2699e7c2e77788465cb52a0b2c08
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Jan 31 14:47:38 2014 +0000
arm_gic: Introduce define for GIC_NR_SGIS
Instead of hardcoding 16 various places in the code, use a define to
make it more clear what is going on.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4d1cef840d526c80244175c208260f165f9226db
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add SIMD shift by immediate
This implements a subset of the AdvSIMD shift operations (namely all the
none saturating or narrowing ones). The actual shift generation code
itself is common for both the scalar and vector cases but wrapped with
either vector element iteration or the fp reg access.
The rounding operations need to take special care to correctly reflect
the result of adding rounding bits on high bits as the intermediates do
not truncate.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 845ea09acc4b5ab8335530aaaf94531c368ba934
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add simple SIMD 3-same floating point ops
Implement a simple subset of the SIMD 3-same floating point
operations. This includes a common helper function used for both
scalar and vector ops; FABD is the only currently implemented
shared op.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1f8a73af12ddfb9cf9a90261338b466b7dbf7ab9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add integer ops from SIMD 3-same group
Add some of the integer operations in the SIMD 3-same group:
specifically, the comparisons, addition and subtraction.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 956d272eb2996e4d95f8a674256f8a63a0c1e8d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add logic ops from SIMD 3 same group
Add support for the logical operations (ORR, AND, BIC, ORN, EOR, BSL,
BIT and BIF) from the SIMD 3 register same group (C3.6.16).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e1cea1144aff6498ddbcd60e2bff4172869b10d4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:37 2014 +0000
target-arm: A64: Add top level decode for SIMD 3-same group
Add top level decode for the A64 SIMD three regs same group
(C3.6.16), splitting it into the pairwise, logical, float and
integer subgroups.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b305dba6cf2957bc67aa6072978c65026ce478fb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:36 2014 +0000
target-arm: A64: Add SIMD scalar 3 same add, sub and compare ops
Implement the add, sub and compare ops from the SIMD "scalar three same"
group.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ae39320bd0783f1a1d4ac63ec9ba48ca41764dc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:36 2014 +0000
target-arm: A64: Add SIMD three-different ABDL instructions
Implement the absolute-difference instructions in the SIMD
three-different group: SABAL, SABAL2, UABAL, UABAL2, SABDL,
SABDL2, UABDL, UABDL2.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a08582f41e94b5a7ee3e53ad1e719d24431aa675
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:36 2014 +0000
target-arm: A64: Add SIMD three-different multiply accumulate insns
Add support for the multiply-accumulate instructions from the
SIMD three-different instructions group (C3.6.15):
* skeleton decode of unallocated encodings and split of
the group into its three sub-parts
* framework for handling the 64x64->128 widening subpart
* implementation of the multiply-accumulate instructions
SMLAL, SMLAL2, UMLAL, UMLAL2, SMLSL, SMLSL2, UMLSL, UMLSL2,
UMULL, UMULL2, SMULL, SMULL2
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 901ad5259fab785537f8c6b3713fce85d2ebceb1
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add AArch32 SIMD VCVTA, VCVTN, VCVTP and VCVTM
Add support for the AArch32 Advanced SIMD VCVTA, VCVTN, VCVTP
and VCVTM instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c9975a838736c9479b2e17fff7e50a2a83b1009e
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add AArch32 FP VCVTA, VCVTN, VCVTP and VCVTM
Add support for the AArch32 floating-point VCVTA, VCVTN, VCVTP
and VCVTM instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 34f7b0a276ed2679c5e420ed1bc6525689ac5abd
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add AArch32 SIMD VRINTA, VRINTN, VRINTP, VRINTM, VRINTZ
Add support for the AArch32 Advanced SIMD VRINTA, VRINTN, VRINTP
VRINTM and VRINTZ instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 43630e585300465b72ecf328822c8611724307de
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:35 2014 +0000
target-arm: Add set_neon_rmode helper
This helper sets the rounding mode in the standard_fp_status word to
allow NEON instructions to modify the rounding mode whilst using the
standard FPSCR values for everything else.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2ce7062501c715aae0ad37c3923a3710dd8914df
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 SIMD VRINTX
Add support for the AArch32 Advanced SIMD VRINTX instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4e82bc01ecc46e90346f731065528b1d47971eba
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 FP VRINTX
Add support for the AArch32 floating-point VRINTX instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a290c62a7521a5695e12bb9022f8b953c2f50f54
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 FP VRINTZ
Add support for the AArch32 floating-point VRINTZ instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 664c6733d72c589cd9f6ccee305e7b7ce36ea06d
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:34 2014 +0000
target-arm: Add support for AArch32 FP VRINTR
Add support for the AArch32 floating-point VRINTR instruction.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7655f39bde5de92b4a3c154a5a8735476c34f458
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
target-arm: Add AArch32 FP VRINTA, VRINTN, VRINTP and VRINTM
Add support for AArch32 ARMv8 FP VRINTA, VRINTN, VRINTP and VRINTM
instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9972da669fd3d3e3423d2bf6cb2c11fa9239f862
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
target-arm: Move arm_rmode_to_sf to a shared location.
This function will be needed for AArch32 ARMv8 support, so move it to
helper.c where it can be used by both targets. Also moves the code out
of line, but as it is quite a large function I don't believe this
should be a significant performance impact.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2cdaca90ddf3291f308a10623c1a802ef760bac1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
display: avoid multi-statement macro
For blizzard, pl110 and tc6393xb this is harmless, but for pxa2xx
Coverity noticed that it is used inside an "if" statement.
Fix it because it's the file with the highest number of defects
in the whole QEMU tree! Use "do...while (0)", or just remove the
semicolon if there's a single statement in the macro.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b48adc0d301464d627d6d0f83dee911a2138187f
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Fri Jan 31 14:47:33 2014 +0000
ZYNQ: Implement board MIDR control for Zynq
This patch uses the fact that the midr variable is now a property
This patch sets the midr variable to the boards custom midr
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Message-id:
a3754b10d150af72e4688a993e484fa2b9b8fa21.1390176489.git.alistair.francis@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 51a9b04bd3b01e11a1db4fc2ac2f1d324fbd30aa
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
ARM: Convert MIDR to a property
Convert the MIDR register to a property. This allows boards to later set
a custom MIDR value. This has been done in such a way to maintain
compatibility with all existing CPUs and boards
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
878613f2f12d4162f12629522fd99de8df904856.1390176489.git.alistair.francis@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 83bfffec72ad447dfc80a4eab320403175ffe4e3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
hw/arm/boot: Don't set up ATAGS for autogenerated dtb booting
The code which decides whether to set up the ATAGS data structure on
reset was using the wrong conditional, which meant we were creating
an ATAGS structure when doing a device-tree boot if the dtb was
autogenerated by the board. This is harmless, but unnecessary, so
bring it in to line with user-provided-dtb boots.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1388326833-656-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 360a6f2dbde39211107620a3d38b8cc8cc5281ee
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
target-arm: A64: Add SIMD scalar copy instructions
Add support for the SIMD scalar copy instruction group (C3.6.7),
which consists of the single instruction DUP (element, scalar).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f3f8c4f4d2fc7dda192393f998e63c7a83fb7554
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:32 2014 +0000
target-arm: A64: Add SIMD modified immediate group
This patch adds support for the AdvSIMD modified immediate group
(C3.6.6) with all its suboperations (movi, orr, fmov, mvni, bic).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[AJB: new decode struct, minor bug fixes, optimisation]
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 67bb93890d7b435f294f1e47ee7adc5662cc0842
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD copy operations
This adds support for the all the AdvSIMD vector copy operations
(ARM ARM 3.6.5).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a0ff1ce73a9e06ecb655019820229de74244432
Author: Michael Matz <matz@xxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD across-lanes instructions
Add support for the SIMD "across lanes" instruction group (C3.6.4).
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: Updated to current codebase, added fp min/max ops,
added unallocated encoding checks]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5fa5469c08f6e51eed26d6d54e0be8682723d3df
Author: Michael Matz <matz@xxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD ZIP/UZP/TRN
Add support for the SIMD ZIP/UZIP/TRN instruction group
(C3.6.3).
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: use new do_vec_get/set etc functions and generally update to new
codebase standards; refactor to pull per-element loop outside switch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7c51048fa918f64806adf0f76166e9940d772eb1
Author: Michael Matz <matz@xxxxxxx>
Date: Fri Jan 31 14:47:31 2014 +0000
target-arm: A64: Add SIMD TBL/TBLX
Add support for the SIMD TBL/TBLX instructions (group C3.6.2).
Signed-off-by: Michael Matz <matz@xxxxxxx>
[PMM: rewritten to do more of the decode in translate-a64.c,
and to do only one 64 bit pass at a time in the helper]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5c73747f3cc29471f9fbfe630ef15902e65f53b3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add SIMD EXT
Add support for the SIMD EXT instruction (the only one in its
group, C3.6.1).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 384b26fb06f72e822730d3b8f51fd71a5fec5eee
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add decode skeleton for SIMD data processing insns
Add decode skeleton and function placeholders for all the SIMD data
processing instructions. Due to the complexity of this part of the
table the normal extract and switch approach gets very messy very
quickly, so we use a simple data-driven pattern-and-mask approach.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit df54e47d2b86c636b4d22f663dbffce6a3cffd81
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add SIMD ld/st single
Implement the SIMD ld/st single structure instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 72430bf5eb7f7309e705705af9798d13aa94e80d
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Fri Jan 31 14:47:30 2014 +0000
target-arm: A64: Add SIMD ld/st multiple
This adds support support for the SIMD load/store
multiple category of instructions.
This also brings in a couple of helper functions for manipulating
sections of the SIMD registers:
* do_vec_get - fetch value from a slice of a vector register
* do_vec_set - set a slice of a vector register
which use vec_reg_offset for consistent processing of offsets in an
endian aware manner. There are also additional helpers:
* do_vec_ld - load value into SIMD
* do_vec_st - store value from SIMD
which load or store a slice of a vector register to memory.
These don't zero extend like the fp variants.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 89e4a51ca9546a7bbe1998c4e3d4a3ac3a0c19be
Merge: 0159a64 736ec16
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 11:13:08 2014 +0000
Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into
staging
Tracing pull request
# gpg: Signature made Mon 27 Jan 2014 14:51:09 GMT using RSA key ID
81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@xxxxxxxxxx>"
# gpg: aka "Stefan Hajnoczi <stefanha@xxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB
73C8
* stefanha/tags/tracing-pull-request:
trace: fix simple trace "disable" keyword
trace: add glib 2.32+ static GMutex support
trace: [simple] Do not include "trace/simple.h" in generated tracer
headers
tracing: start trace processing thread in final child process
Message-id: 1390834386-23139-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 44c68de0445677728700651ed4e2d2063f36f9ed
Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 16:28:23 2013 +0200
s390x/kvm: cleanup partial register handling
The partial register handling (introduced with commits
420840e58b85f7f4e5493dca3f273566f261090a and
3474b679486caa8f6448bae974e131370f360c13 ) aimed to improve intercept
handling performance.
It made the code more complicated though. During development for life
migration/init/reset etc it turned out that this might cause several
hard to debug programming errors. With the introduction of ioeventfd
(and future irqfd patches) the qemu intercept handlers are no longer
hot-path. And therefore the partial register handling can be
removed to simplify the code.
Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx>
CC: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 0159a64397fc8e6c85de73613d83a3612c840664
Merge: 97374ce a75143e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 00:23:27 2014 +0000
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi,pci,pc,virtio fixes and enhancements
This includes new unit-tests for acpi by Marcel,
hotplug for pci bridges by myself (piix only so far)
and cpu hotplug for q35.
And a bunch of fixes all over the place as usual.
I included the patch to fix memory alignment for q35
as well - even though it limits 32 bit guests to 3G (they
previously could address more memory with PAE).
To remove the limit, this will have to be fixed in seabios.
I also added self as virtio co-maintainer so I don't need
to troll the list for patches to review.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 26 Jan 2014 11:12:09 GMT using RSA key ID
D28D5469
# gpg: Good signature from "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: aka "Michael S. Tsirkin <mst@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE
8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D
5469
* mst/tags/for_anthony: (35 commits)
MAINTAINERS: add self as virtio co-maintainer
q35: document gigabyte_align
q35: gigabyte alignment for ram
acpi: Fix PCI hole handling on build_srat()
pc: Save size of RAM below 4GB
hw/pci: fix error flow in pci multifunction init
acpi-test: update expected AML since recent changes
pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated
pc: ACPI: unify source of CPU hotplug IO base/len
pc: ACPI: expose PRST IO range via _CRS
pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources
pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus
resources
pc: set PRST base in DSDT depending on chipset
acpi: ich9: add CPU hotplug handling to Q35 machine
acpi: factor out common cpu hotplug code for PIIX4/Q35
acpi-build: enable hotplug for PCI bridges
piix4: add acpi pci hotplug support
pcihp: generalization of piix4 acpi
pci: add pci_for_each_bus_depth_first
pc: make: fix dependencies: rebuild when included file is changed
...
Message-id: 1390735289-15563-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 97374ce538883af677fd94803b71df2d55a9a4de
Merge: 8e02b35 794798e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 31 00:13:02 2014 +0000
Merge remote-tracking branch 'sstabellini/xen-170114' into staging
* sstabellini/xen-170114:
xen_pt: Fix passthrough of device with ROM.
xen_pt: Fix debug output.
xenfb: map framebuffer read-only and handle unmap errors
Message-id: alpine.DEB.2.02.1401171537140.21510@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8e02b359267f8919de799525a4ccd4d37ef2d127
Merge: dc08f85 1f149e7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 30 22:25:39 2014 +0000
Merge remote-tracking branch 'stefanha/tags/net-pull-request' into staging
Net patches
# gpg: Signature made Mon 27 Jan 2014 14:45:35 GMT using RSA key ID
81AB73C8
# gpg: Can't check signature: public key not found
* stefanha/tags/net-pull-request:
tap-linux: Get features once and use it many times
Fix lan9118 buffer length handling
Fix lan9118 TX "CMD A" handling
net: Use g_strdup_printf instead of snprintf.
Message-id: 1390834129-19625-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dc08f85188b5976d93bff25ab9e68cf3ce62b12f
Merge: 0706f7c 2d23d5e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 30 19:02:16 2014 +0000
Merge remote-tracking branch 'rth/tcg-movbe' into staging
* rth/tcg-movbe:
tcg/i386: cleanup useless #ifdef
tcg/i386: use movbe instruction in qemu_ldst routines
tcg/i386: add support for three-byte opcodes
tcg/i386: remove hardcoded P_REXW value
disas/i386.c: disassemble movbe instruction
Message-id: 1390692772-15282-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 360e607b88a23d378f6efaa769c76d26f538234d
Author: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Date: Thu Jan 30 12:46:05 2014 +0000
address_space_translate: do not cross page boundaries
The following commit:
commit 149f54b53b7666a3facd45e86eece60ce7d3b114
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri May 24 12:59:37 2013 +0200
memory: add address_space_translate
breaks Xen support in QEMU, in particular the Xen mapcache. The effect
is that one Windows XP installation out of ten would end up with BSOD.
The reason is that after this commit l in address_space_rw can span a
page boundary, however qemu_get_ram_ptr still calls xen_map_cache asking
to map a single page (if block->offset == 0).
Fix the issue by reverting to the previous behaviour: do not return a
length from address_space_translate_internal that can span a page
boundary.
Also in address_space_translate do not ignore the length returned by
address_space_translate_internal.
This patch should be backported to QEMU 1.6.x.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Anthony Perard <anthony.perard@xxxxxxxxxx>
Tested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit 0706f7c85b3c0783f92d44b551f362884db0f4bd
Merge: 18d13fa 2c02d1a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Jan 30 13:56:00 2014 +0000
Merge remote-tracking branch 'mjt/tags/trivial-patches-2014-01-16' into
staging
trivial-patches for 2014-01-16
# gpg: Signature made Thu 16 Jan 2014 17:29:05 GMT using RSA key ID
74F0C838
# gpg: Good signature from "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxx>"
# gpg: aka "Michael Tokarev <mjt@xxxxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044
65C5
# Subkey fingerprint: E190 8639 3B10 B51B AC2C 8B73 5253 C5AD 74F0
C838
Message-id: 1389893719-16336-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 18d13fa293af8e54e15c4651f99b24a139c9eb43
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sun Jan 19 16:53:31 2014 +0100
TCG: Fix I64-on-32bit-host temporaries
We have cache pools of temporaries that we can reuse later when they've
already been allocated before.
These cache pools differenciate between the target TCG variable type they
contain. So we have one pool for I32 and one pool for I64 variables.
On a 32bit system, we can't work with 64bit registers though. So instead
we
spawn two I32 temporaries for every I64 temporary we create. All caching
works the same way as on a real 64-bit system though: We create a cache
entry
in the 64bit array for the first i32 index.
However, when we free such a temporary we free it to the pool of its type
(which is always i32 on 32bit systems) rather than its base_type (which is
i64 or i32 depending on the variable). This means we put a temporary that
is of base_type == i64 into the i32 preallocated temporary pool.
Eventually, this results in failures like this on 32bit hosts:
qemu-system-ppc64: tcg/tcg.c:515: tcg_temp_new_internal: Assertion
`ts->base_type == type' failed.
This patch makes the free routine use the base_type instead for the free
case,
so it's consistent with the temporary allocation. It fixes the above
failure
for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1390146811-59936-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 056f49ff2cf645dc484956b00b65a3aa18a1a9a3
Author: Stratos Psomadakis <psomas@xxxxxxxx>
Date: Mon Jan 27 12:30:15 2014 +0200
monitor: Cleanup mon->outbuf on write error
In case monitor_flush() fails to write the contents of mon->outbuf to
the output device, mon->outbuf is not cleaned up properly. Check the
return code of the qemu_chr_fe_write() function and cleanup the outbuf
if it fails.
References:
http://lists.nongnu.org/archive/html/qemu-devel/2014-01/msg02890.html
Signed-off-by: Stratos Psomadakis <psomas@xxxxxxxx>
Signed-off-by: Dimitris Aragiorgis <dimara@xxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 57d3e1b3f52d07d215ed96df946ee01f8d9f9526
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:39 2014 +0100
virtio_rng: replace custom backend API with UserCreatable.complete()
callback
in addition fix default backend leak by releasing it if its
initialization failed.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 269e09f3fc922b800d118d9c8a721be46b5462a3
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:38 2014 +0100
add optional 2nd stage initialization to -object/object-add commands
Introduces USER_CREATABLE interface that must be implemented by
objects which are designed to created with -object CLI option or
object-add QMP command.
Interface provides an ability to do an optional second stage
initialization of the object created with -object/object-add
commands. By providing complete() callback, which is called
after the object properties were set.
It allows to:
* prevents misusing of -object/object-add by filtering out
objects that are not designed for it.
* generalize second stage backend initialization instead of
adding custom APIs to perform it
* early error detection of backend initialization at -object/
object-add time rather than through a proxy DEVICE object
that tries to use backend.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 90e9cf28e57a3e1d6caa0a28b0a332ff982ccb0b
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:37 2014 +0100
vl.c: -object: don't ignore duplicate 'id'
object_property_add_child() may fail if 'id' matches
an already existing object. Which means an incorrect
command line.
So instead of silently ignoring error, report it and
terminate QEMU.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 69252c046741a0955ddb90250f416a2199305091
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 16 17:34:36 2014 +0100
object_add: consolidate error handling
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8b6d14087d487203f4d1a67aeaddc3be6c73f49f
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Tue Jan 28 08:23:19 2014 -0700
vfio: correct debug macro typo
Change to DEBUG_VFIO in vfio_msi_interrupt() for debug
messages to get printed
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 234eef51a12e2f0f8dfd71cb49d2469d462b1855
Author: Matthew Rosato <mjrosato@xxxxxxxxxxxxxxxxxx>
Date: Mon Jan 27 10:57:50 2014 -0500
sclp-s390: Define new SCLP codes and structures
Define new SCLP codes and structures that will be needed for
s390 memory hotplug.
Signed-off-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 736ec1677f1ae7e64f2f3436ca3775c48f79678c
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Jan 15 11:10:30 2014 +0800
trace: fix simple trace "disable" keyword
The trace-events "disable" keyword turns an event into a nop at
compile-time. This is important for high-frequency events that can
impact performance.
The "disable" keyword is currently broken in the simple trace backend.
This patch fixes the problem as follows:
Trace events are identified by their TraceEventID number. When events
are disabled there are two options for assigning TraceEventID numbers:
1. Skip disabled events and don't assign them a number.
2. Assign numbers for all events regardless of the disabled keyword.
The simple trace backend and its binary file format uses approach #1.
The tracetool infrastructure has been using approach #2 for a while.
The result is that the numbers used in simple trace files do not
correspond with TraceEventIDs. In trace/simple.c we assumed that they
are identical and therefore emitted bogus numbers.
This patch fixes the bug by using TraceEventID for trace_event_id()
while sticking to approach #1 for simple trace file numbers. This
preserves simple trace file format compatibility.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 05735a2a9cf37f5dc11ece998906431dda707258
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Dec 12 15:50:11 2013 +0100
trace: add glib 2.32+ static GMutex support
The GStaticMutex API was deprecated in glib 2.32. We cannot switch over
to GMutex unconditionally since we would drop support for older glib
versions. But the deprecated API warnings during build are annoying so
use static GMutex when possible.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b618c28831eda2531acc5c1feb9dbb3047d19391
Author: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Date: Tue Jan 14 16:52:55 2014 +0100
trace: [simple] Do not include "trace/simple.h" in generated tracer
headers
The header is not necessary, given that the simple backend does not
define any
inlined tracing routines.
Signed-off-by: LluÃs Vilanova <vilanova@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8a745f2a9296ad2cf6bda33534ed298f2625a4ad
Author: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 23 16:36:54 2013 +0200
tracing: start trace processing thread in final child process
When running with trace backend e.g. "simple" the writer thread needs to
be
implemented in the same process context as the trace points that will be
processed. Under libvirtd control, qemu gets first started in daemonized
mode to privide its capabilities. Creating the writer thread in the
initial
process context then leads to a dead lock because the thread gets termined
together with the initial parent. (-daemonize)
Signed-off-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[minor whitespace fixes]
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1f149e721feb617d14a3ee4f5911c47b29866a54
Author: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Date: Sat Jan 18 14:38:45 2014 +0900
tap-linux: Get features once and use it many times
Signed-off-by: Kusanagi Kouichi <slash@xxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c444dfabfc21cb5f093862100e333b808eea32e4
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Jan 7 20:19:52 2014 -0800
Fix lan9118 buffer length handling
The 9118 ethernet controller supports transmission of multi-buffer packets
with arbitrary byte alignment of the start and end bytes. All writes to
the packet fifo are 32 bits, so the controller discards bytes at the
beginning
and end of each buffer based on the 'Data start offset' and 'Buffer size'
of the TX command 'A' format.
This patch uses the provided buffer length to limit the bytes transmitted.
Previously all the bytes of the last 32-bit word written to the TX fifo
were added to the internal transmit buffer structure resulting in more
bytes
being transmitted than were submitted to the hardware in the command.
This
resulted in extra bytes being inserted into the middle of multi-buffer
packets when the non-final buffers had non-32bit aligned ending addresses.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2ad657e3f3af66def47554186a58f1748787a527
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Jan 7 20:19:51 2014 -0800
Fix lan9118 TX "CMD A" handling
The 9118 ethernet controller supports transmission of multi-buffer packets
with arbitrary byte alignment of the start and end bytes. All writes to
the packet fifo are 32 bits, so the controller discards bytes at the
beginning
and end of each buffer based on the 'Data start offset' and 'Buffer size'
of the TX command 'A' format.
This patch changes the buffer size and offset internal state variables to
be
updated on every "TX command A" write. Previously they were only updated
for
the first segment, which resulted incorrect behavior for packets with more
than one segment. Each segment of the packet has its own CMD A command,
with
its own buffer size and start offset.
Also update extraction of fields from the CMD A word to use extract32().
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bf2c138ddefc6ff17f6c4b947320c60aa0c38a0
Author: Hani Benhabiles <kroosec@xxxxxxxxx>
Date: Thu Jan 9 19:34:27 2014 +0100
net: Use g_strdup_printf instead of snprintf.
assign_name() in net/net.c is using snprintf + g_strdup to get the same
result as g_strdup_printf.
Signed-off-by: Hani Benhabiles <kroosec@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a75143eda2ddf581b51e96c000974bcdfe2cbd10
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Jan 26 12:39:55 2014 +0200
MAINTAINERS: add self as virtio co-maintainer
This will help make sure I get Cc'd on patches.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4e17997d49d6e3a426fd465dfbdf5a4dc04639f4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 16 13:55:06 2013 +0200
q35: document gigabyte_align
Document the logic behind the below/above 4G split.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9a305c8fc7bb567e9f754ddfe5fb102aaeeb770a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 10:11:28 2013 +0100
q35: gigabyte alignment for ram
Map 2G (q35) of memory below 4G, so the RAM pieces
are nicely aligned to gigabyte borders.
Keep old memory layout for (a) old machine types and (b) in case all
memory fits below 4G and thus we don't have to split RAM into pieces
in the first place. The later makes sure this change doesn't take
away memory from 32bit guests.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c8a949b2416158a311abefc09a20153aa107e93
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 9 17:12:43 2014 -0200
acpi: Fix PCI hole handling on build_srat()
The original SeaBIOS code used the RamSize variable, that was used by
SeaBIOS for the size of RAM below 4GB, not for all RAM. When copied to
QEMU, the code was changed to use the full RAM size, and this broke the
build_srat() code that handles the PCI hole.
Change build_srat() to use ram_size_below_4g instead of ram_size, to
restore the original behavior from SeaBIOS.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f30ee8a9682be4abfcb05c6389894f8cfc35c3f0
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Jan 9 17:12:42 2014 -0200
pc: Save size of RAM below 4GB
The ram_below_4g value will be useful in other places, such as the ACPI
table code, and other code that currently requires passing
below_4g_mem_size around in function arguments.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 306077640a652e090779498aadbeb0c605feaacd
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Jan 21 18:37:51 2014 +0200
hw/pci: fix error flow in pci multifunction init
Scenario:
- There is a non multifunction pci device A on 00:0X.0.
- Hot-plug another multifunction pci device B at 00:0X.1.
- The operation will fail of course.
- Try to hot-plug the B device 2-3 more times, qemu will crash.
Reason: The error flow leaves the B's address space into global address
spaces
list, but the device object is freed. Fixed that.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b8124cecb55b3bc4e7dee0ff34b294942044d74a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Jan 20 14:00:12 2014 +0200
acpi-test: update expected AML since recent changes
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2867534f3d1daa970eba2afdb9b401388bd75b56
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:39 2014 +0100
pc: ACPI: update acpi-dsdt.hex.generated q35-acpi-dsdt.hex.generated
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e4cf8ed08a1b8b996f9939de0d8eda4ed8a3d25e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:38 2014 +0100
pc: ACPI: unify source of CPU hotplug IO base/len
use C headers defines as source of IO base/len for respective
values in ASL code.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 61a3f63560ccd2b5e8c9134e9213a1cff36f26bf
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:37 2014 +0100
pc: ACPI: expose PRST IO range via _CRS
.. so OSPM could notice resource conflict if there is any.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 562e56a9f8e627b2a4ef60037507361ce3cb4e6d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:36 2014 +0100
pc: Q35 DSDT: exclude CPU hotplug IO range from PCI bus resources
... for range defined at hw/acpi/ich9.c:ICH9_PROC_BASE
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1aa149b479a479323121251f1e8e676765cb354d
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:35 2014 +0100
pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus
resources
.. so that they might not be used by PCI devices.
Note:
Resort to concatenating templates with preprocessor help,
because 1.0b spec isn't supporting ConcatenateResTemplate,
as result Windows XP fails to execute PCI0._CRS method if
ConcatenateResTemplate() is used.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4782434f3cc016fbab16228e92e90265cf6db908
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:34 2014 +0100
pc: set PRST base in DSDT depending on chipset
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d6610bc2adc19a632cb14fc094378cbf5cd60868
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:32 2014 +0100
acpi: ich9: add CPU hotplug handling to Q35 machine
.. use IO port 0cd8-0xcf7 range for CPU present bitmap
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 81cea5e7f2aa61c6c5d33d28bceb81276603d3c9
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:31 2014 +0100
acpi: factor out common cpu hotplug code for PIIX4/Q35
.. so it could be used for adding CPU hotplug to Q35 machine
Add an additional header with that will be shared between
C and ASL code: include/hw/acpi/cpu_hotplug_defs.h
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 99fd437dee468609de8218f0eb3b16621fb6a9c9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:29 2013 +0300
acpi-build: enable hotplug for PCI bridges
This enables support for device hotplug behind
pci bridges. Bridge devices themselves need
to be pre-configured on qemu command line.
Design:
- at machine init time, assign "bsel" property to bridges with
hotplug support
- dynamically (At ACPI table read) generate ACPI code to handle
hotplug events for each bridge with "bsel" property
Note: ACPI doesn't support adding or removing bridges by hotplug.
We detect and prevent removal of bridges by hotplug,
unless they were added by hotplug previously
(and so, are not described by ACPI).
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9e047b982452c633882b486682966c1d97097015
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:20 2013 +0300
piix4: add acpi pci hotplug support
Add support for acpi pci hotplug using the
new infrastructure.
PIIX4 legacy interface is maintained as is for
machine types 1.7 and older.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit db4728e6fec0364b866d3106125974eedc00e091
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:11 2013 +0300
pcihp: generalization of piix4 acpi
Add ACPI based PCI hotplug library with bridge hotplug
support.
Design
- each bus gets assigned "bsel" property.
- ACPI code writes this number
to a new BNUM register, then uses existing
UP/DOWN registers to probe slot status;
to eject, write number to BNUM register,
then slot into existing EJ.
The interface is actually backwards-compatible with
existing PIIX4 ACPI (though not migration compatible).
This is split out from PIIX4 codebase so we can
reuse it for Q35 as well.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit eb0acfdde604930688c47fe1ba99bec2bd84b7ad
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 14 18:01:07 2013 +0300
pci: add pci_for_each_bus_depth_first
Useful for ACPI hotplug.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4d25299cb2b57a16fd3194e938eeb78d219400ba
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Thu Jan 9 17:36:33 2014 +0100
pc: make: fix dependencies: rebuild when included file is changed
some *.dsl files include another *.dsl files but there weren't
any dependicies and when included file changed target table wasn't
rebuild. Fix this by using the same auto dependency generation
as for C files.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0651596cbed8c0806aa2d7e436201f28b2fe179a
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Jan 16 17:50:48 2014 +0200
acpi unit-test: do not fail on asl mismatch
The asl comparison will break every time the ACPI
tables are updated. This may break the git bisect.
Instead of failing print a warning on stderr
including the retained asl files, so they can be
compared offline.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 69d09245d19765fd461cc3d3a7d79686007c4474
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Jan 16 17:50:47 2014 +0200
acpi unit-test: resolved iasl crash
It seems that iasl has an issue when disassembles
some ACPI tables using the command line:
iasl -e DSDT -e SSDT -d HPET
Modified the iasl command line to "iasl -d HPET"
until the problem is solved. The command line
remained the same for DSDT and SSDT tables.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a3a74ab90ea81cafaf4d03824d47a6d028ea996d
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Jan 16 17:50:46 2014 +0200
acpi unit-test: renamed ssdt_tables to tables
Just a refactoring, ssdt_tables name was confusing as
it included other tables as well.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 084137ddbbb30f5f85298711dc2d501a625d37ab
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jan 13 18:33:53 2014 +1100
tests: fix acpi to work on bigendian host
Double endianness convertion make this test failing on POWERPC machine
running in big-endian.
This fixes the test to success on big-endian host.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4500bc98a6aab1734d865afaeade3509eb65b560
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:25 2013 +0200
acpi unit-test: hook to rebuild expected aml files
When running the test with TEST_ACPI_REBUILD_AML=y environment
variable, the test will rebuild and validate the expected aml
files.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cebc92a2131be21cc4dc5f72f1e243061cd96b1f
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:24 2013 +0200
acpi unit-test: added script to rebuild the expected aml files
Acpi unit-test will fail every time the acpi tables change.
This script rebuild the expected aml files, so the test
will pass. It also validates the modifications.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cc8fa0e80836c51ba644d910cd89540a5bc83fc2
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:23 2013 +0200
acpi unit-test: extract iasl executable from configuration
The test checked if iasl is installed by running "iasl"
and checking the error output.
It is better to use the iasl executable as appears
in configuration.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9dd6cabdd3bfa49d4f594956e8ee93f8996460c7
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:22 2013 +0200
configure: add CONFIG_IASL to config-host.h
Acpi unit-tests will extract iasl executable
from CONFIG_IASL define.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9e8458c0232356a0c0eebb4fa4928fd02250c5f4
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:21 2013 +0200
acpi unit-test: compare DSDT and SSDT tables against expected values
This test will run only if iasl is installed on the host machine.
The test plan:
1. Dumps the ACPI tables as AML on the disk.
2. Runs iasl to disassembly the tables into ASL files.
3. Runs iasl to disassembly the offline AML files into ASL files.
4. Compares the ASL files.
The test runs for both default machine and q35.
In case the test fails, it can be easily tweaked to
show the differences between the ASL files and
understand the issue.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c2304b52f1b20fa79d299177d1fe75df2d265bfa
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:20 2013 +0200
configure: added acpi unit-test files
Ensure configure will set-up links for the files
if the build is created in other directory.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d259793808052dbef6d2d90cdb09150d03b8413b
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Dec 26 16:54:19 2013 +0200
acpi unit-test: add test files
Added unit-test's expected aml files to be compared
with the actual ACPI tables.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4dd72e04c2c4759782d0eb3e3aff6a36889c1e18
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 15:51:22 2013 +0100
virtio: Fix return value for dummy function vhost_net_virtqueue_pending
cgcc complains that -ENOSYS is not a good value for 'bool'.
A dummy virtio will never have pending queue entries, so let us return
false.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8977557ae418f9b9ff5c35ee39161a33f2368e6a
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Mon Jan 13 15:27:13 2014 -0500
ACPI: Fix AppleSMC _STA size
Minimize the storage used for AppleSMC's _STA (8bit), relying on ASL
to implicitly convert it to the officially specified 32bit value.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15bce1b7c55c69f47e13c9eb2a4b80f41da26581
Author: Gabriel L. Somlo <gsomlo@xxxxxxxxx>
Date: Sun Dec 22 10:34:56 2013 -0500
Add DSDT node for AppleSMC
AppleSMC (-device isa-applesmc) is required to boot OS X guests.
OS X expects a SMC node to be present in the ACPI DSDT. This patch
adds a SMC node to the DSDT, and dynamically patches the return value
of SMC._STA to either 0x0B if the chip is present, or otherwise to 0x00,
before booting the guest.
Signed-off-by: Gabriel Somlo <somlo@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3e16d14fd93ca6059134ba6b4f65c1c3e4cd3a18
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Dec 17 01:37:06 2013 +0100
Python-lang gdb script to extract x86_64 guest vmcore from qemu coredump
When qemu dies unexpectedly, for example in response to an explicit
abort() call, or (more importantly) when an external signal is delivered
to it that results in a coredump, sometimes it is useful to extract the
guest vmcore from the qemu process' memory image. The guest vmcore might
help understand an emulation problem in qemu, or help debug the guest.
This script reimplements (and cuts many features of) the
qmp_dump_guest_memory() command in gdb/Python,
https://sourceware.org/gdb/current/onlinedocs/gdb/Python-API.html
working off the saved memory image of the qemu process. The docstring in
the patch (serving as gdb help text) describes the limitations relative to
the QMP command.
Dependencies of qmp_dump_guest_memory() have been reimplemented as needed.
I sought to follow the general structure, sticking to original function
names where possible. However, keeping it simple prevailed in some places.
The patch has been tested with a 4 VCPU, 768 MB, RHEL-6.4
(2.6.32-358.el6.x86_64) guest:
- The script printed
> guest RAM blocks:
> target_start target_end host_addr message count
> ---------------- ---------------- ---------------- ------- -----
> 0000000000000000 00000000000a0000 00007f95d0000000 added 1
> 00000000000a0000 00000000000b0000 00007f960ac00000 added 2
> 00000000000c0000 00000000000ca000 00007f95d00c0000 added 3
> 00000000000ca000 00000000000cd000 00007f95d00ca000 joined 3
> 00000000000cd000 00000000000d0000 00007f95d00cd000 joined 3
> 00000000000d0000 00000000000f0000 00007f95d00d0000 joined 3
> 00000000000f0000 0000000000100000 00007f95d00f0000 joined 3
> 0000000000100000 0000000030000000 00007f95d0100000 joined 3
> 00000000fc000000 00000000fc800000 00007f960ac00000 added 4
> 00000000fffe0000 0000000100000000 00007f9618800000 added 5
> dumping range at 00007f95d0000000 for length 00000000000a0000
> dumping range at 00007f960ac00000 for length 0000000000010000
> dumping range at 00007f95d00c0000 for length 000000002ff40000
> dumping range at 00007f960ac00000 for length 0000000000800000
> dumping range at 00007f9618800000 for length 0000000000020000
- The vmcore was checked with "readelf", comparing the results against a
vmcore written by qmp_dump_guest_memory():
> --- theirs 2013-09-12 17:38:59.797289404 +0200
> +++ mine 2013-09-12 17:39:03.820289404 +0200
> @@ -27,16 +27,16 @@
> Type Offset VirtAddr PhysAddr
> FileSiz MemSiz Flags Align
> NOTE 0x0000000000000190 0x0000000000000000
0x0000000000000000
> - 0x0000000000000ca0 0x0000000000000ca0 0
> - LOAD 0x0000000000000e30 0x0000000000000000
0x0000000000000000
> + 0x000000000000001c 0x000000000000001c 0
> + LOAD 0x00000000000001ac 0x0000000000000000
0x0000000000000000
> 0x00000000000a0000 0x00000000000a0000 0
> - LOAD 0x00000000000a0e30 0x0000000000000000
0x00000000000a0000
> + LOAD 0x00000000000a01ac 0x0000000000000000
0x00000000000a0000
> 0x0000000000010000 0x0000000000010000 0
> - LOAD 0x00000000000b0e30 0x0000000000000000
0x00000000000c0000
> + LOAD 0x00000000000b01ac 0x0000000000000000
0x00000000000c0000
> 0x000000002ff40000 0x000000002ff40000 0
> - LOAD 0x000000002fff0e30 0x0000000000000000
0x00000000fc000000
> + LOAD 0x000000002fff01ac 0x0000000000000000
0x00000000fc000000
> 0x0000000000800000 0x0000000000800000 0
> - LOAD 0x00000000307f0e30 0x0000000000000000
0x00000000fffe0000
> + LOAD 0x00000000307f01ac 0x0000000000000000
0x00000000fffe0000
> 0x0000000000020000 0x0000000000020000 0
>
> There is no dynamic section in this file.
> @@ -47,13 +47,6 @@
>
> No version information found in this file.
>
> -Notes at offset 0x00000190 with length 0x00000ca0:
> +Notes at offset 0x00000190 with length 0x0000001c:
> Owner Data size Description
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - CORE 0x00000150 NT_PRSTATUS (prstatus structure)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> - QEMU 0x000001b0 Unknown note type: (0x00000000)
> + NONE 0x00000005 Unknown note type: (0x00000000)
- The vmcore was checked with "crash" too, again comparing the results
against a vmcore written by qmp_dump_guest_memory():
> --- guest.vmcore.log2 2013-09-12 17:52:27.074289201 +0200
> +++ example.dump.log2 2013-09-12 17:52:15.904289203 +0200
> @@ -22,11 +22,11 @@
> This GDB was configured as "x86_64-unknown-linux-gnu"...
>
> KERNEL: /usr/lib/debug/lib/modules/2.6.32-358.el6.x86_64/vmlinux
> - DUMPFILE: /home/lacos/tmp/guest.vmcore
> + DUMPFILE: /home/lacos/tmp/example.dump
> CPUS: 4
> - DATE: Thu Sep 12 17:16:11 2013
> - UPTIME: 00:01:09
> -LOAD AVERAGE: 0.07, 0.03, 0.00
> + DATE: Thu Sep 12 17:17:41 2013
> + UPTIME: 00:00:38
> +LOAD AVERAGE: 0.18, 0.05, 0.01
> TASKS: 130
> NODENAME: localhost.localdomain
> RELEASE: 2.6.32-358.el6.x86_64
> @@ -38,12 +38,12 @@
> COMMAND: "swapper"
> TASK: ffffffff81a8d020 (1 of 4) [THREAD_INFO:
ffffffff81a00000]
> CPU: 0
> - STATE: TASK_RUNNING (PANIC)
> + STATE: TASK_RUNNING (ACTIVE)
> + WARNING: panic task not found
>
> crash> bt
> PID: 0 TASK: ffffffff81a8d020 CPU: 0 COMMAND: "swapper"
> - #0 [ffffffff81a01ed0] default_idle at ffffffff8101495d
> - #1 [ffffffff81a01ef0] cpu_idle at ffffffff81009fc6
> + #0 [ffffffff81a01ef0] cpu_idle at ffffffff81009fc6
> crash> task ffffffff81a8d020
> PID: 0 TASK: ffffffff81a8d020 CPU: 0 COMMAND: "swapper"
> struct task_struct {
> @@ -75,7 +75,7 @@
> prev = 0xffffffff81a8d080
> },
> on_rq = 0,
> - exec_start = 8618466836,
> + exec_start = 7469214014,
> sum_exec_runtime = 0,
> vruntime = 0,
> prev_sum_exec_runtime = 0,
> @@ -149,7 +149,7 @@
> },
> tasks = {
> next = 0xffff88002d621948,
> - prev = 0xffff880029618f28
> + prev = 0xffff880023b74488
> },
> pushable_tasks = {
> prio = 140,
> @@ -165,7 +165,7 @@
> }
> },
> mm = 0x0,
> - active_mm = 0xffff88002929b780,
> + active_mm = 0xffff8800297eb980,
> exit_state = 0,
> exit_code = 0,
> exit_signal = 0,
> @@ -177,7 +177,7 @@
> sched_reset_on_fork = 0,
> pid = 0,
> tgid = 0,
> - stack_canary = 2483693585637059287,
> + stack_canary = 7266362296181431986,
> real_parent = 0xffffffff81a8d020,
> parent = 0xffffffff81a8d020,
> children = {
> @@ -224,14 +224,14 @@
> set_child_tid = 0x0,
> clear_child_tid = 0x0,
> utime = 0,
> - stime = 3,
> + stime = 2,
> utimescaled = 0,
> - stimescaled = 3,
> + stimescaled = 2,
> gtime = 0,
> prev_utime = 0,
> prev_stime = 0,
> nvcsw = 0,
> - nivcsw = 1000,
> + nivcsw = 1764,
> start_time = {
> tv_sec = 0,
> tv_nsec = 0
- <name_dropping>I asked for Dave Anderson's help with verifying the
extracted vmcore, and his comments make me think I should post
this.</name_dropping>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2d23d5edb5b23849c668dd729e4da7b2c63b163b
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 19:56:58 2013 +0100
tcg/i386: cleanup useless #ifdef
TCG_TARGET_HAS_movcond_i32 is always defined to 1 in tcg-target.h, so
remove the corresponding #ifdef #endif sequence, left from a previous
refactoring.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 085bb5bb64069a16b843fca840f91cdfb3f40fda
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 19:51:21 2013 +0100
tcg/i386: use movbe instruction in qemu_ldst routines
The movbe instruction has been added on some Intel Atom CPUs and on
recent Intel Haswell CPUs. It allows to load/store a value and at the
same time bswap it.
This patch detects the avaibility of this instruction and when available
use it in the qemu load/store routines in replacement of load/store +
bswap. Note that for 16-bit unsigned loads, movbe + movzw is basically the
same as movzw + bswap, so the patch doesn't touch this case.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[RTH: Reduced the number of conditionals using "movop".]
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2a1137753f9618283ac40394a75976d18f608e39
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 19:49:08 2013 +0100
tcg/i386: add support for three-byte opcodes
Add support for three-byte opcodes, starting with the 0x0f 0x38 prefix.
Use P_EXT38 as the new constant, and shift all other constants so that
P_EXT and P_EXT38 have neighbouring values.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
[RTH: Changed the name from P_EXT2 to P_EXT38.]
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c9d78213b8bf6e0da9ff30b53c33e93fb0373249
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 18:32:23 2013 +0100
tcg/i386: remove hardcoded P_REXW value
P_REXW is defined has a constant at the beginning of i386/tcg-target.c,
but the corresponding bit is later used in a harcoded way, which defeat
the purpose of a constant.
Fix that by using a conditional expression operator instead of a shift.
On x86 this actually makes the code slightly smaller as GCC does in
practice (opc >> 8) & 8 instead of (opc & 0x800) >> 8 so the constants
are smaller to load.
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ba00599cc32626b53ba151c627a763518c76c49f
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Nov 6 18:31:43 2013 +0100
disas/i386.c: disassemble movbe instruction
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0169c511554cb0014a00290b0d3d26c31a49818f
Merge: 1c51e68 439d19f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:52:44 2014 -0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
* qemu-kvm/uq/master:
kvm: always update the MPX model specific register
KVM: fix addr type for KVM_IOEVENTFD
KVM: Retry KVM_CREATE_VM on EINTR
mempath prefault: fix off-by-one error
kvm: x86: Separately write feature control MSR on reset
roms: Flush icache when writing roms to guest memory
target-i386: clear guest TSC on reset
target-i386: do not special case TSC writeback
target-i386: Intel MPX
Conflicts:
exec.c
aliguori: fix trivial merge conflict in exec.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1c51e68b182bb335464bb19ad2517fd43c58c127
Merge: 7d64b2c 918b94e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:52:16 2014 -0800
Merge remote-tracking branch 'otubo/seccomp' into staging
* otubo/seccomp:
seccomp: add some basic shared memory syscalls to the whitelist
seccomp: add mkdir() and fchmod() to the whitelist
Message-id: 1390231004-18392-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d64b2c2e22d956b358a97323f0d70060dcd9a06
Merge: 14ac4fe 2777ccc
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:52:08 2014 -0800
Merge remote-tracking branch 'sweil/tags/for_anthony' into staging
Initial patch for QEMU GTK support on Windows
# gpg: Signature made Mon 20 Jan 2014 11:37:58 AM PST using RSA key ID
FAD62069
# gpg: Can't check signature: public key not found
* sweil/tags/for_anthony:
gtk: Support keyboard translation for hosts running Windows
Message-id: 1390246909-18757-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 14ac4febb22b4083a5a64b251ab15c94d7d65833
Merge: f4b2779 39e6a38
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:51:38 2014 -0800
Merge remote-tracking branch 'kraxel/tags/pull-audio-2' into staging
hda-codec: disable streams on reset
# gpg: Signature made Tue 21 Jan 2014 02:17:12 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
* kraxel/tags/pull-audio-2:
hda-codec: disable streams on reset
Message-id: 1390299589-5082-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f4b27793a8b948178ced486d1d32d1919bea81b2
Merge: e9f526a 88678fb
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:51:23 2014 -0800
Merge remote-tracking branch 'kraxel/tags/pull-usb-2' into staging
usb core+hid: add support for microsoft os descriptors
# gpg: Signature made Tue 21 Jan 2014 02:21:29 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
* kraxel/tags/pull-usb-2:
usb-hid: add microsoft os descriptor support
usb: add support for microsoft os descriptors
Message-id: 1390299772-5368-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e9f526ab7b01662c323a47446e22308968221ac1
Merge: 0d688cf 1cb27d9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:50:14 2014 -0800
Merge remote-tracking branch 'bonzini/scsi-next' into staging
* bonzini/scsi-next:
scsi: Support TEST UNIT READY in the dummy LUN0
block: add .bdrv_reopen_prepare() stub for iscsi
virtio-scsi: Prevent assertion on missed events
virtio-scsi: Cleanup of I/Os that never started
scsi: Assign cancel_io vector for scsi_disk_emulate_ops
Conflicts:
block/iscsi.c
aliguori: resolve trivial merge conflict in block/iscsi.c
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d688cf7d8d71bce2aab83173552a784e96b6729
Merge: 732c66c d510358
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 24 15:43:30 2014 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches
# gpg: Signature made Fri 24 Jan 2014 08:40:53 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
* kwolf/tags/for-anthony: (93 commits)
block: Switch bdrv_io_limits_intercept() to byte granularity
qemu-iotests: Test pwritev RMW logic
qemu-io: New command 'sleep'
blkdebug: Make required alignment configurable
iscsi: Set bs->request_alignment
block: Make bdrv_pwrite() a bdrv_prwv_co() wrapper
block: Make bdrv_pread() a bdrv_prwv_co() wrapper
block: Change coroutine wrapper to byte granularity
block: Assert serialisation assumptions in pwritev
block: Align requests in bdrv_co_do_pwritev()
block: Allow wait_serialising_requests() at any point
block: Make overlap range for serialisation dynamic
block: Generalise and optimise COR serialisation
block: Make zero-after-EOF work with larger alignment
block: Allow waiting for overlapping requests between begin/end
block: Switch BdrvTrackedRequest to byte granularity
block: Introduce bdrv_co_do_pwritev()
block: write: Handle COR dependency after I/O throttling
block: Introduce bdrv_aligned_pwritev()
block: Introduce bdrv_co_do_preadv()
...
Message-id: 1390584136-24703-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d5103588aa39157c8eea3bb5fb6780bbd8be21b7
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jan 16 13:29:10 2014 +0100
block: Switch bdrv_io_limits_intercept() to byte granularity
Request sizes used to be rounded down to the next sector boundary,
allowing to bypass the I/O limit. Now all requests are accounted for
with their exact byte size.
Reported-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 9e1cb96d9a5e434f389a4d7b7ff4dcdd71e8ec0f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 14 15:37:03 2014 +0100
qemu-iotests: Test pwritev RMW logic
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit cd33d02a1012e58ee0d3c8259159e8c60cfa0a4d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Jan 15 15:39:10 2014 +0100
qemu-io: New command 'sleep'
There is no easy way to check that a request correctly waits for a
different request. With a sleep command we can at least approximate it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b35ee7fb2308e09092488029b5a9e456ce61bbe6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 14 13:44:35 2014 +0100
blkdebug: Make required alignment configurable
The new 'align' option of blkdebug can be used in order to emulate
backends with a required 4k alignment on hosts which only really require
512 byte alignment.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c9880c45e2f9a98d11d44ce9966515c23870a86
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 29 12:41:35 2011 +0100
iscsi: Set bs->request_alignment
The iSCSI backend already gets the block size from the READ CAPACITY
command it sends. Save it so that the generic block layer gets it
too.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 8407d5d7e265911b05949ee2ffd9e45c97bf0505
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 12:34:02 2013 +0100
block: Make bdrv_pwrite() a bdrv_prwv_co() wrapper
Instead of implementing the alignment adjustment here, use the now
existing functionality of bdrv_co_do_pwritev().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit a3ef65718506fb94cb9e5a903ef9bf9ad8fbe6de
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 12:29:59 2013 +0100
block: Make bdrv_pread() a bdrv_prwv_co() wrapper
Instead of implementing the alignment adjustment here, use the now
existing functionality of bdrv_co_do_preadv().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 775aa8b6e0ea25f8cca74d0fcb1e30a764cf624f
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 12:09:38 2013 +0100
block: Change coroutine wrapper to byte granularity
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 28de2dcd88de31f50bbd43d9c2fcb046c3a727cb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jan 14 11:41:35 2014 +0100
block: Assert serialisation assumptions in pwritev
If a request calls wait_serialising_requests() and actually has to wait
in this function (i.e. a coroutine yield), other requests can run and
previously read data (like the head or tail buffer) could become
outdated. In this case, we would have to restart from the beginning to
read in the updated data.
However, we're lucky and don't actually need to do that: A request can
only wait in the first call of wait_serialising_requests() because we
mark it as serialising before that call, so any later requests would
wait. So as we don't wait in practice, we don't have to reload the data.
This is an important assumption that may not be broken or data
corruption will happen. Document it with some assertions.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 3b8242e0ea2a2c201ef3d1bd24080490dae33080
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 16:34:41 2013 +0100
block: Align requests in bdrv_co_do_pwritev()
This patch changes bdrv_co_do_pwritev() to actually be what its name
promises. If requests aren't properly aligned, it performs a RMW.
Requests touching the same block are serialised against the RMW request.
Further optimisation of this is possible by differentiating types of
requests (concurrent reads should actually be okay here).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 6460440f34c709461b84375cfd8a86b27d433225
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Dec 13 13:04:35 2013 +0100
block: Allow wait_serialising_requests() at any point
We can only have a single wait_serialising_requests() call per request
because otherwise we can run into deadlocks where requests are waiting
for each other. The same is true when wait_serialising_requests() is not
at the very beginning of a request, so that other requests can be issued
between the start of the tracking and wait_serialising_requests().
Fix this by changing wait_serialising_requests() to ignore requests that
are already (directly or indirectly) waiting for the calling request.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 7327145f63a224c9ba9c16d0c29781feffef8dc6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 17:08:50 2013 +0100
block: Make overlap range for serialisation dynamic
Copy on Read wants to serialise with all requests touching the same
cluster, so wait_serialising_requests() rounded to cluster boundaries.
Other users like alignment RMW will have different requirements, though
(requests touching the same sector), so make it dynamic.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 2dbafdc012d3ea81a97fec6226ca82d644539c9a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 16:43:44 2013 +0100
block: Generalise and optimise COR serialisation
Change the API so that specific requests can be marked serialising. Only
these requests are checked for overlaps then.
This means that during a Copy on Read operation, not all requests
overlapping other requests are serialised any more, but only those that
actually overlap with the specific COR request.
Also remove COR from function and variable names because this
functionality can be useful in other contexts.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit ec746e10cb2e6276a8d2e036454792fe0674864a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 12:13:10 2013 +0100
block: Make zero-after-EOF work with larger alignment
Odd file sizes could make bdrv_aligned_preadv() shorten the request in
non-aligned ways. Fix it by rounding to the required alignment instead
of 512 bytes.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 65afd211c71fc91750d8a18f9604c1e57a5202fb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:55:55 2013 +0100
block: Allow waiting for overlapping requests between begin/end
Previously, it was not possible to use wait_for_overlapping_requests()
between tracked_request_begin()/end() because it would wait for itself.
Ignore the current request in the overlap check and run more of the
bdrv_co_do_preadv/pwritev code with a BdrvTrackedRequest present.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 793ed47a7a2b09b67cb2a8863dff531436532b5c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 15:31:25 2013 +0100
block: Switch BdrvTrackedRequest to byte granularity
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 6601553e27091ffe240bea69227adce941fe12e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:40:18 2013 +0100
block: Introduce bdrv_co_do_pwritev()
This is going to become the bdrv_co_do_preadv() equivalent for writes.
In this patch, however, just a function taking byte offsets is created,
it doesn't align anything yet.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 244eadef5c797c674b0aef96366671be4b33d03a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:30:44 2013 +0100
block: write: Handle COR dependency after I/O throttling
First waiting for all COR requests to complete and calling the
throttling function afterwards means that the request could be delayed
and we still need to wait for the COR request even if it was issued only
after the throttled write request.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit b404f72036716ab8ace04b83a8f0a93be4739a6a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 3 14:02:23 2013 +0100
block: Introduce bdrv_aligned_pwritev()
This separates the part of bdrv_co_do_writev() that needs to happen
before the request is modified to match the backend alignment, and a
part that needs to be executed afterwards and passes the request to the
BlockDriver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 1b0288ae7fc695a8e652973f75e92464bbc13416
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Dec 2 16:09:46 2013 +0100
block: Introduce bdrv_co_do_preadv()
Similar to bdrv_pread(), which aligns byte-aligned request to 512 byte
sectors, bdrv_co_do_preadv() takes a byte-aligned request and aligns it
to the alignment specified in bs->request_alignment.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit d0c7f642f5eb2cb21d0c3acf766cb375eaaf4666
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Dec 2 15:07:48 2013 +0100
block: Introduce bdrv_aligned_preadv()
This separates the part of bdrv_co_do_readv() that needs to happen
before the request is modified to match the backend alignment, and a
part that needs to be executed afterwards and passes the request to the
BlockDriver.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit c25f53b06eba1575d5d0e92a0132455c97825b83
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 29 12:42:20 2011 +0100
raw: Probe required direct I/O alignment
Add a bs->request_alignment field that contains the required
offset/length alignment for I/O requests and fill it in the raw block
drivers. Use ioctls if possible, else see what alignment it takes for
O_DIRECT to succeed.
While at it, also expose the memory alignment requirements, which may be
(and in practice are) different from the disk alignment requirements.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 1b7fd729559c6d3b273303aa48bc653ceef08747
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 29 11:35:47 2011 +0100
block: rename buffer_alignment to guest_block_size
The alignment field is now set to the value that is promised to the
guest, rather than required by the host. The next patches will make
QEMU aware of the host-provided values, so make this clear.
The alignment is also not about memory buffers, but about the sectors on
the disk, change the documentation of the field.
At this point, the field is set by the device emulation, but completely
ignored by the block layer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 339064d5063924e5176842abbf6c8089f3479c5b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Nov 28 10:23:32 2013 +0100
block: Don't use guest sector size for qemu_blockalign()
bs->buffer_alignment is set by the device emulation and contains the
logical block size of the guest device. This isn't something that the
block layer should know, and even less something to use for determining
the right alignment of buffers to be used for the host.
The new BlockLimits field opt_mem_alignment tells the qemu block layer
the optimal alignment to be used so that no bounce buffer must be used
in the driver.
This patch may change the buffer alignment from 4k to 512 for all
callers that used qemu_blockalign() with the top-level image format
BlockDriverState. The value was never propagated to other levels in the
tree, so in particular raw-posix never required anything else than 512.
While on disks with 4k sectors direct I/O requires a 4k alignment,
memory may still be okay when aligned to 512 byte boundaries. This is
what must have happened in practice, because otherwise this would
already have failed earlier. Therefore I don't expect regressions even
with this intermediate state. Later, raw-posix can implement the hook
and expose a different memory alignment requirement.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 1ff735bdc417945bc6df1857861b127644b3f461
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Dec 5 13:01:46 2013 +0100
block: Detect unaligned length in bdrv_qiov_is_aligned()
For an O_DIRECT request to succeed, it's not only necessary that all
base addresses in the qiov are aligned, but also that each length in it
is aligned.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit e5354657a626b325c31888f33de88ac6d39e2fcb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Nov 29 21:29:17 2013 +0100
qemu_memalign: Allow small alignments
The functions used by qemu_memalign() require an alignment that is at
least sizeof(void*). Adjust it if it is too small.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit 355ef4ac95a7a47d5c7201ccd910056a100d2fdf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 11 20:14:09 2013 +0100
block: Update BlockLimits when they might have changed
When reopening with different flags, or when backing files disappear
from the chain, the limits may change. Make sure they get updated in
these cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit 466ad822deef3a03757d505218a52993c5d56b5d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 11 19:50:32 2013 +0100
block: Inherit opt_transfer_length
When there is a format driver between the backend, it's not guaranteed
that exposing the opt_transfer_length for the format driver results in
the optimal requests (because of fragmentation etc.), but it can't make
things worse, so let's just do it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoît Canet <benoit@xxxxxxxxxxx>
commit d34682cd4a06efe9ee3fc8cb7e8a0ea445299989
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 11 19:26:16 2013 +0100
block: Move initialisation of BlockLimits to bdrv_refresh_limits()
This function separates filling the BlockLimits from bdrv_open(), which
allows it to call it from other operations which may change the limits
(e.g. modifications to the backing file chain or bdrv_reopen)
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit dabfa6cc2e2a06269026fcb42772894f67bd0c3e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Jan 24 14:00:43 2014 +0100
block: Fix bdrv_commit return value
bdrv_commit() could return 0 or 1 on success, depending on whether or
not the last sector was allocated in the overlay and whether the overlay
format had a .bdrv_make_empty callback.
Most callers ignored it, but qemu-img commit would print an error
message while the operation actually succeeded.
Also clean up the handling of I/O errors to return the real error code
instead of -EIO.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 37222900743962e146a82b7077a18c3f39859a19
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 24 09:02:37 2014 -0500
block: update block commit documentation regarding image truncation
This updates the documentation for commiting snapshot images.
Specifically, this highlights what happens when the base image
is either smaller or larger than the snapshot image being committed.
In the case of the base image being smaller, it is resized to the
larger size of the snapshot image. In the case of the base image
being larger, it is not resized automatically, but once the commit
has completed it is safe for the user to truncate the base image.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4da83585961631bfc10831dd26c4afda2a8b23e8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 24 09:02:36 2014 -0500
block: resize backing image during active layer commit, if needed
If the top image to commit is the active layer, and also larger than
the base image, then an I/O error will likely be returned during
block-commit.
For instance, if we have a base image with a virtual size 10G, and a
active layer image of size 20G, then committing the snapshot via
'block-commit' will likely fail.
This will automatically attempt to resize the base image, if the
active layer image to be committed is larger.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 72706ea4cd38bfcb151265df0178ba21863d7518
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Jan 24 09:02:35 2014 -0500
block: resize backing file image during offline commit, if necessary
Currently, if an image file is logically larger than its backing file,
committing it via 'qemu-img commit' will fail.
For instance, if we have a base image with a virtual size 10G, and a
snapshot image of size 20G, then committing the snapshot offline with
'qemu-img commit' will likely fail.
This will automatically attempt to resize the base image, if the
snapshot image to be committed is larger.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 031fd1be5618c347f9aeb44ec294f14a541e42b2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Jan 24 14:56:17 2014 +0100
block/curl: Implement the libcurl timer callback interface
libcurl versions 7.16.0 and later have a timer callback interface which
must be implemented in order for libcurl to make forward progress (it
will sometimes rely on being called back on the timeout if there are
no file descriptors registered). Implement the callback, and use a
QEMU AIO timer to ensure we prod libcurl again when it asks us to.
Based on Peter's original patch plus my fix to add curl_multi_timeout_do.
Should compile just fine even on older versions of libcurl.
I also tried copy-on-read and streaming:
$ ./qemu-img create -f qcow2 -o \
backing_file=http://download.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso
\
foo.qcow2 1G
$ x86_64-softmmu/qemu-system-x86_64 \
-drive if=none,file=foo.qcow2,copy-on-read=on,id=cd \
-device ide-cd,drive=cd --enable-kvm -m 1024
Direct http usage is probably too slow, but with copy-on-read ultimately
the image does boot!
After some time, streaming gets canceled by an EIO, which needs further
investigation.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0901f67ecdb74d9ba1451e3b4367194cd43f96b4
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:38 2014 +0100
qmp: Allow to take external snapshots on bs graphs node.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3b1dbd11a60d75e99af5fc9b73c34f4af9d4f510
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:37 2014 +0100
qmp: Allow block_resize to manipulate bs graph nodes.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 212a5a8f095de9a1624de6b4a589d60688b02747
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:36 2014 +0100
block: Create authorizations mechanism for external snapshot and resize.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 12d3ba821da9f8a039240a8a1bc01e27a12f9c22
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:35 2014 +0100
qmp: Allow to change password on named block driver states.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
There was two candidate ways to implement named node manipulation:
1)
{ 'command': 'block_passwd', 'data': {'*device': 'str',
'*node-name': 'str', 'password':
'str'}
}
2)
{ 'command': 'block_passwd', 'data': {'device': 'str',
'*device-is-node': 'bool',
'password': 'str'} }
Luiz proposed 1 and says 2 was an abuse of the QMP interface and proposed
to
rewrite the QMP block interface for 2.0.
Luiz does not like in 1 the fact that 2 fields are optional but one of
them must
be specified leading to an abuse of the QMP semantic.
Kevin argumented that 2 what a clear abuse of the device field and would
not be
practical when reading fast some log file because the user would read
"device"
and think that a device is manipulated when it's in fact a node name.
Documentation of 1 make it pretty clear what to do for the user.
Kevin argued that all bs are node including devices ones so 2 does not
make
sense.
Kevin also argued that rewriting the QMP block interface would not make
disapear
the current one.
Kevin pushed the argument that making the QAPI generator compatible with
the
semantic of the operation would need a rewrite that no one has done yet.
A vote has been done on the list to elect the version to use and 1 won.
For reference the complete thread is:
"[Qemu-devel] [PATCH V4 4/7] qmp: Allow to change password on names block
driver
states."
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c13163fba151f0be5176eaf55907bc1dbff3a1d4
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:34 2014 +0100
qmp: Add QMP query-named-block-nodes to list the named BlockDriverState
nodes.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6913c0c2ce00c0e886b2bd20b05073090fa5308a
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:33 2014 +0100
block: Allow the user to define "node-name" option both on command line
and QMP.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dc364f4cdca0c49e37376b16c3ee0bf3b4a96f4c
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Thu Jan 23 21:31:32 2014 +0100
block: Add bs->node_name to hold the name of a bs node of the bs graph.
Add the minimum of code to prepare for the following patches.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c8059b97e1f9b4635b836ee98373a0f72f9fc0b4
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Jan 23 10:03:26 2014 +0800
qapi: Add "backing" to BlockStats
Currently there is no way to query BlockStats of the backing chain. This
adds "backing" field into BlockStats to make it possible.
The comment of "parent" is reworded.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d8a7b061ae01e5692cc994f05ad6480d8c170125
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Jan 23 15:10:52 2014 +0800
vmdk: Fix format specific information (create type) for streamOptimized
Previously the field is wrong:
$ ./qemu-img create -f vmdk -o subformat=streamOptimized /tmp/a.vmdk
1G
$ ./qemu-img info /tmp/a.vmdk
image: /tmp/a.vmdk
file format: vmdk
virtual size: 1.0G (1073741824 bytes)
disk size: 12K
Format specific information:
cid: 1390460459
parent cid: 4294967295
>>> create type: monolithicSparse
<snip>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6df3bf8eb3ed428015c85cfbd554ac9b32164f40
Author: Zhang Min <rudy.zhangmin@xxxxxxxxxx>
Date: Thu Jan 23 15:59:16 2014 +0800
drive mirror:fix memory leak
In the function mirror_iteration() -> qemu_iovec_init(),
it allocates memory for op->qiov.iov, when the write request calls back,
but in the function mirror_iteration_done(), it only frees the op,
not free the op->qiov.iov, so this causes memory leak.
It should use qemu_iovec_destroy() to free op->qiov.
Signed-off-by: Zhang Min <rudy.zhangmin@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9cd767376f137918dbe90abb452dfe119ae7d8f3
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Jan 22 01:14:11 2014 +0800
sheepdog: fix 'qemu-img map'
It was muted in the previous commit 4bc74be9. Let's revive it since
nothing
prevents us to do it.
With this patch, following command will work as other formats:
$ qemu-img map sheepdog:image
Cc: qemu-devel@xxxxxxxxxx
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 0e3bd9932f862c1c1e4926939b4d0c602ce214ef
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 20 15:12:16 2014 +0100
Documentation: qemu-img: Mention SIGUSR1 progress report
Document the SIGUSR1 behaviour of qemu-img. Also, added compare to the
list of subcommands that support -p.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 3c4b4e383e82ab3db307ee01f12ab0d4a28584dc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 20 15:06:03 2014 +0100
qemu-progress: Fix progress printing on SIGUSR1
Since commit a7aae221 ('Switch SIG_IPI to SIGUSR1'), SIGUSR1 is blocked
during startup, breaking the progress report in tools.
This patch reenables the signal when initialising a progress report.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit e69968d472bd020a08c677c814237548090d2e59
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jan 20 15:05:25 2014 +0100
qemu-progress: Drop unused include
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit 34ceed81f9ca31829448276dafe3d9151d66962c
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Jan 21 15:07:43 2014 +0800
vmdk: Check for overhead when opening
Report an error if file size is even smaller than metadata.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 46bae927134468d27f5e2508c3ced67ff58fa45b
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Tue Jan 21 11:30:02 2014 +0800
qcow2: fix wrong value of L1E_OFFSET_MASK, L2E_OFFSET_MASK and
REFT_OFFSET_MASK
Accoring to qcow spec, the offset fields in l1e, l2e and ref table entry
start at bit 9. The offset is cluster offset, and the smallest possible
cluster size is 512 bytes.
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 385c04d0b66917457b6a12fc2cfd99a6a40b2d89
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jan 13 18:47:39 2014 +0800
dataplane: fix shadowed return value
Propagate the error return value from get_indirect(). This bug was
introduced in commit 4d684832 ("vring: create a common function to parse
descriptors").
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d80ac658f2caacfb14ea386211c4a9bea0cea280
Author: Peter Feiner <peter@xxxxxxxxxxxxxx>
Date: Wed Jan 8 19:43:25 2014 +0000
block: fix backing file segfault
When a backing file is opened such that (1) a protocol is directly
used as the block driver and (2) the block driver has bdrv_file_open,
bdrv_open_backing_file segfaults. The problem arises because
bdrv_open_common returns without setting bd->backing_hd->file.
To effect (1), you seem to have to use the -F flag in qemu-img. There
are several block drivers that satisfy (2), such as "file" and "nbd".
Here are some concrete examples:
#!/bin/bash
echo Test file format
./qemu-img create -f file base.file 1m
./qemu-img create -f qcow2 -F file -o backing_file=base.file\
file-overlay.qcow2
./qemu-img convert -O raw file-overlay.qcow2 file-convert.raw
echo Test nbd format
SOCK=$PWD/nbd.sock
./qemu-img create -f raw base.raw 1m
./qemu-nbd -t -k $SOCK base.raw &
trap "kill $!" EXIT
while ! test -e $SOCK; do sleep 1; done
./qemu-img create -f qcow2 -F nbd -o backing_file=nbd:unix:$SOCK\
nbd-overlay.qcow2
./qemu-img convert -O raw nbd-overlay.qcow2 nbd-convert.raw
Without this patch, the two qemu-img convert commands segfault.
This is a regression that was introduced in v1.7 by
dbecebddfa4932d1c83915bcb9b5ba5984eb91be.
Signed-off-by: Peter Feiner <peter@xxxxxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 91f84f652de14329d5ad0666499a78fd0db0f1c7
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:24 2013 +0100
iotests: Test file format nesting
Add a test for nested image formats.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 30bd6a4dafe2f79909451ef5769561c9a9d3eaca
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:23 2013 +0100
iotests: Test new blkdebug/blkverify interface
Add a test for the new blkdebug/blkverify interface.
This test is not written in Python, although it uses QMP. This is
because it invokes the qemu-io HMP command, which outputs errors to
stderr instead of returning them through QMP. Filtering and testing that
output is easier in a shell script than with the Python infrastructure.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3fb11779ca5f1d601adeb5870ba79e61e81a4cce
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:22 2013 +0100
tests: Add test for qdict_flatten()
Add a test case for qdict_flatten() in tests/check-qdict.c. This test
case covers the flattening of subordinate QLists as well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit be331341a1f35c2de2fcc05cc78e0342d2edeb8a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:21 2013 +0100
tests: Add test for qdict_array_split()
Add a test case for qdict_array_split() in tests/check-qdict.c.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fd0fee34b5ae7699dc558c12ddc3663bdb580060
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:20 2013 +0100
qemu-io: Make filename optional
Giving a filename is actually not essential, since it can be specified
through the options as well - on the contrary: Sometimes a filename must
not be given.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1bf20b8280186299c750018bbfa3b52f4afd71ea
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:19 2013 +0100
qapi: QMP interface for blkdebug and blkverify
Add structures to support blkdebug and blkverify in blockdev-add.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8592a545b61b99114a86ee7cecef7a5f284d1b6c
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:18 2013 +0100
qapi: Add "errno" to the list of polluted words
Using "errno" directly as an identifier results in various syntax
errors; therefore it should be added to the list of polluted words.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 22511ad681348cc4e500ebafdc324b0909d41c95
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:17 2013 +0100
blkverify: Don't require protocol filename
If the filename is not prefixed by "blkverify:" in
blkverify_parse_filename(), the blkverify driver was not selected
through that protocol prefix, but by an explicit command line (or QMP)
option (like driver=blkverify).
If blkverify_parse_filename() has been called, a filename has been
given. If it is not prefixed, it is probably really just a plain
filename. This is no problem, since we can use it as the test image
filename and rely on the user to specify the raw image filename through
the new corresponding option.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 70b6198acc9643c3ce801e5cf4c24274722f2f4a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:16 2013 +0100
blkverify: Allow command-line configuration
Introduce the "test" and "raw" options for specifying images.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4373593d5111a8ed3b6d47ad4a458ee28ec942e3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:15 2013 +0100
blkdebug: Allow command-line file configuration
Introduce the "image" option as an alternative to specifying the image
through the filename.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d095b465339b79929fd2adc25c0ab3598e80fd39
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:14 2013 +0100
blockdev: Move "file" to legacy_opts
Specifying the image filename through the "file" option is a legacy
option and should not be supported by blockdev-add (in that case, giving
a string for "file" references an existing block device).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 505d758334afcee07eb40aa1b33f2353c612c8ec
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:13 2013 +0100
block: Allow recursive "file"s
It should be possible to use a format as a driver for a file which in
turn requires another file, i.e., nesting file formats.
Allowing nested file formats results in e.g. qcow2 BlockDriverStates
never being directly passed to bdrv_open_common() from bdrv_file_open(),
but instead being handed through bdrv_open(). This changes the error
message when trying to give a filename to qcow2, i.e. trying to use it
as a driver for the protocol level. Therefore, change the reference
output of I/O test 051 accordingly.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 054963f8f082695ecb1f169024c83ce3e4eea3d8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:12 2013 +0100
block: Use bdrv_open_image() in bdrv_open()
Using bdrv_open_image() instead of bdrv_file_open() directly in
bdrv_open() is easier.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit da557aac181fa71fde6a2a7c7a1eb2aea20caf64
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:11 2013 +0100
block: Add bdrv_open_image()
Add a common function for opening images to be used for block drivers
specified through BlockdevRefs in an option QDict. The difference from
bdrv_file_open() is that this function may invoke bdrv_open() instead,
allowing auto-detection of the driver to be used; and second, it
automatically extracts the BlockdevRef from the option QDict.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2a05cbe426a7a3ddec63dbc67c9ac93013aebf77
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:10 2013 +0100
block: Allow block devices without files
blkdebug and blkverify will, in order to retain compatibility, not
support the field "file" implicitly through bdrv_open(). In order to be
able to use those drivers without giving a filename anyway, it is
necessary to be able to have block devices without files implicitly
opened by bdrv_open(). This is the case, if there was neither a file
name, a reference to an existing block device to use as a file nor
options specific to the file.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2258e3fe20990a13c9aa2c1adccafae073b7ce13
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:09 2013 +0100
block: Pass reference to bdrv_file_open()
With that now being possible, bdrv_open() should try to extract a block
device reference from the options and pass it to bdrv_file_open().
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 72daa72eeecb6b2ee06ab7d836ac3aa01ad7e6df
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:08 2013 +0100
block: Allow reference for bdrv_file_open()
Allow specifying a reference to an existing block device (by name) for
bdrv_file_open() instead of a filename and/or options.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 89f2b21e36cce948c39fa7cf24226f6e5f042cc8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:07 2013 +0100
blkdebug: Use command-line in read_config()
Use qemu_config_parse_qdict() to parse the command-line options in
addition to the config file.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 85a040e5485413333da4fcf98bc8b28c92fa623f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:06 2013 +0100
blkdebug: Always call read_config()
Move the check whether there actually is a config file into the
read_config() function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit adf5c449e5beb163999e4ba7366d5f9aebb504a1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:05 2013 +0100
qemu-option: Add qemu_config_parse_qdict()
This function basically parses command-line options given as a QDict
replacing a config file.
For instance, the QDict {"section.opt1": 42, "section.opt2": 23}
corresponds to the config file:
[section]
opt1 = 42
opt2 = 23
It is possible to specify multiple sections and also multiple sections
of the same type. On the command line, this looks like the following:
inject-error.0.event=reftable_load,\
inject-error.1.event=l2_load,\
set-state.event=l1_update
This would correspond to the following config file:
[inject-error "inject-error.0"]
event = reftable_load
[inject-error "inject-error.1"]
event = l2_load
[set-state]
event = l1_update
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f23fc0c23ab16e9c16b41ed300786924f7a7768
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:04 2013 +0100
qapi: extend qdict_flatten() for QLists
Reversing qdict_array_split(), qdict_flatten() should flatten QLists as
well by interpreting them as QDicts where every entry's key is its
index.
This allows bringing QDicts with QLists from QMP commands to the same
form as they would be given as command-line options, thereby allowing
them to be parsed the same way.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 05a8c2227157eda2540404999c4615d3bf343c18
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:03 2013 +0100
qdict: Add qdict_array_split()
This function splits a QDict consisting of entries prefixed by
incrementally enumerated indices into a QList of QDicts.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d4881b9bcbbadc83ffa5d8e6d2d6deb36cd8faa6
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:02 2013 +0100
blkdebug: Don't require sophisticated filename
If the filename is not prefixed by "blkdebug:" in
blkdebug_parse_filename(), the blkdebug driver was not selected through
that protocol prefix, but by an explicit command line option
(file.driver=blkdebug or something similar). Contrary to the current
reaction, this is not a problem at all; we just need to store the
filename (in the x-image option) and can go on; the user just has to
manually specify the config option.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 466b49f276310952ad64485d8b9fa87a5c8a9451
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Dec 20 19:28:01 2013 +0100
blkdebug: Use errp for read_config()
Use an Error variable in the read_config() function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4694020d3c0d21f02408d5cc6f44b8fb55b4ee15
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:18 2013 +0100
qemu-io: add command completion
Autocomplete qemu-io commands at the interactive prompt.
Note this only completes command names and not their options.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0cf17e181798063c3824c8200ba46f25f54faa1a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:17 2013 +0100
qemu-io: use readline.c
Use readline.c for command-line history. There was support for GNU
Readline and BSD Editline but it was never compiled in. Since QEMU has
its own readline.c, just use that when qemu-io runs with stdin attached
to a terminal.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 13401ba0b982024b62a99388032bbb889dc98b43
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:16 2013 +0100
osdep: add qemu_set_tty_echo()
Using stdin with readline.c requires disabling echo and line buffering.
Add a portable wrapper to set the terminal attributes under Linux and
Windows.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0150cd81cf608b93778a067189829f354fe27e4b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:15 2013 +0100
readline: move readline to a generic location
Now that the monitor and readline are decoupled, readline.h no longer
belongs in include/monitor/. Put the header into include/qemu/.
Move the source file into util/ so it can be linked as part of
libqemuutil.a.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c60bf3391bf4cb79b7adc6650094e21671ddaabd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 11:54:14 2013 +0100
readline: decouple readline from the monitor
Make the readline.c functionality reusable. Instead of calling
monitor_printf() and monitor_flush() directly, invoke function pointers
provided by the user.
This way readline.c does not know about Monitor and other users will be
able to make use of readline.c.
Note that there is already an "opaque" argument to the ReadLineFunc
callback. Consistently call it "readline_opaque" from now on to
distinguish from the ReadLinePrintfFunc/ReadLineFlushFunc "opaque"
argument.
I also dropped the printf macro trickery since it's now highly unlikely
that anyone modifying readline.c would call printf(3) directly. We no
longer need this protection.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 585ea0c841df47c1542d33e17c5c6d532316ef74
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Jan 8 09:42:07 2014 +0800
vmdk: Fix big flat extent IO
Local variable "n" as int64_t avoids overflow with large sector number
calculation. See test case change for failure case.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7fa9e1f941b4be1f71bb42de2f2ed8805d7e7326
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Jan 6 12:39:01 2014 +0800
docs: qcow2 compat=1.1 is now the default
Commit 9117b47717ad208b12786ce88eacb013f9b3dd1c ("qcow2: Change default
for new images to compat=1.1") changed the default qcow2 image format
version but forgot to update qemu-doc.texi and qemu-img.texi.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b7fcff01790d25f48d81ef6c8c3399577096a555
Author: Kewei Yu <keweihk@xxxxxxxxx>
Date: Mon Jan 6 14:05:24 2014 +0800
qtest: Fix the bug about disable vnc causes "make check" fail
When we disable vnc from "./configure", QEMU can't use the vnc option.
So qtest can't use the "vnc -none ", otherwise "make check" fails.
If QEMU uses "-display none", "-vnc none" is excrescent, So we just need
to drop it.
Signed-off-by: Kewei Yu <keweihk@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9f23fce7b2e78b917f03ccd366e3e151c0a1a419
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Fri Jan 3 20:13:12 2014 +0800
sheepdog: fix clone operation by 'qemu-img create -b'
We should pass base_inode->vdi_id to base_vdi_id of SheepdogVdiReq so
that sheep
can create a clone instead a fresh volume.
This fixes following command:
qemu-create -b sheepdog:base sheepdog:clone
so users can boot sheepdog:clone as a normal volume.
Cc: qemu-devel@xxxxxxxxxx
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf7f616b9d846b1cc21c7b692b5c9ff6f757a5e7
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 21 14:51:26 2013 +0530
gluster: Add support for creating zero-filled image
GlusterFS supports creation of zero-filled file on GlusterFS volume
by means of an API called glfs_zerofill(). Use this API from QEMU to
create an image that is filled with zeroes by using the preallocation
option of qemu-img.
qemu-img create gluster://server/volume/image -o preallocation=full 10G
The allowed values for preallocation are 'full' and 'off'. By default
preallocation is off and image is not zero-filled.
glfs_zerofill() offloads the writing of zeroes to the server and if
the storage supports SCSI WRITESAME, GlusterFS server can issue
BLKZEROOUT ioctl to achieve the zeroing.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7c815372f3b37754b2a568e82f0521c7f77a6f66
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 21 14:51:25 2013 +0530
gluster: Implement .bdrv_co_write_zeroes for gluster
Support .bdrv_co_write_zeroes() from gluster driver by using GlusterFS API
glfs_zerofill() that off-loads the writing of zeroes to GlusterFS server.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15744b0b8f63d624bdd5825011cd201541a62094
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Sat Dec 21 14:51:24 2013 +0530
gluster: Convert aio routines into coroutines
Convert the read, write, flush and discard implementations from aio-based
ones to coroutine based ones.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 92397116a6789ed4455c6dacea0f378cae096d8d
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Dec 20 10:02:47 2013 +0100
block/iscsi: return -ENOMEM if an async call fails immediately
if an async libiscsi call fails directly it can only be due
to an out of memory condition. All other errors are returned
through the callback.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 487c1910023c83fa6d550a50c8ad7ee730e60bfa
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Nov 26 14:40:34 2013 +0800
qemu-iotests: Clean up all extents for vmdk
This modifies _cleanup_test_img to remove all the extent files listed by
"qemu-img info"'s format specific information.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d2329f27c9c8408d4134c7243313dbaa37270384
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Nov 26 14:40:33 2013 +0800
qemu-iotests: Add _unsupported_imgopts for vmdk subformats
Some cases are not applicable for vmdk subformats those don't support
certain features, e.g. backing file, and some others can't run on
mult-file image, e.g. monolithicFlat. This adds declaration in test
cases to skip them automatically, so that iotests on vmdk can go
more smoothly (without manually picking of cases for each subformat).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2c77f52e39ff2ba071e3b549ad7a3ebea0758edd
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Nov 26 14:40:32 2013 +0800
qemu-iotests: Introduce _unsupported_imgopts
Introduce _unsupported_imgopts that causes _notrun for specific image
options.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e04fb07fd1676e9facd7f3f878c1bbe03bccd26b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Dec 5 16:38:33 2013 +0100
rbd: switch from pipe to QEMUBH completion notification
rbd callbacks are called from non-QEMU threads. Up until now a pipe was
used to signal completion back to the QEMU iothread.
The pipe writer code handles EAGAIN using select(2). The select(2) API
is not scalable since fd_set size is static. FD_SET() can write beyond
the end of fd_set if the file descriptor number is too high. (QEMU's
main loop uses poll(2) to avoid this issue with select(2).)
Since the pipe itself is quite clumsy to use and QEMUBH is now
thread-safe, just schedule a BH from the rbd callback function. This
way we can simplify I/O completion in addition to eliminating the
potential FD_SET() crash when file descriptor numbers become too high.
Crash scenario: QEMU already has 1024 file descriptors open. Hotplug an
rbd drive and get the pipe writer to take the select(2) code path.
Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Tested-by: Josh Durgin <josh.durgin@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 492044581c26ba9ace3af5c6abb2a911a23ad188
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Mon Jan 20 14:51:50 2014 -0500
s390-sclp: SCLP Event integration
Add an sclp event for "cpu was hot plugged". This allows Qemu to deliver
an
SCLP interrupt to the guest stating that the requested cpu hotplug was
completed.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 8cc3aecf8461bd38028ddb4a56a17d0a1583de36
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Mon Jan 20 14:51:49 2014 -0500
s390-sclp: SCLP CPU Info
Implement the CPU data in SCLP "Read SCP Info". And implement "Read CPU
Info"
SCLP command. This data will be used by the guest to get information
about hot
plugged cpus.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 5f04c14a10fa7f259bc0808f35a0beda49f7821e
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Mon Jan 20 14:51:48 2014 -0500
s390-sclp: Define New SCLP Codes
Define new SCLP codes to improve code readability.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 2777ccc55bfe90bfa813b01faf36fa6ea16fbea8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 16:25:17 2013 +0100
gtk: Support keyboard translation for hosts running Windows
GTK uses different hardware keycodes on Windows hosts, so some special
handling is needed to get the QEMU keycode.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 439d19f2922ac409ee224bc1e5522cee7009d829
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Jan 20 14:22:25 2014 +0100
kvm: always update the MPX model specific register
The original patch from Liu Jinsong restricted them to reset or full
state updates, but that's unnecessary (and wrong) since the BNDCFGS
MSR has no side effects.
Cc: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 918b94e2873cd5fe8aef06d269b4a4c7d0832ce7
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Wed Jan 15 14:38:58 2014 -0500
seccomp: add some basic shared memory syscalls to the whitelist
PulseAudio requires the use of shared memory so add shmget(), shmat(),
and shmdt() to the syscall whitelist.
Reported-by: xuhan@xxxxxxxxxx
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 0c2acb163fbb4579dad2d45595570b0a9ff71149
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Wed Jan 15 14:38:51 2014 -0500
seccomp: add mkdir() and fchmod() to the whitelist
The PulseAudio library attempts to do a mkdir(2) and fchmod(2) on
"/run/user/<UID>/pulse" which is currently blocked by the syscall
filter; this patch adds the two missing syscalls to the whitelist.
You can reproduce this problem with the following command:
# qemu -monitor stdio -device intel-hda -device hda-duplex
If watched under strace the following syscalls are shown:
mkdir("/run/user/0/pulse", 0700)
fchmod(11, 0700) [NOTE: 11 is the fd for /run/user/0/pulse]
Reported-by: xuhan@xxxxxxxxxx
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 39e6a38cdd4b235b2918b4977f31fde2c0da3bc4
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 13:23:53 2013 +0100
hda-codec: disable streams on reset
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8d7b5a1da0e06aa7addd7f084d9ec9d433c4bafb
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 17 11:12:56 2014 -0700
vfio: fix mapping of MSIX bar
VFIO virtualizes MSIX table for the guest but not mapping the part of
a BAR which contains an MSIX table. Since vfio_mmap_bar() mmaps chunks
before and after the MSIX table, they have to be aligned to the host
page size which may be TARGET_PAGE_MASK (4K) or 64K in case of PPC64.
This fixes boundaries calculations to use the real host page size.
Without the patch, the chunk before MSIX table may overlap with the MSIX
table and mmap will fail in the host kernel. The result will be serious
slowdown as the whole BAR will be emulated by QEMU.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 47c16ed56aa6bc4037bdb7b61f049097993cd244
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 17 11:12:07 2014 -0700
kvm: initialize qemu_host_page_size
There is a HOST_PAGE_ALIGN macro which makes sense for KVM accelerator
but it uses qemu_host_page_size/qemu_host_page_mask which initialized
for TCG only.
This moves qemu_host_page_size/qemu_host_page_mask initialization from
TCG's page_init() and adds a call for it from kvm_init().
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 794798e36eda77802ce7cc7d7d6b1c65751e8a76
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Fri Jan 10 15:56:33 2014 +0000
xen_pt: Fix passthrough of device with ROM.
QEMU does not need and should not allocate memory for the ROM of a
passthrough PCI device. So this patch initialize the particular region
like any other PCI BAR of a passthrough device.
When a guest will access the ROM, Xen will take care of the IO, QEMU
will not be involved in it.
Xen set a limit of memory available for each guest, allocating memory
for a ROM can hit this limit.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reported-and-Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
commit fc33b9004c49f21f8188df5c4cd079a9a3d08de8
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Fri Jan 10 15:52:54 2014 +0000
xen_pt: Fix debug output.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
commit 0193c62c94643a837832f2b5ccc133434ee740cb
Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri Jan 17 15:28:18 2014 +0000
xenfb: map framebuffer read-only and handle unmap errors
The framebuffer is needlessly mapped (PROT_READ | PROT_WRITE), map it
PROT_READ instead.
The framebuffer is unmapped by replacing the framebuffer pages with
anonymous shared memory, calling mmap. Check for return errors and print
a warning.
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 732c66ce641c69702a7e7fdb73b68f0c1b583ab5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 15 03:06:11 2014 -0800
Revert "error: Don't use error_report() for assertion msgs."
This reverts commit d32934c84c72f57e78d430c22974677b7bcabe5d.
The original implementation before this patch makes abortive error
messages much more friendly. The underlying bug that required this
change is now fixed. Revert.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 3dbe85b8404fa479ad0a75d5adb464949257f129
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 15 03:05:36 2014 -0800
tests: Add libqemustub to qom-interface-check
The recent addition of util/error.c's dependency on error_report()
causes this test to fail to link due to a number of missing monitor
related symbols. All these symbols are however defined by libqemustub.
Add this libary to the link.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 87ca1f77b1c406137fe36ab73b2dc91fb75f8d0a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Jan 16 09:22:07 2014 -0700
vfio-pci: Fail initfn on DMA mapping errors
The vfio-pci initfn will currently succeed even if DMA mappings fail.
A typical reason for failure is if the user does not have sufficient
privilege to lock all the memory for the guest. In this case, the
device gets attached, but can only access a portion of guest memory
and is extremely unlikely to work.
DMA mappings are done via a MemoryListener, which provides no direct
error return path. We therefore stuff the errno into our container
structure and check for error after registration completes. We can
also test for mapping errors during runtime, but our only option for
resolution at that point is to kill the guest with a hw_error.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit d3a2fd9b29e43e202315d5e99399b99622469c4a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Thu Jan 16 09:22:07 2014 -0700
vfio: Filter out bogus mappings
Since 57271d63 we now see spurious mappings with the upper bits set
if 64bit PCI BARs are sized while enabled. The guest writes a mask
of 0xffffffff to the lower BAR to size it, then restores it, then
writes the same mask to the upper BAR resulting in a spurious BAR
mapping into the last 4G of the 64bit address space. Most
architectures do not support or make use of the full 64bits address
space for PCI BARs, so we filter out mappings with the high bit set.
Long term, we probably need to think about vfio telling us the
address width limitations of the IOMMU.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1cb27d9233d572826b45bd8498d2fab1b6f01df9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jan 16 13:06:13 2014 +0100
scsi: Support TEST UNIT READY in the dummy LUN0
SeaBIOS waits for LUN0 to respond to the TEST UNIT READY command
in order to decide whether it should part of the boot sequence.
If LUN0 does not respond to the command, boot is delayed by up
to 5 seconds. This currently happens when there is no LUN0 on
a target. Fix that by adding a trivial implementation of the
command.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 88678fbd9dbf01fd0988bcb651508378d85e868a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 07:33:50 2013 +0100
usb-hid: add microsoft os descriptor support
Set SelectiveSuspendEnabled registy entry to one.
This makes Windows use remote suspend by default,
without manual registry fiddeling.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5319dc7b42610575cbd3a33f4340c1fb4f19b939
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 07:32:31 2013 +0100
usb: add support for microsoft os descriptors
This patch adds support for special usb descriptors used by microsoft
windows. They allow more fine-grained control over driver binding and
adding entries to the registry for configuration.
As this is a guest-visible change the "msos-desc" compat property
has been added to turn this off for 1.7 + older
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2c02d1ad48ad44cf00522df7d8de9138689fac85
Author: Kewei Yu <keweihk@xxxxxxxxx>
Date: Tue Dec 31 18:36:08 2013 +0800
vl: Add a blank space between the variable and '='
Signed-off-by: Kewei Yu <keweihk@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3babcc8704f593473ccd0f66d6e39c949c672477
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 28 08:31:11 2013 +0100
pc-bios: Remove execute flag from BIOS files
BIOS files are not directly executable, so they don't need this flag.
All other BIOS files don't use the execute flag.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a39ca6a124267dcfc6bc5276fff9c4b02e5c2215
Author: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Date: Sat Jan 11 13:34:11 2014 +0400
linux-user: fixed recvfrom() addrlen
addrlen parameter of recvfrom() of type socklen_t* was read into
variable of type socklen_t, that caused zeroing out of upper 4 bytes
when running s390x on top of x86_64. This patch changes addrlen type
to abi_ulong.
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fe54b24930f94bdfbc3d38eccd7adedf35f2f26f
Author: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Date: Sat Jan 11 13:34:10 2014 +0400
linux-user: fixed getsockopt() optlen
optlen parameter of getsockopt() of type socklen_t* was read into
variable of type socklen_t, that caused zeroing out of upper 4 bytes
when running s390x on top of x86_64. This patch changes optlen type
to abi_ulong.
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 19a894ba777fa45c6f89ae007570311384204a69
Author: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Date: Sat Jan 11 13:34:09 2014 +0400
linux-user: fixed s390x clone() argument order
It was broken by 4ce6243dc6216e35b5b691078ffa856463bfa8db,
where TARGET_CLONE_BACKWARDS was specified instead of
TARGET_CLONE_BACKWARDS2.
Signed-off-by: Pavel Zbitskiy <pavel.zbitskiy@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 850484a295a856474978d9338b8c17eb8e00f549
Author: David du Colombier <0intro@xxxxxxxxx>
Date: Wed Dec 25 15:17:43 2013 +0100
ide: cmd_exec_dev_diagnostic() always set error register to 0x01
This notably fix IDE CD probing on the Plan 9 operating system,
which rely on the error register set by the Execute Device
Diagnostic command to detect drive configurations.
Thanks to Rémi Pommarel for reporting this issue.
Signed-off-by: David du Colombier <0intro@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e6baf6130ef26f32a45e0282bd4720913a1ff472
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Thu Jan 9 09:58:16 2014 -0500
virtio-balloon: don't hardcode config size value
Use sizeof(struct virtio_balloon_config) instead.
Signed-off-by: Luiz capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fb3ecb7ea40c44d15091143c4336993e7165fc4f
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Jan 14 07:00:28 2014 +0100
exec: Exclude non portable function for MinGW
cpu_physical_memory_set_dirty_lebitmap calls getpageaddr and ffsl which
are
unavailable for MinGW. As the function is unused for MinGW, it can simply
be excluded from compilation.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit bf2eaf718e2fcc5cc975326495bf03de7305bbe4
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Mon Dec 9 21:33:34 2013 -0200
Add bios-256k.bin to BLOBS on Makefile
The default machine-type (pc-i440fx-2.0) now requires bios-256k.bin, but
"make install" isn't installing it, so qemu-system-x86_64 won't run out
of the box. Add it to BLOBS so it gets installed.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: William Dauchy <william@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dc9fc1cac59e46102f2e046ac3233d8ad4535497
Author: Namhyung Kim <namhyung@xxxxxxxxx>
Date: Tue Jan 7 09:04:25 2014 +0900
Fix typo of tiemr in timer.h
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7af6f46c6199549f0e02a2176d0f3ec2ec405e99
Author: Namhyung Kim <namhyung@xxxxxxxxx>
Date: Tue Jan 7 21:53:51 2014 +0900
docs: Fix typo in QMP WAKEUP example
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e638073c569e801ce9def2016a84f955cbbca779
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Jan 15 10:11:52 2014 -0700
vfio: Do not reattempt a failed rom read
During lazy rom loading, if rom read fails, and the
guest attempts a read again, vfio will again attempt it.
Add a boolean to prevent this. There could be a case where
a failed rom read might succeed the next time because of
a device reset or such, but it's best to exclude unpredictable
behavior
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit d20b43dfea1587b561aae17e4fa0f7407779d253
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Jan 15 10:11:06 2014 -0700
vfio: warn if host device rom can't be read
If the device rom can't be read, report an error to the
user. This alerts the user that the device has a bad
state that is causing rom read failure or option rom
loading has been disabled from the device boot menu
(among other reasons).
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 7c4228b4771acddcb8815079bc116007cec8a1ff
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Jan 15 10:07:26 2014 -0700
vfio: Destroy memory regions
Somehow this has been lurking for a while; we remove our subregions
from the base BAR and VGA region mappings, but we don't destroy them,
creating a leak and more serious problems when we try to migrate after
removing these devices. Add the trivial bit of final cleanup to
remove these entirely.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 584f2be79de148b0765a758ac0c1036a29c5e830
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jan 10 18:20:18 2014 +1100
KVM: fix addr type for KVM_IOEVENTFD
The @addr here is a guest physical address and can easily be bigger
than 4G.
This changes uint32_t to hwaddr.
Cc: qemu-stable@xxxxxxxxxx
Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 94ccff133820552a859c0fb95e33a539e0b90a75
Author: thomas knych <thomaswk@xxxxxxxxxx>
Date: Thu Jan 9 13:14:23 2014 -0800
KVM: Retry KVM_CREATE_VM on EINTR
Upstreaming this change from Android
(https://android-review.googlesource.com/54211).
On heavily loaded machines with many VM instances we see KVM_CREATE_VM
failing with EINTR on this path:
kvm_dev_ioctl_create_vm -> kvm_create_vm -> kvm_init_mmu_notifier ->
mmu_notifier_register -> do_mmu_notifier_register -> mm_take_all_locks
which checks if any signals have been raised while it was attaining locks
and returns EINTR. Retrying the system call greatly improves reliability.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: thomas knych <thomaswk@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit dc6afb99b39a78cf416c6d19e35f680f202016be
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Jan 14 13:10:24 2014 -0500
block: add .bdrv_reopen_prepare() stub for iscsi
To suppport reopen(), the .bdrv_reopen_prepare() stub must exist.
iSCSI does not have anything that needs to be done to support reopen,
so we can just implement the _prepare() stub.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 49fb65c7f985baa56d2964e0a85c1f098e3e2a9d
Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 14:16:26 2014 -0500
virtio-scsi: Prevent assertion on missed events
In some cases, an unplug can cause events to be dropped, which
leads to an assertion failure when preparing to notify the guest
kernel.
Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e9c0f0f58ad0a41c3c4b19e1911cfe095afc09ca
Author: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Date: Tue Jan 14 14:16:25 2014 -0500
virtio-scsi: Cleanup of I/Os that never started
There is still a small window that occurs when a cancel I/O affects
an asynchronous I/O operation that hasn't started. In other words,
when the residual data length equals the expected data length.
Today, the routine virtio_scsi_command_complete fails because the
VirtIOSCSIReq pointer (from the hba_private field in SCSIRequest)
was cleared earlier when virtio_scsi_complete_req was called by
the virtio_scsi_request_cancelled routine. As a result, the
virtio_scsi_command_complete routine needs to simply return when
it is processing a SCSIRequest block that was marked canceled.
Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 33325a53f15ab5370e1917b2a11cadffc77c5a52
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Jan 15 10:35:36 2014 +0100
scsi: Assign cancel_io vector for scsi_disk_emulate_ops
Some emulated disk operations (MODE SELECT, UNMAP, WRITE SAME)
can trigger asynchronous I/Os. Provide the cancel_io callback
to ensure that AIOCBs are properly cleaned up.
Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
[Tweak commit message. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1cf892ca2689c84960b4ce4d2723b6bee453711c
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 27 08:50:11 2013 +0100
SPARC: Fix LEON3 power down instruction
Synchronize the program counter before the power down helper call
otherwise interrupts will return to the wrong context.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit d32934c84c72f57e78d430c22974677b7bcabe5d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Jan 14 19:37:09 2014 -0800
error: Don't use error_report() for assertion msgs.
Use fprintf(stderr instead. This removes dependency of libqemuutil.a
on the monitor.
We can further justify this change, in that this code path should only
trigger under a fatal error condition. fprintf-stderr is probably the
appropriate medium as under a fatal error conidition the monitor itself
may be down and out for the count. So assertion failure messages should
go lowest common denominator - straight to stderr.
Fixes the build as reported by Kevin Wolf. Issue debugged and change
suggested by Luiz Capitulino. Issue introduced by
5d24ee70bcbcf578614193526bcd5ed30a8eb16c.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 133fe77437d3a23bf1fd70a231b4f29d5fa0571c
Merge: 73c6945 c950114
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Jan 14 12:09:59 2014 +1000
Merge remote branch 'luiz/queue/qmp' into qmpq
* luiz/queue/qmp:
migration: qmp_migrate(): keep working after syntax error
qerror: Remove assert_no_error()
qemu-option: Remove qemu_opts_create_nofail
target-i386: Remove assert_no_error usage
hw: Remove assert_no_error usages
qdev: Delete dead code
error: Add error_abort
monitor: add object-add (QMP) and object_add (HMP) command
monitor: add object-del (QMP) and object_del (HMP) command
qom: catch errors in object_property_add_child
qom: fix leak for objects created with -object
rng: initialize file descriptor to -1
qemu-monitor: HMP cpu-add wrapper
vl: add missing transition debug->finish_migrate
Message-Id: 1389045795-18706-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 73c694565c6144e0c4e15041b5250a04a25107c3
Author: Alistair Francis <alistair.francis@xxxxxxxxxx>
Date: Mon Jan 13 13:35:26 2014 +1000
Microblaze: Convert Microblaze-pic handling to GPIOs
This patch uses inbound GPIO lines (IRQ and FIR) for
interrupts instead of using the old pic_cpu method,
which doesn't correspond to real hardware.
This creates the CPU's inbound IRQ and FIR GPIO lines and
updates the Microblaze boards to use this new method.
Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
Suggested-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reveiwed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit 83e6813a93e38976391b8c382c3375e3e188df3e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 13 10:26:16 2014 +0000
target-arm: Switch ARMCPUInfo arrays to use terminator entries
Switch the ARMCPUInfo arrays in cpu.c and cpu64.c to use a terminator
entry rather than looping based on ARRAY_SIZE. The latter causes
compile warnings on some versions of gcc if the configure options
happen to result in an empty array.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
commit b54f18ba3415c731f0b069f6df56f529997fb74e
Merge: dd089c0 aa8dc04
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Jan 13 13:20:49 2014 -0800
Merge remote-tracking branch 'quintela/tags/migration/20140113' into
staging
migration.next for 20140113
# gpg: Signature made Mon 13 Jan 2014 09:38:27 AM PST using RSA key ID
5872D723
# gpg: Can't check signature: public key not found
* quintela/tags/migration/20140113: (49 commits)
migration: synchronize memory bitmap 64bits at a time
ram: split function that synchronizes a range
memory: syncronize kvm bitmap using bitmaps operations
memory: move bitmap synchronization to its own function
kvm: refactor start address calculation
kvm: use directly cpu_physical_memory_* api for tracking dirty pages
memory: unfold memory_region_test_and_clear()
memory: split cpu_physical_memory_* functions to its own include
memory: cpu_physical_memory_set_dirty_tracking() should return void
memory: make cpu_physical_memory_reset_dirty() take a length parameter
memory: s/dirty/clean/ in cpu_physical_memory_is_dirty()
memory: cpu_physical_memory_clear_dirty_range() now uses bitmap
operations
memory: cpu_physical_memory_set_dirty_range() now uses bitmap operations
memory: use find_next_bit() to find dirty bits
memory: s/mask/clear/ cpu_physical_memory_mask_dirty_range
memory: cpu_physical_memory_get_dirty() is used as returning a bool
memory: make cpu_physical_memory_get_dirty() the main function
memory: unfold cpu_physical_memory_set_dirty_flag()
memory: unfold cpu_physical_memory_set_dirty() in its only user
memory: unfold cpu_physical_memory_clear_dirty_flag() in its only user
...
Message-id: 1389634834-24181-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit aa8dc044772ba156cbcf2174b5673cfa11f566a7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Nov 6 11:33:05 2013 +0100
migration: synchronize memory bitmap 64bits at a time
We use the old code if the bitmaps are not aligned
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 791fa2a2451799232d6bc0c29c0fbb13b5293eeb
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 16:47:20 2013 +0100
ram: split function that synchronizes a range
This function is the only bit where we care about speed.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit ae2810c4bb3b383176e8e1b33931b16c01483aab
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 16:46:26 2013 +0100
memory: syncronize kvm bitmap using bitmaps operations
If bitmaps are aligned properly, use bitmap operations. If they are
not, just use old bit at a time code.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 5ff7fb77b3cee8e26648e4fdccb23a77c2a6d3c6
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 15:52:54 2013 +0100
memory: move bitmap synchronization to its own function
We want to have all the functions that handle directly the dirty
bitmap near. We will change it later.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit c9dd46fc0d64d9f314aa3c220d4aff9d01ab778e
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Nov 5 15:45:46 2013 +0100
kvm: refactor start address calculation
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 747afd5bcdc90f608c75d95f8a629a9cfc838c57
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Nov 4 12:59:02 2013 +0100
kvm: use directly cpu_physical_memory_* api for tracking dirty pages
Performance is important in this function, and we want to optimize even
further.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 12291ec18fdce3c1973c172f5a942a1bd26b9a5f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Oct 14 17:14:47 2013 +0200
memory: unfold memory_region_test_and_clear()
We are going to update the bitmap directly
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 220c3ebddbd1ac289ae7fc64733c9501b3921d94
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Mon Oct 14 17:13:59 2013 +0200
memory: split cpu_physical_memory_* functions to its own include
All the functions that use ram_addr_t should be here.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 981fdf2353d5e708adbe5227260d5e46eececc05
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 10 11:54:09 2013 +0200
memory: cpu_physical_memory_set_dirty_tracking() should return void
Result was always 0, and not used anywhere. Once there, use bool type
for the parameter.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a2f4d5bef2cfde557d76fc45a40d2c89b6bed4e4
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 10 11:49:53 2013 +0200
memory: make cpu_physical_memory_reset_dirty() take a length parameter
We have an end parameter in all the callers, and this make it coherent
with the rest of cpu_physical_memory_* functions, that also take a
length parameter.
Once here, move the start/end calculation to
tlb_reset_dirty_range_all() as we don't need it here anymore.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a2cd8c852d2d8c2a084b68b2470f214d6726f6d2
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Thu Oct 10 11:20:22 2013 +0200
memory: s/dirty/clean/ in cpu_physical_memory_is_dirty()
All uses except one really want the other meaning.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a461e389f489e72cdc770ff887512c2c9109bc43
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 12:30:35 2013 +0200
memory: cpu_physical_memory_clear_dirty_range() now uses bitmap operations
We were clearing a range of bits, so use bitmap_clear().
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 5b9a3a5f77e3458af6c1bb0654ee0f32936a5594
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 12:26:23 2013 +0200
memory: cpu_physical_memory_set_dirty_range() now uses bitmap operations
We were setting a range of bits, so use bitmap_set().
Note: xen has always been wrong, and should have used start instead
of addr from the beginning.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 1bafff0c7cb99972fd243464632eca0780c6a8f1
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 12:15:06 2013 +0200
memory: use find_next_bit() to find dirty bits
This operation is way faster than doing it bit by bit.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit ace694cccccf343852d9f0b34171ad475e248bbf
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 9 10:36:56 2013 +0200
memory: s/mask/clear/ cpu_physical_memory_mask_dirty_range
Now all functions use the same wording that bitops/bitmap operations
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 94833c896d2d339571a66542f2715b1897d70fa7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:40:55 2013 +0200
memory: cpu_physical_memory_get_dirty() is used as returning a bool
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 9f2c43e41a13605d3ab1e37ba433aa669652fb6b
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:35:39 2013 +0200
memory: make cpu_physical_memory_get_dirty() the main function
And make cpu_physical_memory_get_dirty_flag() to use it. It used to
be the other way around.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit c1427a3f84c42d5159d10927700eafc9b653d68f
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:27:58 2013 +0200
memory: unfold cpu_physical_memory_set_dirty_flag()
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 4f13bb80a2dc1bb851b43da6dd9117473772b197
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:25:16 2013 +0200
memory: unfold cpu_physical_memory_set_dirty() in its only user
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 86a49582dbe66d59a9366d2f002f0d6af965ecb8
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 20:21:10 2013 +0200
memory: unfold cpu_physical_memory_clear_dirty_flag() in its only user
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 1ab4c8ceaa5ec55af9bb25e88e46d461a8550280
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 16:14:39 2013 +0200
memory: split dirty bitmap into three
After all the previous patches, spliting the bitmap gets direct.
Note: For some reason, I have to move DIRTY_MEMORY_* definitions to
the beginning of memory.h to make compilation work.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 164590a60fd685399da259ac41b338d9a0b9d6c0
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 16:12:17 2013 +0200
bitmap: Add bitmap_zero_extend operation
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit e8a97cafc4108fa964807eb9cbce7eda698f99bb
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 15:50:55 2013 +0200
memory: cpu_physical_memory_clear_dirty_flag() result is never used
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 2152f5ca782e51a4d05a1f7d9bfa83286323cbc9
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 13:52:02 2013 +0200
memory: only resize dirty bitmap when memory size increases
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 7a5b558c9d061814f34d9b95d70d17ef75037937
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 13:29:11 2013 +0200
memory: make sure that client is always inside range
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 5adca7ace9b80bf594e4c52c0d5b23573cba3639
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 13:26:29 2013 +0200
memory: use bit 2 for migration
For historical reasons it was bit 3. Once there, create a constant to
know the number of clients.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 52159192919469b424b54c167312e53d5a62d233
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:44:04 2013 +0200
memory: cpu_physical_memory_mask_dirty_range() always clears a single flag
Document it
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 75218e7f2b7f052c6f44489afaf45b3ea4369f45
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:31:54 2013 +0200
memory: cpu_physical_memory_set_dirty_range() always dirty all flags
So remove the flag argument and do it directly. After this change,
there is nothing else using cpu_physical_memory_set_dirty_flags() so
remove it.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 63995cebfaa283586682ea6236c9686b2a49ece7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:25:25 2013 +0200
memory: set single dirty flags when possible
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 36187e2ca0295364dcb9a3f256a6fcd77e983c02
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:17:12 2013 +0200
memory: all users of cpu_physical_memory_get_dirty used only one flag
So cpu_physical_memory_get_dirty_flags is not needed anymore
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 4f08cabe9e6efe8a50abc30cfa59e8470ad434d7
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 12:01:01 2013 +0200
memory: make cpu_physical_memory_is_dirty return bool
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 7e5609a85e3f35965af5e4c7b1480254642cf2dd
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 11:57:21 2013 +0200
exec: create function to get a single dirty bit
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit a1390db4df32ad95bf7854944180d2343f7f6368
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 11:53:46 2013 +0200
memory: create function to set a single dirty bit
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 06567942e5e92cc649b608205d5d31ff3ac21c58
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Oct 8 11:50:04 2013 +0200
exec: use accessor function to know if memory is dirty
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 78d0042642a415b56b3c53a6044f30eff47bf69c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 2 14:30:02 2013 +0200
memory: cpu_physical_memory_set_dirty_range() return void
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e2da99d582300bb8deecb25d26a179ef5b92e066
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Wed Oct 2 14:04:19 2013 +0200
memory: cpu_physical_memory_set_dirty_flags() result is never used
So return void.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9c22687ea8c1a2644a41a683ff0a291adc9a657c
Author: Juan Quintela <quintela@xxxxxxxxxx>
Date: Tue Dec 17 12:12:24 2013 +0100
bitmap: use long as index
Move index and size fields from int to long. We need that for
migration. long is 64 bits on sane architectures, and 32bits should
be enough on all the 32bits architectures.
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
commit 2668b4bff484a8428947c10a0efb9758658f4b1a
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:18 2013 -0200
tests: Some unit tests for vmstate.c
* Basic load/save tests
* Tests for loading older versions
* Tests for .field_exists() handling
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit bb1a6d8c57217188f33d8e59d71fc62dbee9e4f8
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Fri Nov 29 12:26:02 2013 -0200
savevm: Small comment about why timer QEMUFile/VMState code is in savevm.c
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 093c455a8c6d8f715eabd8c8d346f08f17d686ec
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:16 2013 -0200
qemu-file: Move QEMUFile code to qemu-file.c
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b6fcfa59fa6ad6d61603e701e006d4ec8f4c9d11
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:15 2013 -0200
vmstate: Move VMState code to vmstate.c
This will allow unit tests to be written for VMState code without
pulling dependencies from the savevm code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 51b7fa5b3cf7678263382039a884aa2e74742bb6
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:14 2013 -0200
savevm.c: Coding style fix
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 38ff78d363da0d2e0ad27853036b08eaa52ef18d
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:13 2013 -0200
savevm.c: Coding style fixes
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5cecf414945e5ba40da893cbdaed554371d4eca9
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:12 2013 -0200
savevm: Convert all tabs to spaces
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit b5503338ed1c66310f090cd9164abd244fc82631
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:11 2013 -0200
migration: Move QEMU_VM_* defines to migration/migration.h
The VMState code will be moved to vmstate.c and it uses some of the
QEMU_VM_* constants, so move it to a header.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c961514fd9e707b6a39c60f687a711ffe0a33539
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Thu Nov 28 12:01:10 2013 -0200
qemu-file: Make a few functions non-static
The QEMUFile code will be moved to qemu-file.c. This will require making
the following functions non-static because they are used by the savevm.c
code:
* qemu_peek_byte()
* qemu_peek_buffer()
* qemu_file_skip()
* qemu_file_set_error()
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Orit Wasserman <owasserm@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 40596834c0d57a223124a956ccbe39dfeadc9f0e
Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx>
Date: Mon Nov 25 14:42:43 2013 -0500
migration: Fix rate limit
The migration thread appears to want to allow writeout to occur at full
speed rather than being rate limited during completion of state saving,
but sets the limit to INT_MAX when xfer_limit is INT64_MAX. This causes
problems if there's more than 2GB of state left to save at this point. It
probably ought to just be INT64_MAX instead.
Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 51cf4c1a99a172679c2949a2d58a2a4ee307b557
Author: Zhanghaoyu (A) <haoyu.zhang@xxxxxxxxxx>
Date: Thu Nov 7 11:01:15 2013 +0000
introduce MIG_STATE_CANCELLING state
Introduce MIG_STATE_CANCELLING state to avoid starting a new migration
task while the previous one still exist.
Signed-off-by: Zeng Junliang <zengjunliang@xxxxxxxxxx>
Signed-off-by: Zhang Haoyu <haoyu.zhang@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6f2b811a61810a7fd9f9a5085de223f66b823342
Author: Zhanghaoyu (A) <haoyu.zhang@xxxxxxxxxx>
Date: Thu Nov 7 08:21:23 2013 +0000
avoid a bogus COMPLETED->CANCELLED transition
Avoid a bogus COMPLETED->CANCELLED transition.
There is a period of time from the timing of setting COMPLETED state to
that of migration thread exits, so during which it's problematic in
COMPLETED->CANCELLED transition.
Signed-off-by: Zeng Junliang <zengjunliang@xxxxxxxxxx>
Signed-off-by: Zhang Haoyu <haoyu.zhang@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dd089c0a1e928fb80ba8a37983c1b0e9232d1c8b
Merge: 42bf25a 30ef3c7
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jan 12 17:50:52 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-cocoa-20140112' into
staging
cocoa queue:
* pass command key to guest when VM has mousegrab
* add .qcow2 to extension list for image load dialog
* fix bugs in code for starting QEMU via image load dialog
* fix resize/redraw interaction
* draw window black if guest hasn't sent anything to screen
* minor style/typo fixes
* add myself as cocoa co-maintainer
# gpg: Signature made Sun 12 Jan 2014 02:45:52 PM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
* pmaydell/tags/pull-cocoa-20140112:
MAINTAINERS: add myself as cocoa UI co-maintainer
ui/cocoa: Remove stray tabs
ui/cocoa: Draw black rectangle if we have no data yet
ui/cocoa: Redraw at correct size when switching surface
ui/cocoa: Fix code for starting QEMU via image file load dialog
ui/cocoa: Add ".qcow2" to extension list for image load dialog
ui/cocoa: Send warning message to stderr, not stdout
ui/cocoa: Correct typos in comments and variable names
ui/cocoa: Pass command key through to guest when VM has mousegrab
Message-id: 1389567158-31066-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 42bf25a9bf99559dd68d2b20824cd4879d5785ba
Merge: eedc1a5 5cd8a11
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sun Jan 12 17:50:43 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140112'
into staging
target-arm queue:
* build fix for bigendian hosts
# gpg: Signature made Sun 12 Jan 2014 01:38:22 PM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
* pmaydell/tags/pull-target-arm-20140112:
arm: fix compile on bigendian host
Message-id: 1389562970-30944-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 30ef3c742526baa7910ab5023f0b85062bd85579
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Dec 16 15:17:55 2013 +0000
MAINTAINERS: add myself as cocoa UI co-maintainer
Add myself to the maintainers list for the cocoa UI; status
remains "Odd Fixes".
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Andreas Färber <andreas.faerber@xxxxxx>
Message-id: 1387207075-10280-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 49060c29c3751773265a405e6ceaed9d06fb4823
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 24 11:54:12 2013 +0000
ui/cocoa: Remove stray tabs
The ui/cocoa.m file has just three lines with hardcoded tabs; fix them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1387886052-27067-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 7d270b1c21c692478245b90bfac0aa54c6a8d98a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 24 02:51:47 2013 +0000
ui/cocoa: Draw black rectangle if we have no data yet
If our redraw method is called before we have any data from the guest,
then draw a black rectangle rather than leaving the window empty.
This mostly only matters when the guest machine has no framebuffer
device, but it is more in line with the behaviour of other QEMU UIs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387853507-26298-3-git-send-email-peter.maydell@xxxxxxxxxx
commit d3345a04849374af2b21d6624dd206c4444a6ffe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 24 02:51:46 2013 +0000
ui/cocoa: Redraw at correct size when switching surface
If the surface switch involved a resize, we were doing the redraw
at the old size rather than the new, because the update of
screen.width and screen.height was being done after the setFrame
method calls which triggered a redraw. Normally this isn't very
noticeable because typically after the guest triggers the window
resize it also draws something to it, which will in turn cause
us to redraw. However, the combination of a guest which never
draws to the display and a command line setting of a screen size
larger than the default can reveal odd effects.
Move most of the handling of resizes to the top of the method,
and guard it with a check that the surface size actually changed,
to avoid unnecessary operations (including some user visible ones
like "recenter the window on the screen") if the surface is the
same size as the old one.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387853507-26298-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 98db429d2c6d157b7e00e3f24b6b1d9036f5e358
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:06 2013 +0000
ui/cocoa: Fix code for starting QEMU via image file load dialog
Fix a number of bugs in the code for starting QEMU via the image
file load dialog:
* use the actual argv[0] rather than "qemu": this avoids failures to
find BIOS image files caused by not looking in the correct directory
relative to the executable path
* allocate a large enough argv array to NULL terminate it
* use g_strdup(X) rather than g_strdup_printf("%s", X) or
g_strdup_printf(X)
* disable the printing of the simulated command line argument
(which is presumably intended for debug only)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-6-git-send-email-peter.maydell@xxxxxxxxxx
commit 5342f990f46512487e3e5be1047a5b424f00d255
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:05 2013 +0000
ui/cocoa: Add ".qcow2" to extension list for image load dialog
Add ".qcow2" to the list of file extensions which are accepted
by the initial disk image load dialog which is displayed if the
user runs QEMU without any command line arguments.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 01cc4e6fd7d364c6c401c579d504d82c0523d67e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:04 2013 +0000
ui/cocoa: Send warning message to stderr, not stdout
Bring a warning message into line with the others in this file by
sending it to stderr, not stdout.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 49b9bd4dccac26178a4796367e4358bd67f4f59b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:03 2013 +0000
ui/cocoa: Correct typos in comments and variable names
Fix various non-user-visible typos in comments and variable names.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1386543546-31919-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 8895919a044e9e8111faebabacaa2245d8ce4e51
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 8 22:59:02 2013 +0000
ui/cocoa: Pass command key through to guest when VM has mousegrab
The guest might want to be able to use the command key for its won
purposes (as command if it is MacOS X, or for the Windows key if
it is a PC guest, for instance). In line with other UI frontends,
pass it through if the guest has mousegrab, and only use it for UI
menu accelerators if not grabbed.
Thanks to John Arbuckle for reporting this problem, helping
us work through what the best solution would be and providing
a patch which was the initial inspiration for this one.
Reported-by: John Arbuckle <programmingkidx@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386543546-31919-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 5cd8a11834d1fbb12439604ff6793b9f0bae4a15
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sun Jan 12 21:37:37 2014 +0000
arm: fix compile on bigendian host
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fbb9c590cacf1cefb516f523427a920c2fe8c135
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sun Jan 12 07:52:44 2014 +0000
Update OpenBIOS images
Update OpenBIOS images to SVN r1246 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit eedc1a5db5e4d941e39e54344322c0b1e89dfdcd
Merge: debe40f 8a1bd29
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:05:17 2014 -0800
Merge remote-tracking branch 'bonzini/scsi-next' into staging
* bonzini/scsi-next:
scsi-disk: add UNMAP limits to block limits VPD page
block/iscsi: use a bh to schedule co reentrance
Message-id: 1387720926-11421-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit debe40fbc5f112672d0ab8f7f393e483304059f4
Merge: d181976 18da7f9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:05:05 2014 -0800
Merge remote-tracking branch 'stefanha/block' into staging
* stefanha/block:
commit: Remove unused check
qemu-iotests: Update test cases for commit active
commit: Support commit active layer
block: Add commit_active_start()
mirror: Move base to MirrorBlockJob
mirror: Don't close target
qemu-iotests: drop duplicate virtio-blk initialization failure
vmdk: Allow vmdk_create to work with protocol
vmdk: Check VMFS extent line field number
docs: updated qemu-img man page and qemu-doc to reflect VHDX support.
block: vhdx - improve error message, and .bdrv_check implementation
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
qapi-schema: fix QEMU 1.8 references
dataplane: replace hostmem with memory_region_find
dataplane: change vring API to use VirtQueueElement
vring: factor common code for error exits
vring: create a common function to parse descriptors
sheepdog: fix dynamic grow for running qcow2 format
Message-id: 1387554416-5837-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d1819762fcf5d50f30df603eb606eb31bf62e29d
Merge: 4cddc7f 5bf58ab
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:04:48 2014 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi,pci,pc,fedora,virtio fixes and enhancements
This includes some Preparatory patches for cpu hotplug for q25 and memory
hotplug by Igor, tests and memory mapping change
by Laszlo and pci reset cleanup by Paolo.
There are also some fixes for fedora and virtio:
included here since they are test blockers for me.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 23 Dec 2013 08:07:18 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
* mst/tags/for_anthony:
target-arm: fix build with gcc 4.8.2
virtio: add back call to virtio_bus_device_unplugged
piix: fix 32bit pci hole
qdev: switch reset to post-order
qdev: allow both pre- and post-order vists in qdev walking functions
pci: clean up resetting of IRQs
pci: do not export pci_bus_reset
ACPI/DSDT-CPU: cleanup bogus comment
ACPI: Q35 DSDT: fix CPU hotplug GPE0.2 handler
acpi: ich9: allow guest to clear SCI rised by GPE
acpi: factor out common pm_update_sci() into acpi core
acpi: piix4: remove not needed GPE0 mask
i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash
i440fx-test: generate temporary firmware blob
i440fx-test: give each GTest case its own qtest
i440fx-test: qtest_start() should be paired with qtest_end()
hw/i386/pc_sysfw: support two flash drives
pc_piix: document gigabyte_align
piix: gigabyte alignment for ram
Message-id: 1387815007-1272-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4cddc7f44ff83ff3545059f1b8648b8bd7fe0e72
Merge: 62a6a1f d024d20
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 11:04:31 2014 -0800
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* TLB invalidation optimizations
* X86CPU initialization cleanups
* Preparations for X86CPU hot-unplug
# gpg: Signature made Tue 24 Dec 2013 04:51:52 AM PST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 174F 0347 1BCC 221A 6175 6F96 FA2E D12D 3E7E
013F
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Cleanup 'foo=val' feature handling
target-i386: Cleanup 'foo' feature handling
target-i386: Convert 'check' and 'enforce' to static properties
target-i386: Convert 'hv_spinlocks' to static property
target-i386: Convert 'hv_vapic' to static property
target-i386: Convert 'hv_relaxed' to static property
cpu-exec: Optimize X86CPU usage in cpu_exec()
target-i386: Move apic_state field from CPUX86State to X86CPU
cputlb: Tidy memset() of arrays
cputlb: Use memset() when flushing entries
commit 62a6a1fb895b881a938426fadb808f78a86ee222
Merge: 205b6b6 096fc76
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 10:48:46 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140107'
into staging
target-arm queue:
* further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported.
* cadence UART model fixes.
* some minor bug fixes and cleanups.
* all the softfloat fixes required by the new A64 instructions;
several of these will also be used by PPC.
* pmaydell/tags/pull-target-arm-20140107: (61 commits)
target-arm: A64: Add support for FCVT between half, single and double
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
target-arm: A64: Add floating-point<->integer conversion instructions
target-arm: A64: Add floating-point<->fixed-point instructions
target-arm: A64: Add extra VFP fixed point conversion helpers
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
target-arm: Rename A32 VFP conversion helpers
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
softfloat: Add support for ties-away rounding
softfloat: Refactor code handling various rounding modes
softfloat: Add float16 <=> float64 conversion functions
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
softfloat: Provide complete set of accessors for fp state
softfloat: Fix float64_to_uint32_round_to_zero
softfloat: Fix float64_to_uint32
softfloat: Fix float64_to_uint64_round_to_zero
softfloat: Add float32_to_uint64()
softfloat: Fix factor 2 error for scalbn on denormal inputs
softfloat: Only raise Invalid when conversions to int are out of range
softfloat: Fix float64_to_uint64
...
Conflicts:
target-arm/cpu.h
aliguori: resolved trivial conflict
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 205b6b617519d53f17ef2158ff18cb0fe50f5d6c
Merge: 1d327fb f0116c5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Jan 10 10:47:30 2014 -0800
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
* riku/linux-user-for-upstream:
linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
linux-user: Support the accept4 socketcall
Message-id: 1389364137-23287-1-git-send-email-riku.voipio@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f0116c5458dc3be398ee7ef8daeaa02ba738bdc1
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Thu Jan 9 09:10:50 2014 +0000
linux-user: Remove regs parameter of load_elf_binary and load_flt_binary
The regs parameter is not used anywhere, so remove it.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit b9d36eb2c7d73875ef44182f18d625f1bc4c7fda
Author: André Hentschel <nerv@xxxxxxxxxxx>
Date: Mon Jan 6 20:18:52 2014 +0100
linux-user: Support the accept4 socketcall
Cc: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: André Hentschel <nerv@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Reviewed-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1d327fb4c72b898f7500989f3e624b7349581159
Merge: 074dcc2 2a13f99
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 13:56:27 2014 -0800
Merge remote-tracking branch 'otubo/seccomp' into staging
* otubo/seccomp:
seccomp: exit if seccomp_init() fails
Message-id: 1387565447-24241-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 074dcc228a92de8285ada7d7a0f14549de7aacaa
Merge: c06f13c 7826163
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 13:44:00 2014 -0800
Merge remote-tracking branch 'rth/ldst-i386-2' into staging
* rth/ldst-i386-2: (49 commits)
target-i386: Tidy ljmp
target-i386: Rename gen_op_jmp_T0 to gen_op_jmp_v
target-i386: Tidy some size computation
target-i386: Remove gen_op_mov_reg_A0
target-i386: Remove gen_op_mov_TN_reg
target-i386: Remove gen_op_addl_T0_T1
target-i386: Remove gen_op_mov_reg_T1
target-i386: Remove gen_op_mov_reg_T0
target-i386: Tidy cpu_regs initialization
target_i386: Clean up gen_pop_T0
target-i386: Combine gen_push_T* into gen_push_v
target-i386: Tidy addr16 code in gen_lea_modrm
target-i386: Change dflag to TCGMemOp
target-i386: Change gen_op_mov_reg_A0 size parameter to TCGMemOp
target-i386: Change aflag to TCGMemOp
target-i386: Change gen_op_j*z_ecx size parameter to TCGMemOp
target-i386: Change gen_op_add_reg_* size parameter to TCGMemOp
target-i386: Use TCGMemOp for 'ot' variables
target-i386: Remove gen_op_andl_A0_ffff
target-i386: Remove gen_op_movl_T0_T1
...
Message-id: 1389128439-10067-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c06f13c6da306180e9531114570d7800357f7446
Merge: 666eb03 11c308b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 11:24:48 2014 -0800
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM infrastructure fixes and device conversions
* QOM interface fixes and unit test
* Device no_user sanitization and documentation
* Device error reporting improvement
* Conversion of APIC, ICC, IOAPIC to QOM realization model
# gpg: Signature made Tue 24 Dec 2013 09:04:05 AM PST using RSA key ID
3E7E013F
# gpg: Good signature from "Andreas Färber <afaerber@xxxxxxx>"
# gpg: aka "Andreas Färber <afaerber@xxxxxxxx>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the
owner.
# Primary key fingerprint: 174F 0347 1BCC 221A 6175 6F96 FA2E D12D 3E7E
013F
* afaerber/tags/qom-devices-for-anthony: (24 commits)
qdev-monitor: Improve error message for -device nonexistant
ioapic: QOM'ify ioapic
ioapic: Cleanup for QOM'ification
icc_bus: QOM'ify ICC
apic: QOM'ify APIC
apic: Cleanup for QOM'ification
qdev: Drop misleading qbus_free() function
qom: Detect bad reentrance during object_class_foreach()
tests: Test QOM interface casting
qom: Do not register interface "types" in the type table and fix names
qom: Split out object and class caches
qdev: Document that pointer properties kill device_add
hw: cannot_instantiate_with_device_add_yet due to pointer props
qdev-monitor: Avoid device_add crashing on non-device driver name
qdev: Do not let the user try to device_add when it cannot work
isa: Clean up use of cannot_instantiate_with_device_add_yet
vt82c686: Clean up use of cannot_instantiate_with_device_add_yet
piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet
ich9: Document why cannot_instantiate_with_device_add_yet
pci-host: Consistently set cannot_instantiate_with_device_add_yet
...
commit 666eb032d34961a06713049c56361179903527e4
Merge: b61740d 5862ad0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 11:24:12 2014 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
* mjt/trivial-patches:
acpi unit-test: Remove temporary disk after test
mainstone: Fix duplicate array values for key 'space'
pxa27x: Add 'const' attribute to keyboard maps
pxa27x: Reduce size of keyboard matrix mapping
doc: Mention chardev:id in available devices for -serial
configure: Python tests must be done before help message
configure: Rewrite code for help message
fix -boot strict regressed in commit 6ef4716
vl: make boot_strict variable static (not used outside vl.c)
x86: only allow real mode to access 32bit without LMA
linux-user: Use macro TARGET_NSIG_WORDS where possible
exynos4210: Use macro ARRAY_SIZE where possible
ui/cocoa: Use macro ARRAY_SIZE where possible
misc: Use macro ARRAY_SIZE where possible
openrisc: Fix spelling in comment (transaltion -> translation)
hw/arm/highbank: Simplify code (memory region in device state)
Message-id: 1388182050-10270-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b61740dbef8d1c8fda8a0f46ecb617e6e865e9e2
Merge: f976b09 8900aad
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Jan 9 11:23:49 2014 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20140108'
into staging
target-arm queue:
* further A64 decoder patches, including enabling the aarch64-linux-user
target; this includes full floating point support. Neon is not yet
supported.
* cadence UART model fixes.
* some minor bug fixes and cleanups.
* all the softfloat fixes required by the new A64 instructions;
several of these will also be used by PPC.
# gpg: Signature made Wed 08 Jan 2014 11:25:12 AM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
* pmaydell/tags/pull-target-arm-20140108: (76 commits)
target-arm: A64: Add support for FCVT between half, single and double
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
target-arm: A64: Add floating-point<->integer conversion instructions
target-arm: A64: Add floating-point<->fixed-point instructions
target-arm: A64: Add extra VFP fixed point conversion helpers
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
target-arm: Rename A32 VFP conversion helpers
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
softfloat: Add support for ties-away rounding
softfloat: Refactor code handling various rounding modes
softfloat: Add float16 <=> float64 conversion functions
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
softfloat: Provide complete set of accessors for fp state
softfloat: Fix float64_to_uint32_round_to_zero
softfloat: Fix float64_to_uint32
softfloat: Fix float64_to_uint64_round_to_zero
softfloat: Add float32_to_uint64()
softfloat: Fix factor 2 error for scalbn on denormal inputs
softfloat: Only raise Invalid when conversions to int are out of range
softfloat: Fix float64_to_uint64
...
Message-id: 1389209439-25448-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8900aad218f8f2348bcd688eacf06d6c1f66bc69
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:15 2014 +0000
target-arm: A64: Add support for FCVT between half, single and double
Add support for FCVT between half, single and double precision.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9b0848d944aab124f03cedc8f54c3940450f3b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
This patch adds support for those instructions in the "Floating-point
data-processing (1 source)" group which are simple 32-bit-to-32-bit
or 64-bit-to-64-bit operations (ie everything except FCVT between
single/double/half precision).
We put the new round-to-int helpers in helper.c because they will
also be used by the new ARMv8 A32/T32 rounding instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches,
updated to new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: reworked decode, split FCVT out into their own patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c436d40614ccfa756bbf3d7448356889ede825fb
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->integer conversion instructions
Add support for the AArch64 floating-point <-> integer conversion
instructions to disas_fpintconv. In the process we can rearrange
and simplify the detection of unallocated encodings a little.
We also correct a typo in the instruction encoding diagram for this
instruction group: bit 21 is 1, not 0.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 52a1f6a3abb88ab875d5a70cec1048bb05e47263
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->fixed-point instructions
This patch adds emulation for the instruction group labeled
"Floating-point <-> fixed-point conversions" in the ARM ARM.
Namely this includes the instructions SCVTF, UCVTF, FCVTZS, FCVTZU
(scalar, fixed-point).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased, updated to new infrastructure.
Applied bug fixes from Michael Matz and Janne Grunau.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: significant cleanup]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c6a074a08ed3797624d4fb667564b9f3487eeaa
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add extra VFP fixed point conversion helpers
Define the full set of floating point to fixed point conversion
helpers required to support AArch64.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit abe66f702cac88fd6b1ccdca5d6f0c57f814ab0f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
The VFP fixed point conversion helpers first call float_scalbn and
then convert the result to an integer. This scalbn operation may
set floating point exception flags for:
* overflow & inexact (if it overflows to infinity)
* input denormal squashed to zero
* output denormal squashed to zero
Of these, we only care about the input-denormal flag, since
the output of the whole scale-and-convert operation will be
an integer (so squashed-output-denormal and overflow don't
apply). Suppress the others by saving the pre-scalb exception
flags and only copying across a potential input-denormal flag.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 16d5b3caca11360fd1d706403221c7bef40aa6f6
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Rename A32 VFP conversion helpers
The VFP conversion helpers for A32 round to zero as this is the only
rounding mode supported. Rename these helpers to make it clear that
they round to zero and are not suitable for use in the AArch64 code.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8ed697e88b7ead01edca6bf762921b962c265c82
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
Make the VFP_CONV_FIX helpers a little more flexible in
preparation for the A64 uses. This requires two changes:
* use the correct softfloat conversion function based on itype
rather than always the int32 one; this is possible now that
softfloat provides int16 versions and necessary for the
future conversion-to-int64 A64 variants. This also allows
us to drop the awkward 'sign' macro argument.
* split the 'fsz' argument which currently controls both
width of the input float type and width of the output
integer type into two; this will allow us to specify the
A64 64-bit-int-to-single conversion function, where the
two widths are different.
We can also drop the (itype##_t) cast now that softfloat
guarantees that all the itype##_to_float* functions take
an integer argument of exactly the correct type.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f9288a76f1819c2dbf8d2873aebab6aec0f461f5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add support for ties-away rounding
IEEE754-2008 specifies a new rounding mode:
"roundTiesToAway: the floating-point number nearest to the infinitely
precise result shall be delivered; if the two nearest floating-point
numbers bracketing an unrepresentable infinitely precise result are
equally near, the one with larger magnitude shall be delivered."
Implement this new mode (it is needed for ARM). The general principle
is that the required code is exactly like the ties-to-even code,
except that we do not need to do the "in case of exact tie clear LSB
to round-to-even", because the rounding operation naturally causes
the exact tie to round up in magnitude.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc355b764de890e1b5872d0b402dccfd9a9b5286
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Refactor code handling various rounding modes
Refactor the code in various functions which calculates rounding
increments given the current rounding mode, so that instead of a
set of nested if statements we have a simple switch statement.
This will give us a clean place to add the case for the new
tiesAway rounding mode.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 14c9a07eb9cae3d3bc1d39cc8815dd88337ce07a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add float16 <=> float64 conversion functions
Add the conversion functions float16_to_float64() and
float64_to_float16(), which will be needed for the ARM
A64 instruction set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c4a1c5e7e2fae28ef3fde2aadf7ec6fed0a5a967
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and
NormalizeFloat16Subnormal along the lines of the existing versions
for the other float types.
Note that we change the handling of zExp from the inline code
to match the API of the other RoundAndPackFloat functions; however
we leave the positioning of the binary point between bits 22 and 23
rather than shifting it up to the high end of the word.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 879d096b37b1233fec334bc2c2f569ac3b8fec9a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Provide complete set of accessors for fp state
Tidy up the get/set accessors for the fp state to add missing ones
and make them all inline in softfloat.h rather than some inline and
some not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fd728f2f949273563f799640b863b4b94dc4c6da
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32_round_to_zero
The float64_to_uint32_round_to_zero routine is incorrect.
For example, the following test pattern:
425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
will erroneously set the inexact flag.
This patch re-implements the routine to use the
float64_to_uint64_round_to_zero
routine. If saturation occurs we ignore any flags set by the
conversion function and raise only Invalid.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-6-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e7f654fa152de246f2254707bacac31ba50c660
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32
The float64_to_uint32 has several flaws:
- for numbers between 2**32 and 2**64, the inexact exception flag
may get incorrectly set. In this case, only the invalid flag
should be set.
test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
- for numbers between 2**63 and 2**64, incorrect results may
be produced:
test pattern: 43EAAF73F1F0B8BD / 0x1.aaf73f1f0b8bdp+63
This patch re-implements float64_to_uint32 to re-use the
float64_to_uint64 routine (instead of float64_to_int64). For the
saturation case, we ignore any flags which the conversion routine
has set and raise only the invalid flag.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-5-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0a87a3107dad97abff5b06558b0cce6832229086
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix float64_to_uint64_round_to_zero
The float64_to_uint64_round_to_zero routine is incorrect.
For example, the following test pattern:
46697351FF4AEC29 / 0x1.97351ff4aec29p+103
currently produces 8000000000000000 instead of FFFFFFFFFFFFFFFF.
This patch re-implements the routine to temporarily force the
rounding mode and use the float64_to_uint64 routine.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-4-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2f18bbf9844ad110e0e69ad22708f37cab1557f6
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Add float32_to_uint64()
This patch adds the float32_to_uint64() routine, which converts a
32-bit floating point number to an unsigned 64 bit number.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[PMM: removed harmless but silly int64_t casts]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c85c37f254bdfaea4e105b5014a287b5cf9514b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix factor 2 error for scalbn on denormal inputs
If the input to float*_scalbn() is denormal then it represents
a number 0.[mantissabits] * 2^(1-exponentbias) (and the actual
exponent field is all zeroes). This means that when we convert
it to our unpacked encoding the unpacked exponent must be one
greater than for a normal number, which represents
1.[mantissabits] * 2^(e-exponentbias) for an exponent field e.
This meant we were giving answers too small by a factor of 2 for
all denormal inputs.
Note that the float-to-int routines also have this behaviour
of not adjusting the exponent for denormals; however there it is
harmless because denormals will all convert to integer zero anyway.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 34e1c27bc3094ffe484d9855e07ad104bddf579f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Only raise Invalid when conversions to int are out of range
We implement a number of float-to-integer conversions using conversion
to an integer type with a wider range and then a check against the
narrower range we are actually converting to. If we find the result to
be out of range we correctly raise the Invalid exception, but we must
also suppress other exceptions which might have been raised by the
conversion function we called.
This won't throw away exceptions we should have preserved, because for
the 'core' exception flags the IEEE spec mandates that the only valid
combinations of exception that can be raised by a single operation are
Inexact + Overflow and Inexact + Underflow. For the non-IEEE softfloat
flag for input denormals, we can guarantee that that flag won't have
been set for out of range float-to-int conversions because a squashed
denormal by definition goes to plus or minus zero, which is always in
range after conversion to integer zero.
This bug has been fixed for some of the float-to-int conversion routines
by previous patches; fix it for the remaining functions as well, so
that they all restore the pre-conversion status flags prior to raising
Invalid.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fb3ea83aa53cead46465c74ddd1872babe9f4a3e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Fix float64_to_uint64
The comment preceding the float64_to_uint64 routine suggests that
the implementation is broken. And this is, indeed, the case.
This patch properly implements the conversion of a 64-bit floating
point number to an unsigned, 64 bit integer.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c4850f9e1b9cef2ac35cd6e6f3d8d2147787740c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Make the int-to-float functions take exact-width types
Currently the int-to-float functions take types which are specified
as "at least X bits wide", rather than "exactly X bits wide". This is
confusing and unhelpful since it means that the callers have to include
an explicit cast to [u]intXX_t to ensure the correct behaviour. Fix
them all to take the exactly-X-bits-wide types instead.
Note that this doesn't change behaviour at all since at the moment
we happen to define the 'int32' and 'uint32' types as exactly 32 bits
wide, and the 'int64' and 'uint64' types as exactly 64 bits wide.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8afbdabac2a1bdc137691c46965ef8c490cb5e44
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Add 16 bit integer to float conversions
Add the float to 16 bit integer conversion routines. These can be
trivially implemented in terms of the int32_to_float* routines, but
providing them makes our API more symmetrical and can simplify callers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f581bf5474d2319ca37484eb63208017ac96ce0a
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:17:48 2014 +0000
softfloat: Add float to 16bit integer conversions.
ARMv8 requires support for converting 32 and 64bit floating point
values to signed and unsigned 16bit integers.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: updated not to incorrectly set Inexact for Invalid inputs]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 38970efafdfa8a992c177563c4f0d77062b88fd9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 6 11:47:21 2014 +0000
softfloat: Fix exception flag handling for float32_to_float16()
Our float32 to float16 conversion routine was generating the correct
numerical answers, but not always setting the right set of exception
flags. Fix this, mostly by rearranging the code to more closely
resemble RoundAndPackFloat*, and in particular:
* non-IEEE halfprec always raises Invalid for input NaNs
* we need to check for the overflow case before underflow
* we weren't getting the tininess-detected-after-rounding
case correct (somewhat academic since only ARM uses halfprec
and it is always tininess-detected-before-rounding)
* non-IEEE halfprec overflow raises only Invalid, not
Invalid + Inexact
* we weren't setting Inexact when we should
Also add some clarifying comments about what the code is doing.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9df90ad078ec782d1339bd6879b6ea117f9759f7
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:33 2013 -0800
hw: arm_gic: Introduce gic_set_priority function
To make the code slightly cleaner to look at and make the save/restore
code easier to understand, introduce this function to set the priority of
interrupts.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-3-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 04050c5c6aa6f9c086a63a30b182b996fb2d3d02
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:32 2013 -0800
arm_gic: Rename GIC_X_TRIGGER to GIC_X_EDGE_TRIGGER
TRIGGER can really mean mean anything (e.g. was it triggered, is it
level-triggered, is it edge-triggered, etc.). Rename to EDGE_TRIGGER to
make the code comprehensible without looking up the data structure.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-2-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7b1aa025bdd8a62b203eb0a936e20af424fa2870
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 23 16:52:16 2013 +0200
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function
â??aarch64_cpu_register_typesâ??:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 20131223145216.GA22663@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7fcd57e80d134deb925aa47934040a39fd5fa1e0
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Jan 3 17:58:43 2014 -0800
arm/xilinx_zynq: Always instantiate the GEMs
Don't conditionalise GEM instantiation on networking attachments. The
device should always be present even if not attached to a network.
This allows for probing of the device by expectant guests (such as
OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)
is not self identifying so the guest has no dynamic way of detecting
device absence.
Also allows for testing of the GEM in loopback mode with -net none.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
55649779a68ee3ff54b24c339b6fdbdccd1f0ed7.1388800598.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit afb2530fe328079b3e4355fda9751a1dd9ef6ffb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 23:58:20 2014 -0800
target-arm: remove raw_read|write duplication
There is an inline duplication of the raw_read and raw_write function
bodies. Fix by just calling raw_read/raw_write instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e69281b7e1462b346cb313cf0b89eedc0568125f.1388649290.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a4f0cec6c9da10c5998fdd53845baf2ce6105830
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Fri Dec 20 10:33:11 2013 +0400
target-arm: use c13_context field for CONTEXTIDR
Use c13_context field instead of c13_fcse for CONTEXTIDR register
definition.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387521191-15350-1-git-send-email-s.fedorov@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 38acd64b1cc8b9589e155d16ba4a0ccf9dc95ae4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Implement Tx flow control
If the UART back-end blocks, buffer in the Tx FIFO to try again later.
This stops the IO-thread busy waiting on char back-ends (which causes
all sorts of performance problems).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
4bea048b3ab38425701d82ccc1ab92545c26b79c.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1e5d8cacb7fe509aa793ad844105fbc4fe02e015
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Delete redundant rx rst logic
uart_rx_reset() called immediately above already does this. Remove.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
05e30826496cf2579084ed801ac0b2c0d0a3071f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 86baecc3e43510c3bef03a0d7e947221823864d3
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Use the TX fifo for transmission
Populate the TxFIFO with the Tx data before sending. Prepares
support for proper Tx flow control implementation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
bdf7f8af2ef02839bea18665701bc2612f7baa6f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d0ac820fe4152ea3a57fc3fa9f732cc9524017a4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Fix can_receive logic
The can_receive logic was only taking into account the RxFIFO
occupancy. RxFIFO population is only used for the echo and normal modes
however. Improve the logic to correctly return the true number of
receivable characters based on the current mode:
Normal mode: RxFIFO vacancy.
Remote loopback: TxFIFO vacancy.
Echo mode: The min of the TxFIFO and RxFIFO vacancies.
Local Loopback: Return non-zero (to implement droppage)
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
36a58440c9ca5080151e95765c2c81342de8a8df.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2152e08ad12180f307bc5b838134ab745767d2e5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Remove TX timer & add TX FIFO state
This tx timer implementation is flawed. Despite the controller
attempting to time the guest visable assertion of the TX-empty status
bit (and corresponding interrupt) the controller is still transmitting
characters instantaneously. There is also no sense of multiple character
delay.
The only side effect of this timer is assertion of tx-empty status. So
just remove the timer completely and hold tx-empty as permanently
asserted (its reset status). This matches the actual behaviour of
instantaneous transmission.
While we are VMSD version bumping, add the tx_fifo as device state to
prepare for upcomming TxFIFO flow control. Implement the interrupt
generation logic for the TxFIFO occupancy.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7a208a7eb8d79d6429fe28b1396c3104371807b2.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 11a239a51ccbf27a22e2aa5f423ff1d6f5df65a7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Define Missing SR/ISR fields
Some (interrupt) status register bits relating to the TxFIFO path were
not defined. Define them. This prepares support for proper Tx data path
flow control.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2068b963f0af8cc834c353944e9fa816d950b163.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 676f4c095d53841626b1ee2cbc7a53b4f6239e4e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Simplify status generation
The status register bits are always pure functions of other device
state. Move the generation of these bits to the update_status()
function to simplify. Makes developing much easier as theres now no need
to recheck status bits on all the changes to rx/tx fifo state.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
321994929f789096975104f99c55732774be4cae.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1e77c91e2422ffa366fa5a0a39a6e7cc24a102ca
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: s/r_fifo/rx_fifo
Rename this field to match the many other uses of "rx". Xilinx
docmentation (UG585) also refers to this as "RxFIFO".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7386d7cee0ea175f7e53ed5ff045265528d34e32.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 823dd48761a668c8e787cb9cf07234b656a05926
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Fix reset.
Don't reset the uart as an init step. Register the reset function as a
proper reset fn instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
d82cd2e65e5a6f8b6deeecb6cced61f0bf3f8c89.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 589bfb6888385ae1767fe2f94528f2dacf59509a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Add missing uart_update_state
This should be rechecked on bus write accesses as such accesses may
change the underlying state that generates the interrupt. Particular
relevant for when the guest touches the interrupt status or mask.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1c250cd61b7b8de492fbc8b79b8370958a56d83b.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 059ca2bf0d882349aa002e10e3769d25cb923eb4
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Mark struct fields as public/private
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
a1e31bd62e9709ffb9b3efc6c120f83f30b7a660.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4d3da0f3aa5a5d0cbdb17ad49f1baf3cf1bd95a1
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: Give the FPSCR rounding modes names
When setting rounding modes we currently just hardcode the numeric values
for rounding modes in a big switch statement.
With AArch64 support coming, we will need to refer to these rounding modes
at different places throughout the code though, so let's better give them
names so we don't get confused by accident.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, use names from ARM ARM.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5640ff62c9668651beae0a438540040fd9ee05b5
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point cond select
This adds decoding support for C3.6.24 FP conditional select.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 513f1d762f12a4cfdb6cfd59db5f2fb434db60ec
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point conditional compare
This adds decoding support for C3.6.23 FP Conditional Compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit da7dafe7ee9372322f926834ca7c0532822ad415
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add support for floating point compare
Add decoding support for C3.6.22 Floating-point compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6163f868c9284a204ea108238f1812ad50c6bf17
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add fmov (scalar, immediate) instruction
This patch adds emulation for the fmov instruction working on scalars
with an immediate payload.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebase and use new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a30667fb77601b47501172218c7eabd0086c375
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (3 source)" insns
This patch adds emulation for the "Floating-point data-processing (3
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches.
Implement using muladd as suggested by Richard Henderson.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: pull field decode up a level, use register accessors]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ec73d2e096df1848cbd4255ed2b69954498085aa
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (2 source)" insns
This patch adds emulation for the "Floating-point data-processing (2
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merge single and double precision patches.
Rebase
and update to new infrastructure. Incorporate FMIN/FMAX support patch by
Michael Matz.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM:
* added convenience accessors for FP s and d regs
* pulled the field decode and opcode validity check up a level]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f71a2ae50e728f775446302d84e509bf0af43899
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum
Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e2f90565e7b3e2824fffcfcbcecf86205a1f14e2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Fix vector register access on bigendian hosts
The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account
for whether the host is bigendian or not. Provide utility
functions to abstract away the offsetof() calculations for
the FP registers.
For do_fp_st() we can sidestep most of the issues for 64 bit
and smaller reg-to-mem transfers by always doing a 64 bit
load from the register and writing just the piece we need
to memory.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f6d8a31440c523de15f88a186b9e6daacab17054
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Add support for dumping AArch64 VFP register state
When dumping the current CPU state, we can also get a request
to dump the FPU state along with the CPU's integer state.
Add support to dump the VFP state when that flag is set, so that
we can properly debug code that modifies floating point registers.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased. Output all registers, two per-line.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 13a7f79dfea84ddb9ff1132bf87583bdda93182d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
default-configs: Add config for aarch64-linux-user
Add a config for aarch64-linux-user, thereby enabling it as
a valid target.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 08aef910d9398ba488455dbb553a8253dc24a333
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
.travis.yml: Add aarch64-* targets
Now the AArch64 targets are in mainline we can include them in our
Travis test matrix.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e0ee138bf241ca493afe1419d578584b8be05c29
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
linux-user: AArch64: Use correct values for FPSR/FPCR in sigcontext
Use the helpers provided for getting the correct FPSR and FPCR
values for the signal context.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1b69f006bff89e5e4710dd04be85277aab8856bf
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
linux-user: AArch64: define TARGET_CLONE_BACKWARDS
The AArch64 linux-user support was written before but merged after
commit 4ce6243dc621 which cleaned up the handling of the clone()
syscall argument order, so we failed to notice that AArch64 also needs
TARGET_CLONE_BACKWARDS to be defined. Add this define so that clone
and fork syscalls work correctly.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fa2ef212dff8556ea92c4aef54b57efec69ca6fe
Author: Michael Matz <matz@xxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: A64: support for ld/st/cl exclusive
This implement exclusive loads/stores for aarch64 along the lines of
arm32 and ppc implementations. The exclusive load remembers the address
and loaded value. The exclusive store throws an an exception which uses
those values to check for equality in a proper exclusive region.
This is not actually the architecture mandated semantics (for either
AArch32 or AArch64) but it is close enough for typical guest code
sequences to work correctly, and saves us from having to monitor all
guest stores. It's fairly easy to come up with test cases where we
don't behave like hardware - we don't for example model cache line
behaviour. However in the common patterns this works, and the existing
32 bit ARM exclusive access implementation has the same limitations.
AArch64 also implements new acquire/release loads/stores (which may be
either exclusive or non-exclusive). These imposes extra ordering
constraints on memory operations (ie they act as if they have an implicit
barrier built into them). As TCG is single-threaded all our barriers
are no-ops, so these just behave like normal loads and stores.
Signed-off-by: Michael Matz <matz@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03d05e2d0765512fb960192b6e9f9a41c47282bd
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: Widen exclusive-access support struct fields to 64 bits
In preparation for adding support for A64 load/store exclusive
instructions,
widen the fields in the CPU state struct that deal with address and data
values
for exclusives from 32 to 64 bits. Although in practice AArch64 and
AArch32
exclusive accesses will be generally separate there are some odd
theoretical
corner cases (eg you should be able to do the exclusive load in AArch32,
take
an exception to AArch64 and successfully do the store exclusive there),
and it's
also easier to reason about.
The changes in semantics for the variables are:
exclusive_addr -> extended to 64 bits; -1ULL for "monitor lost",
otherwise always < 2^32 for AArch32
exclusive_val -> extended to 64 bits. 64 bit exclusives in AArch32 now
use the high half of exclusive_val instead of a separate exclusive_high
exclusive_high -> is no longer used in AArch32; extended to 64 bits as
it will be needed for AArch64's pair-of-64-bit-values exclusives.
exclusive_test -> extended to 64 bits, as it is an address. Since this
is
a linux-user-only field, in arm-linux-user it will always have the top
32 bits zero.
exclusive_info -> stays 32 bits, as it is neither data nor address, but
simply holds register indexes etc. AArch64 will be able to fit all its
information into 32 bits as well.
Note that the refactoring of gen_store_exclusive() coincidentally fixes
a minor bug where ldrexd would incorrectly update the first CPU register
even if the load for the second register faulted.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32b64e860d6e0887b3d2ad36a940c362646146f4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: aarch64: add support for ld lit
Adds support for Load Register (literal), both normal
and SIMD/FP forms.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 750813cfaa971bd8679d9f77b8bd21d316871f51
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for conditional compare insns
this patch adds support for C3.5.4 - C3.5.5
Conditional compare (both immediate and register)
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 643dbb07d26d100487ea87153d5222674bf482d8
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for add/sub with carry
This patch adds support for C3.5.3 Add/subtract (with carry):
instructions ADC, ADCS, SBC, SBCS.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7826163492b306d99680f9fd5e46720404d902f0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 09:38:07 2013 +1000
target-i386: Tidy ljmp
Remove an unnecessary move opcode.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 74bdfbda5537452c59db64fab42179f01d0436b9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 09:33:53 2013 +1000
target-i386: Rename gen_op_jmp_T0 to gen_op_jmp_v
And make the destination argument explicit.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 830a19a425e7b513cd08eb1f8aa58dfc7e9d0d48
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 09:13:27 2013 +1000
target-i386: Tidy some size computation
Clean up relics of multiple size domains: - MO_16 + 1 => - 1 + 1 => 0.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 33b7891bd5ea08e22aac755a145cb5c9afd2f86c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:54:33 2013 +1000
target-i386: Remove gen_op_mov_reg_A0
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c56baccf67c0251ce4480ecc6f72e3511add8b5e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:52:13 2013 +1000
target-i386: Remove gen_op_mov_TN_reg
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fd5185ecccb1ee0893dcd37324e8db96f876f866
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:46:59 2013 +1000
target-i386: Remove gen_op_addl_T0_T1
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 68773f84dcedf5971bf756d0b13fa7c99049ed21
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:43:50 2013 +1000
target-i386: Remove gen_op_mov_reg_T1
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 480a762d1795487e893918c5eb47124f275b4312
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Nov 7 08:41:38 2013 +1000
target-i386: Remove gen_op_mov_reg_T0
Replace with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fac0aff9f3f2bb23e597ff0dad92d8eee6916c8f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 16:38:38 2013 +1000
target-i386: Tidy cpu_regs initialization
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8e31d234b224634729d02b58a8faf364a574e5d7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 13:57:45 2013 +1000
target_i386: Clean up gen_pop_T0
Reduce ifdefs, share more code between paths, reduce the number of TCG
ops generated. Avoid re-computing the size of the operation across
gen_pop_T0 and gen_pop_update.
Add forgotten zero-extension in the TARGET_X86_64, !CODE64, ss32 case.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 432baffe15c18af576232f22ada2f4dec88ad74a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 13:19:04 2013 +1000
target-i386: Combine gen_push_T* into gen_push_v
Reduce ifdefs, share more code between paths, reduce the number of TCG
ops generated.
Add forgotten zero-extension in the TARGET_X86_64, !CODE64, ss32 case.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7effd62514fa42c3c6c9be15a97c98a5f76748b7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 11:34:38 2013 +1000
target-i386: Tidy addr16 code in gen_lea_modrm
Unlike the addr32, there was no bug. But we can use the same
technique to reduce the number of TCG ops.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ab4e4aec78657138312948359055e20f6266bd17
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 09:37:57 2013 +1000
target-i386: Change dflag to TCGMemOp
Changing the domain to TCGMemOp makes it easier to interoperate
with other portions of the rest of the translator.
We now only have one domain for size operands inside the translator,
which makes things less confusing all the way around. There are
still a number of helpers that continue to use the log2-1 domain.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6f17675a9c14125af544948791a26e3d8033e2b0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 09:34:20 2013 +1000
target-i386: Change gen_op_mov_reg_A0 size parameter to TCGMemOp
Change the domain of the parameter and update all callers.
Which lets us defer completely to gen_op_mov_reg_v.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d71ddb1c28f58e1065386725634ed36ae1d665f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 08:27:33 2013 +1000
target-i386: Change aflag to TCGMemOp
Changing the domain to TCGMemOp makes it easier to interoperate
with other portions of the rest of the translator.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c92aa1addeae7e3fe6876dd3dff7978f1d3449d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 07:50:53 2013 +1000
target-i386: Change gen_op_j*z_ecx size parameter to TCGMemOp
Change the domain of the parameter and update all callers.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3f4bbe3318da00f5923ad5c9b60075f8a1cc073
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 07:44:57 2013 +1000
target-i386: Change gen_op_add_reg_* size parameter to TCGMemOp
These functions used the aflags/dflags domain, which is log2-1
of the byte size. Confusingly, they used enumeration values
from the log2 domain.
Change the domain of the parameter and update all callers.
Since we're now in a common domain, defer the deposit/extend/mov
decision to gen_op_mov_reg_v.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d67dc9e6194dec1f9b361b94ada6c567d6099f39
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 07:25:05 2013 +1000
target-i386: Use TCGMemOp for 'ot' variables
The 'ot' variables (operand type?) hold the log2(byte size) of
the operand being manipulated. This is the same as the MO_SIZE
subset of the TCGMemOp. Indeed, we often pass 'ot' to the
tcg_gen_qemu_ld/st functions.
Changing the type from 'int' makes it easier to see what domain
the variable should be.
This does require adding some default cases to some switch statements,
to avoid the 'unhandled enumeration value' warning that would result
from the change of type.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a7e5c7de2a634cbf7b528659c5e8a25818c5b92e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:38:58 2013 +1000
target-i386: Remove gen_op_andl_A0_ffff
Replace it with tcg_gen_ext16u_tl, and in two cases merge with a
previous move from cpu_regs.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2b98a7d75308a968472a537b215408faf0b9c628
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:29:14 2013 +1000
target-i386: Remove gen_op_movl_T0_T1
Replace it with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f0706f0c939ea751e8bb164f58594e254749b7fd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:27:09 2013 +1000
target-i386: Remove gen_op_andl_T0_im
Replace it with its definition.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 40b90233d260446a6d4099f41f0aed1b77962248
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:23:48 2013 +1000
target-i386: Remove gen_op_andl_T0_ffff
Replace it with tcg_gen_ext16u_tl. In four places we can combine that
with a previous move into cpu_T[0], and in one place we can infer that
the zero-extension has already happened via the previous load.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc0bce884b9a3cf38b5aa8a711813e7ca1c26cac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:13:44 2013 +1000
target-i386: Remove gen_movtl_T*_im
Propagate the definitions into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3250cff8e521ec361d3bda69acffa77b70f9525d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 12:09:00 2013 +1000
target-i386: Remove gen_op_mov*_A0_im
Propagate the definitions into all users. In two cases, this allows
us to share code between the 32-bit and 64-bit immediate moves.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ae657b11656284d5f3967c3fe9640c2a238fcd0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:58:01 2013 +1000
target-i386: Remove gen_op_movl_T0_im*
Propagate the definitions into all users. The only time that
gen_op_movl_T1_imu was used, the input was type 'unsigned',
so the replacement works identically.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1b90d56e8c46ca92f39c330a5ce38ef7f6d6ebb6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:51:10 2013 +1000
target-i386: Remove gen_op_movl_T0_im*
Propagate the definition of gen_op_movl_T0_im to all users.
The function gen_op_movl_T0_imu was unused.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 97212c8844f50b3552e991e0d3305d7d69c2a99f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:37:35 2013 +1000
target-i386: Remove gen_op_movl_T0_0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a7fbcbe538518108a967306c29dbb0fe76e0b512
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:31:34 2013 +1000
target-i386: Tidy extend + move
For the known MO_32/MO_64 cases, we don't need to extend a 32-bit temp
into a 64-bit temp before storing into the hardware register.
We do need the extension for the MO_8/MO_16 cases, in order for the
deposit_tl operation to work, so leave those alone.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5601ad0235679a1b58e8975a34f63c5f039af36
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 5 11:14:33 2013 +1000
target-i386: Tidy extend + store
We can now use tcg_gen_qemu_st_i32 directly to avoid the extension.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 80b0201384f17fd6401eb11eab79ea0e5896b496
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:54:48 2013 -1000
target-i386: Tidy load + truncate
We can now use tcg_gen_qemu_ld_i32 directly to avoid the truncation.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 24b9c00fc3106a98adc0e89915584eadb092b745
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:35:30 2013 -1000
target-i386: Tidy gen_op_mov_TN_reg+tcg_gen_trunc_tl_i32
For the 16 and 32-bit cases, we don't need to truncate via
a temporary register.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3655a19fdd9891c1e3a568d77483a11b2ad70951
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:22:04 2013 -1000
target-i386: Use MO_BE for movbe
Fold the bswap into the memory operation.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4eeb3939b5b4731747cb38a9e6b8fb20062b5ef1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:55:59 2013 -1000
target-i386: Remove unused arguments to gen_lea_modrm
The reg_ptr and offset_ptr outputs are universally unused.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4b1fe0671f5f9324b570c5ec165c67b36b05e7d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:32:39 2013 -1000
target-i386: Tidy movsl
Always perform a sign-extending load. In the extremely unlikely
case that we've used an 0x66 prefix, the extension to 64-bits is
unnecessary but not wrong; the store will still examine only 16 bits.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8fbc479674d00a8f9dd63f9a9d4978c4c4b96d9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:28:40 2013 -1000
target-i386: Tidy mov[sz][bw]
We can use the MO_SIGN bit to tidy the reg-reg switch statement
as well as pass it on to gen_op_ld_v, eliminating one call.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ee3138da2f76b415cbce6466aa4083a84fc26241
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:16:45 2013 -1000
target-i386: Fix typo in gen_push_T1
By inspection, obviously we should be storing T[1] not T[0].
This could only happen for x86_64 in 64-bit mode with 0x66
prefix to call insn -- i.e. never.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b5afc104947369cd3d49de88dee8629193639b46
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:14:26 2013 -1000
target-i386: Remove gen_op_st_T1_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fd8ca9f6f5250771207f7dbe88bb804ac0b90a39
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 08:12:01 2013 -1000
target-i386: Remove gen_op_st_T0_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d4faa3e08a13aa70bf0d9709610ab27713167df9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:59:43 2013 -0700
target-i386: Introduce gen_op_st_rm_T0_A0
Too many places have the same test vs OR_TMP0 to indicate
a write back to memory. Hoist that to a subroutine.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dc732b76fa6f30bbfc46f721d52a67d0505a1445
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:43:41 2013 -0700
target-i386: Remove gen_op_lds_T0_A0
Replace its users by gen_op_ld_v with the MO_SIGN bit set.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0f712e109becb8c0e911209967a014ce3df21a71
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:39:41 2013 -0700
target-i386: Remove gen_op_ld_T1_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cc1a80dfb369974bb275387f9559eafdcb6e08eb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:35:24 2013 -0700
target-i386: Remove gen_op_ldu_T0_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 909be183823febfe579766e89f9a499ff4da3e47
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 10:30:24 2013 -0700
target-i386: Remove gen_op_ld_T0_A0
Propagate its definition into all users.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4ba9938c893c040af589a7fb1265ac19a2dc43d2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:54:47 2013 -0700
target-i386: Replace OT_* constants with MO_* constants
The MO_8/16/32/64 constants have the same encoding and meaning
as the OT_BYTE/WORD/LONG/QUAD. Since we rely on them being the
same, for the qemu_ld/st helpers, standardize on the common names.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 096fc768184d5e9c47ccc4dd95d9f983fa83b9e1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:15 2014 +0000
target-arm: A64: Add support for FCVT between half, single and double
Add support for FCVT between half, single and double precision.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e97db91cbf7df456a35996d7243cd0f55d23ca1a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions
This patch adds support for those instructions in the "Floating-point
data-processing (1 source)" group which are simple 32-bit-to-32-bit
or 64-bit-to-64-bit operations (ie everything except FCVT between
single/double/half precision).
We put the new round-to-int helpers in helper.c because they will
also be used by the new ARMv8 A32/T32 rounding instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches,
updated to new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: reworked decode, split FCVT out into their own patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a7413385d731a97cbd45c7c4b1c2cbd73d94409
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->integer conversion instructions
Add support for the AArch64 floating-point <-> integer conversion
instructions to disas_fpintconv. In the process we can rearrange
and simplify the detection of unallocated encodings a little.
We also correct a typo in the instruction encoding diagram for this
instruction group: bit 21 is 1, not 0.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3617f86ba87a0f54b74dbaed0d92da13beb14e45
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add floating-point<->fixed-point instructions
This patch adds emulation for the instruction group labeled
"Floating-point <-> fixed-point conversions" in the ARM ARM.
Namely this includes the instructions SCVTF, UCVTF, FCVTZS, FCVTZU
(scalar, fixed-point).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased, updated to new infrastructure.
Applied bug fixes from Michael Matz and Janne Grunau.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: significant cleanup]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8fe2a36f33f44e9d1333c851762ac463ad528233
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:14 2014 +0000
target-arm: A64: Add extra VFP fixed point conversion helpers
Define the full set of floating point to fixed point conversion
helpers required to support AArch64.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39905e53db75b6df0cfdb65644056a9f1cd10069
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Ignore most exceptions from scalbn when doing fixpoint
conversion
The VFP fixed point conversion helpers first call float_scalbn and
then convert the result to an integer. This scalbn operation may
set floating point exception flags for:
* overflow & inexact (if it overflows to infinity)
* input denormal squashed to zero
* output denormal squashed to zero
Of these, we only care about the input-denormal flag, since
the output of the whole scale-and-convert operation will be
an integer (so squashed-output-denormal and overflow don't
apply). Suppress the others by saving the pre-scalb exception
flags and only copying across a potential input-denormal flag.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6ab748af130912b92decfb1fa411ebdfd7cf8d87
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Rename A32 VFP conversion helpers
The VFP conversion helpers for A32 round to zero as this is the only
rounding mode supported. Rename these helpers to make it clear that
they round to zero and are not suitable for use in the AArch64 code.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 59af2dc86866dc14a42eec596f3d100dd3a24d1e
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:19:13 2014 +0000
target-arm: Prepare VFP_CONV_FIX helpers for A64 uses
Make the VFP_CONV_FIX helpers a little more flexible in
preparation for the A64 uses. This requires two changes:
* use the correct softfloat conversion function based on itype
rather than always the int32 one; this is possible now that
softfloat provides int16 versions and necessary for the
future conversion-to-int64 A64 variants. This also allows
us to drop the awkward 'sign' macro argument.
* split the 'fsz' argument which currently controls both
width of the input float type and width of the output
integer type into two; this will allow us to specify the
A64 64-bit-int-to-single conversion function, where the
two widths are different.
We can also drop the (itype##_t) cast now that softfloat
guarantees that all the itype##_to_float* functions take
an integer argument of exactly the correct type.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dcc69632089fece07a0bb4fd859b010659569fda
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add support for ties-away rounding
IEEE754-2008 specifies a new rounding mode:
"roundTiesToAway: the floating-point number nearest to the infinitely
precise result shall be delivered; if the two nearest floating-point
numbers bracketing an unrepresentable infinitely precise result are
equally near, the one with larger magnitude shall be delivered."
Implement this new mode (it is needed for ARM). The general principle
is that the required code is exactly like the ties-to-even code,
except that we do not need to do the "in case of exact tie clear LSB
to round-to-even", because the rounding operation naturally causes
the exact tie to round up in magnitude.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 01a0b83cdb1c29a0066cfee3445a34280b3ac03a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Refactor code handling various rounding modes
Refactor the code in various functions which calculates rounding
increments given the current rounding mode, so that instead of a
set of nested if statements we have a simple switch statement.
This will give us a clean place to add the case for the new
tiesAway rounding mode.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7b378119bd67609f25bd78b714d0fab922600f40
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:12 2014 +0000
softfloat: Add float16 <=> float64 conversion functions
Add the conversion functions float16_to_float64() and
float64_to_float16(), which will be needed for the ARM
A64 instruction set.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 84c6b75d8557a6e638dc72343428b0a78b66923f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal
In preparation for adding conversions between float16 and float64,
factor out code currently done inline in the float16<=>float32
conversion functions into functions RoundAndPackFloat16 and
NormalizeFloat16Subnormal along the lines of the existing versions
for the other float types.
Note that we change the handling of zExp from the inline code
to match the API of the other RoundAndPackFloat functions; however
we leave the positioning of the binary point between bits 22 and 23
rather than shifting it up to the high end of the word.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e9ef30c079354db6a8eb5bd6574b948288a55b94
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:19:11 2014 +0000
softfloat: Provide complete set of accessors for fp state
Tidy up the get/set accessors for the fp state to add missing ones
and make them all inline in softfloat.h rather than some inline and
some not.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2958f14d75b9c2ef9a68f41a3101884af307e4f8
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32_round_to_zero
The float64_to_uint32_round_to_zero routine is incorrect.
For example, the following test pattern:
425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
will erroneously set the inexact flag.
This patch re-implements the routine to use the
float64_to_uint64_round_to_zero
routine. If saturation occurs we ignore any flags set by the
conversion function and raise only Invalid.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-6-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8d551c988e96ac4cfe462e6b34d513bba2da572f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:51 2014 +0000
softfloat: Fix float64_to_uint32
The float64_to_uint32 has several flaws:
- for numbers between 2**32 and 2**64, the inexact exception flag
may get incorrectly set. In this case, only the invalid flag
should be set.
test pattern: 425F81378DC0CD1F / 0x1.f81378dc0cd1fp+38
- for numbers between 2**63 and 2**64, incorrect results may
be produced:
test pattern: 43EAAF73F1F0B8BD / 0x1.aaf73f1f0b8bdp+63
This patch re-implements float64_to_uint32 to re-use the
float64_to_uint64 routine (instead of float64_to_int64). For the
saturation case, we ignore any flags which the conversion routine
has set and raise only the invalid flag.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-5-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a757f1c2deb6c8eac4a75f8e817fa2d7c8cd2527
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix float64_to_uint64_round_to_zero
The float64_to_uint64_round_to_zero routine is incorrect.
For example, the following test pattern:
46697351FF4AEC29 / 0x1.97351ff4aec29p+103
currently produces 8000000000000000 instead of FFFFFFFFFFFFFFFF.
This patch re-implements the routine to temporarily force the
rounding mode and use the float64_to_uint64 routine.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Message-id: 1387397961-4894-4-git-send-email-tommusta@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 47a34e009de2f4a99862e71e1d15d178dac5f259
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Add float32_to_uint64()
This patch adds the float32_to_uint64() routine, which converts a
32-bit floating point number to an unsigned 64 bit number.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
[PMM: removed harmless but silly int64_t casts]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0ace25a5676af233a9b5abf48599dbcc45f92dcf
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:50 2014 +0000
softfloat: Fix factor 2 error for scalbn on denormal inputs
If the input to float*_scalbn() is denormal then it represents
a number 0.[mantissabits] * 2^(1-exponentbias) (and the actual
exponent field is all zeroes). This means that when we convert
it to our unpacked encoding the unpacked exponent must be one
greater than for a normal number, which represents
1.[mantissabits] * 2^(e-exponentbias) for an exponent field e.
This meant we were giving answers too small by a factor of 2 for
all denormal inputs.
Note that the float-to-int routines also have this behaviour
of not adjusting the exponent for denormals; however there it is
harmless because denormals will all convert to integer zero anyway.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2e933d20d5fd6c38bda227359b79bcc81654f99
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Only raise Invalid when conversions to int are out of range
We implement a number of float-to-integer conversions using conversion
to an integer type with a wider range and then a check against the
narrower range we are actually converting to. If we find the result to
be out of range we correctly raise the Invalid exception, but we must
also suppress other exceptions which might have been raised by the
conversion function we called.
This won't throw away exceptions we should have preserved, because for
the 'core' exception flags the IEEE spec mandates that the only valid
combinations of exception that can be raised by a single operation are
Inexact + Overflow and Inexact + Underflow. For the non-IEEE softfloat
flag for input denormals, we can guarantee that that flag won't have
been set for out of range float-to-int conversions because a squashed
denormal by definition goes to plus or minus zero, which is always in
range after conversion to integer zero.
This bug has been fixed for some of the float-to-int conversion routines
by previous patches; fix it for the remaining functions as well, so
that they all restore the pre-conversion status flags prior to raising
Invalid.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f883b3896ed5e180f234613aadca019fdbe7c49c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Fix float64_to_uint64
The comment preceding the float64_to_uint64 routine suggests that
the implementation is broken. And this is, indeed, the case.
This patch properly implements the conversion of a 64-bit floating
point number to an unsigned, 64 bit integer.
This contribution can be licensed under either the softfloat-2a or -2b
license.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 564658dc8c5fabdc73702967590a5652bc45107f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Make the int-to-float functions take exact-width types
Currently the int-to-float functions take types which are specified
as "at least X bits wide", rather than "exactly X bits wide". This is
confusing and unhelpful since it means that the callers have to include
an explicit cast to [u]intXX_t to ensure the correct behaviour. Fix
them all to take the exactly-X-bits-wide types instead.
Note that this doesn't change behaviour at all since at the moment
we happen to define the 'int32' and 'uint32' types as exactly 32 bits
wide, and the 'int64' and 'uint64' types as exactly 64 bits wide.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 44e09132cae159ce1e2f3d0aebd62c8298224a6d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jan 7 17:17:49 2014 +0000
softfloat: Add 16 bit integer to float conversions
Add the float to 16 bit integer conversion routines. These can be
trivially implemented in terms of the int32_to_float* routines, but
providing them makes our API more symmetrical and can simplify callers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e0a2db7128626a795c3657ffcaff40514e998e2f
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Tue Jan 7 17:17:48 2014 +0000
softfloat: Add float to 16bit integer conversions.
ARMv8 requires support for converting 32 and 64bit floating point
values to signed and unsigned 16bit integers.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: updated not to incorrectly set Inexact for Invalid inputs]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1bf6beec8a012cae4bb6fbc89c465127e9650c92
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jan 6 11:47:21 2014 +0000
softfloat: Fix exception flag handling for float32_to_float16()
Our float32 to float16 conversion routine was generating the correct
numerical answers, but not always setting the right set of exception
flags. Fix this, mostly by rearranging the code to more closely
resemble RoundAndPackFloat*, and in particular:
* non-IEEE halfprec always raises Invalid for input NaNs
* we need to check for the overflow case before underflow
* we weren't getting the tininess-detected-after-rounding
case correct (somewhat academic since only ARM uses halfprec
and it is always tininess-detected-before-rounding)
* non-IEEE halfprec overflow raises only Invalid, not
Invalid + Inexact
* we weren't setting Inexact when we should
Also add some clarifying comments about what the code is doing.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e3d8cc0536699b66f58b0e3a13a70ee007f61647
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:33 2013 -0800
hw: arm_gic: Introduce gic_set_priority function
To make the code slightly cleaner to look at and make the save/restore
code easier to understand, introduce this function to set the priority of
interrupts.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-3-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 07c935087a5541fb167fecf3bef810de2605f93f
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Dec 20 22:09:32 2013 -0800
arm_gic: Rename GIC_X_TRIGGER to GIC_X_EDGE_TRIGGER
TRIGGER can really mean mean anything (e.g. was it triggered, is it
level-triggered, is it edge-triggered, etc.). Rename to EDGE_TRIGGER to
make the code comprehensible without looking up the data structure.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1387606179-22709-2-git-send-email-christoffer.dall@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 455e1e14bbfaf72275efeddaa7bc5d6294253eff
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 23 16:52:16 2013 +0200
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function
â??aarch64_cpu_register_typesâ??:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 20131223145216.GA22663@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ec0e68ef1da316b3ead1943d8f607cc68b13e0d1
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Fri Jan 3 17:58:43 2014 -0800
arm/xilinx_zynq: Always instantiate the GEMs
Don't conditionalise GEM instantiation on networking attachments. The
device should always be present even if not attached to a network.
This allows for probing of the device by expectant guests (such as
OS's). This is needed because sysbus (or AXI in Xilinx's real hw case)
is not self identifying so the guest has no dynamic way of detecting
device absence.
Also allows for testing of the GEM in loopback mode with -net none.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
55649779a68ee3ff54b24c339b6fdbdccd1f0ed7.1388800598.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8455bc76c76c5246694290a28c6ebd6797011c18
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 23:58:20 2014 -0800
target-arm: remove raw_read|write duplication
There is an inline duplication of the raw_read and raw_write function
bodies. Fix by just calling raw_read/raw_write instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e69281b7e1462b346cb313cf0b89eedc0568125f.1388649290.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d045815a5712afbeb8d2c76d8b624c91cfda777c
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Fri Dec 20 10:33:11 2013 +0400
target-arm: use c13_context field for CONTEXTIDR
Use c13_context field instead of c13_fcse for CONTEXTIDR register
definition.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387521191-15350-1-git-send-email-s.fedorov@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 294cdac2a02d3172b69c84dec727d6ac6006bb59
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Implement Tx flow control
If the UART back-end blocks, buffer in the Tx FIFO to try again later.
This stops the IO-thread busy waiting on char back-ends (which causes
all sorts of performance problems).
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
4bea048b3ab38425701d82ccc1ab92545c26b79c.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a33f37a1784691556ed6fd3f58badfce22b761ad
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Delete redundant rx rst logic
uart_rx_reset() called immediately above already does this. Remove.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
05e30826496cf2579084ed801ac0b2c0d0a3071f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9e263f73912ba35510d7d7be4c40ba871d4b57e2
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:40 2014 +0000
char/cadence_uart: Use the TX fifo for transmission
Populate the TxFIFO with the Tx data before sending. Prepares
support for proper Tx flow control implementation.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
bdf7f8af2ef02839bea18665701bc2612f7baa6f.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 61654c77413d1bccb69b384d891d0c688a31430b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Fix can_receive logic
The can_receive logic was only taking into account the RxFIFO
occupancy. RxFIFO population is only used for the echo and normal modes
however. Improve the logic to correctly return the true number of
receivable characters based on the current mode:
Normal mode: RxFIFO vacancy.
Remote loopback: TxFIFO vacancy.
Echo mode: The min of the TxFIFO and RxFIFO vacancies.
Local Loopback: Return non-zero (to implement droppage)
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
36a58440c9ca5080151e95765c2c81342de8a8df.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit faa79359cdb28916b102024e49916af212b344bf
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Remove TX timer & add TX FIFO state
This tx timer implementation is flawed. Despite the controller
attempting to time the guest visable assertion of the TX-empty status
bit (and corresponding interrupt) the controller is still transmitting
characters instantaneously. There is also no sense of multiple character
delay.
The only side effect of this timer is assertion of tx-empty status. So
just remove the timer completely and hold tx-empty as permanently
asserted (its reset status). This matches the actual behaviour of
instantaneous transmission.
While we are VMSD version bumping, add the tx_fifo as device state to
prepare for upcomming TxFIFO flow control. Implement the interrupt
generation logic for the TxFIFO occupancy.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7a208a7eb8d79d6429fe28b1396c3104371807b2.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2c628d98989fa224dc3c07033ba4d89562a9bb5f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:39 2014 +0000
char/cadence_uart: Define Missing SR/ISR fields
Some (interrupt) status register bits relating to the TxFIFO path were
not defined. Define them. This prepares support for proper Tx data path
flow control.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2068b963f0af8cc834c353944e9fa816d950b163.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a24234cad03d70612e30494f21062fcee5eb9f0e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Simplify status generation
The status register bits are always pure functions of other device
state. Move the generation of these bits to the update_status()
function to simplify. Makes developing much easier as theres now no need
to recheck status bits on all the changes to rx/tx fifo state.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
321994929f789096975104f99c55732774be4cae.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8998a3c0ceb174d1c6089361efe870bb4f40a27c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: s/r_fifo/rx_fifo
Rename this field to match the many other uses of "rx". Xilinx
docmentation (UG585) also refers to this as "RxFIFO".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
7386d7cee0ea175f7e53ed5ff045265528d34e32.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b56fab8847e5746085c46a5bf6b5903b3b9fe957
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:38 2014 +0000
char/cadence_uart: Fix reset.
Don't reset the uart as an init step. Register the reset function as a
proper reset fn instead.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
d82cd2e65e5a6f8b6deeecb6cced61f0bf3f8c89.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 362f656878345e9e50b6f7c676a1961d9ecaa355
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Add missing uart_update_state
This should be rechecked on bus write accesses as such accesses may
change the underlying state that generates the interrupt. Particular
relevant for when the guest touches the interrupt status or mask.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
1c250cd61b7b8de492fbc8b79b8370958a56d83b.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2c7fd04c9348abada0be331b04f9e5cbeeb2ac18
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Jan 6 10:16:37 2014 +0000
char/cadence_uart: Mark struct fields as public/private
As per current QOM conventions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
a1e31bd62e9709ffb9b3efc6c120f83f30b7a660.1388626249.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f9dfa55857f4f172d4c23011d18f260c875e4bfb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: Give the FPSCR rounding modes names
When setting rounding modes we currently just hardcode the numeric values
for rounding modes in a big switch statement.
With AArch64 support coming, we will need to refer to these rounding modes
at different places throughout the code though, so let's better give them
names so we don't get confused by accident.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, use names from ARM ARM.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7b2440e4384e59a3d5228cbd53b76089075e9e71
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point cond select
This adds decoding support for C3.6.24 FP conditional select.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32ca04a60fa1ab1b08bcdb9474af3ecf036f8f0f
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:51 2014 +0000
target-arm: A64: Add support for floating point conditional compare
This adds decoding support for C3.6.23 FP Conditional Compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 244976576d47543901c8d5ccb7f1f191f74b46f5
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add support for floating point compare
Add decoding support for C3.6.22 Floating-point compare.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 624490c33ccd803b730d3600d943472bfcc5fa59
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add fmov (scalar, immediate) instruction
This patch adds emulation for the fmov instruction working on scalars
with an immediate payload.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebase and use new infrastructure.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd54be5fdbded3346a94fcf71f4a1d9aed340d40
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (3 source)" insns
This patch adds emulation for the "Floating-point data-processing (3
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merged single and double precision patches.
Implement using muladd as suggested by Richard Henderson.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM: pull field decode up a level, use register accessors]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 459cc34290b2823403f9820345c8a83f66495e1d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:50 2014 +0000
target-arm: A64: Add "Floating-point data-processing (2 source)" insns
This patch adds emulation for the "Floating-point data-processing (2
source)"
group of instructions.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, merge single and double precision patches.
Rebase
and update to new infrastructure. Incorporate FMIN/FMAX support patch by
Michael Matz.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
[PMM:
* added convenience accessors for FP s and d regs
* pulled the field decode and opcode validity check up a level]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 286cb8b9cb04048b940bd9f385404781a42c6cff
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: Use VFP_BINOP macro for min, max, minnum, maxnum
Use the VFP_BINOP macro to provide helpers for min, max, minnum
and maxnum, rather than hand-rolling them. (The float64 max
version is not used by A32 but will be needed for A64.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 76afb0d5967ebee59efbf3bfc6a2a042f3cb06f6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Fix vector register access on bigendian hosts
The A64 128 bit vector registers are stored as a pair of
uint64_t values in the register array. This means that if
we're directly loading or storing a value of size less than
64 bits we must adjust the offset appropriately to account
for whether the host is bigendian or not. Provide utility
functions to abstract away the offsetof() calculations for
the FP registers.
For do_fp_st() we can sidestep most of the issues for 64 bit
and smaller reg-to-mem transfers by always doing a 64 bit
load from the register and writing just the piece we need
to memory.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 83d210fb670862e9df5ca19d260fd7628cd67843
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:49 2014 +0000
target-arm: A64: Add support for dumping AArch64 VFP register state
When dumping the current CPU state, we can also get a request
to dump the FPU state along with the CPU's integer state.
Add support to dump the VFP state when that flag is set, so that
we can properly debug code that modifies floating point registers.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[WN: Commit message tweak, rebased. Output all registers, two per-line.]
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0f64fdaf7bd11a9165cc4b7461fb5a316819d257
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
default-configs: Add config for aarch64-linux-user
Add a config for aarch64-linux-user, thereby enabling it as
a valid target.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2d123ad256fb47bac33c38f90dafb4280879aee5
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
.travis.yml: Add aarch64-* targets
Now the AArch64 targets are in mainline we can include them in our
Travis test matrix.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e0350d0c17d31b276812e659d8bdf9fc48a59951
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Sat Jan 4 22:15:48 2014 +0000
linux-user: AArch64: Use correct values for FPSR/FPCR in sigcontext
Use the helpers provided for getting the correct FPSR and FPCR
values for the signal context.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 749c7970d00cdb2be71ce66d65b9eb2ade668832
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
linux-user: AArch64: define TARGET_CLONE_BACKWARDS
The AArch64 linux-user support was written before but merged after
commit 4ce6243dc621 which cleaned up the handling of the clone()
syscall argument order, so we failed to notice that AArch64 also needs
TARGET_CLONE_BACKWARDS to be defined. Add this define so that clone
and fork syscalls work correctly.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2df7566445c8b0934030627dff2c2417ec6d8e27
Author: Michael Matz <matz@xxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: A64: support for ld/st/cl exclusive
This implement exclusive loads/stores for aarch64 along the lines of
arm32 and ppc implementations. The exclusive load remembers the address
and loaded value. The exclusive store throws an an exception which uses
those values to check for equality in a proper exclusive region.
This is not actually the architecture mandated semantics (for either
AArch32 or AArch64) but it is close enough for typical guest code
sequences to work correctly, and saves us from having to monitor all
guest stores. It's fairly easy to come up with test cases where we
don't behave like hardware - we don't for example model cache line
behaviour. However in the common patterns this works, and the existing
32 bit ARM exclusive access implementation has the same limitations.
AArch64 also implements new acquire/release loads/stores (which may be
either exclusive or non-exclusive). These imposes extra ordering
constraints on memory operations (ie they act as if they have an implicit
barrier built into them). As TCG is single-threaded all our barriers
are no-ops, so these just behave like normal loads and stores.
Signed-off-by: Michael Matz <matz@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 90ba562c61b15f418f284751faa81aca25de2d95
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:47 2014 +0000
target-arm: Widen exclusive-access support struct fields to 64 bits
In preparation for adding support for A64 load/store exclusive
instructions,
widen the fields in the CPU state struct that deal with address and data
values
for exclusives from 32 to 64 bits. Although in practice AArch64 and
AArch32
exclusive accesses will be generally separate there are some odd
theoretical
corner cases (eg you should be able to do the exclusive load in AArch32,
take
an exception to AArch64 and successfully do the store exclusive there),
and it's
also easier to reason about.
The changes in semantics for the variables are:
exclusive_addr -> extended to 64 bits; -1ULL for "monitor lost",
otherwise always < 2^32 for AArch32
exclusive_val -> extended to 64 bits. 64 bit exclusives in AArch32 now
use the high half of exclusive_val instead of a separate exclusive_high
exclusive_high -> is no longer used in AArch32; extended to 64 bits as
it will be needed for AArch64's pair-of-64-bit-values exclusives.
exclusive_test -> extended to 64 bits, as it is an address. Since this
is
a linux-user-only field, in arm-linux-user it will always have the top
32 bits zero.
exclusive_info -> stays 32 bits, as it is neither data nor address, but
simply holds register indexes etc. AArch64 will be able to fit all its
information into 32 bits as well.
Note that the refactoring of gen_store_exclusive() coincidentally fixes
a minor bug where ldrexd would incorrectly update the first CPU register
even if the load for the second register faulted.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 66759c063c3472fe70df0c8489ecc6fd7dc1a843
Author: Alexander Graf <agraf@xxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: aarch64: add support for ld lit
Adds support for Load Register (literal), both normal
and SIMD/FP forms.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fc514b094e8f5aa211a36925b62348ab52243762
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for conditional compare insns
this patch adds support for C3.5.4 - C3.5.5
Conditional compare (both immediate and register)
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03468633b16e96176ffbe7fd1943f7014e63ccde
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Sat Jan 4 22:15:46 2014 +0000
target-arm: A64: add support for add/sub with carry
This patch adds support for C3.5.3 Add/subtract (with carry):
instructions ADC, ADCS, SBC, SBCS.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e4fe830b50b56561dae5b5c79c6eb63cc2e94a3d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: Widen thread-local register state fields to 64 bits
The common pattern for system registers in a 64-bit capable ARM
CPU is that when in AArch32 the cp15 register is a view of the
bottom 32 bits of the 64-bit AArch64 system register; writes in
AArch32 leave the top half unchanged. The most natural way to
model this is to have the state field in the CPU struct be a
64 bit value, and simply have the AArch32 TCG code operate on
a pointer to its lower half.
For aarch64-linux-user the only registers we need to share like
this are the thread-local-storage ones. Widen their fields to
64 bits and provide the 64 bit reginfo struct to make them
visible in AArch64 state. Note that minor cleanup of the AArch64
system register encoding space means We can share the TPIDR_EL1
reginfo but need split encodings for TPIDR_EL0 and TPIDRRO_EL0.
Since we're touching almost every line in QEMU that uses the
c13_tls* fields in this patch anyway, we take the opportunity
to rename them in line with the standard ARM architectural names
for these registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 19917791fd1433b79d20b26440ec321d71dcfc01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: Widen thread-local register state fields to 64 bits
The common pattern for system registers in a 64-bit capable ARM
CPU is that when in AArch32 the cp15 register is a view of the
bottom 32 bits of the 64-bit AArch64 system register; writes in
AArch32 leave the top half unchanged. The most natural way to
model this is to have the state field in the CPU struct be a
64 bit value, and simply have the AArch32 TCG code operate on
a pointer to its lower half.
For aarch64-linux-user the only registers we need to share like
this are the thread-local-storage ones. Widen their fields to
64 bits and provide the 64 bit reginfo struct to make them
visible in AArch64 state. Note that minor cleanup of the AArch64
system register encoding space means We can share the TPIDR_EL1
reginfo but need split encodings for TPIDR_EL0 and TPIDRRO_EL0.
Since we're touching almost every line in QEMU that uses the
c13_tls* fields in this patch anyway, we take the opportunity
to rename them in line with the standard ARM architectural names
for these registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b0d2b7d0f084f6b33acf7c722790da683916fee3
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: A64: Implement minimal set of EL0-visible sysregs
Implement an initial minimal set of EL0-visible system registers:
* NZCV
* FPCR
* FPSR
* CTR_EL0
* DCZID_EL0
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit fea505221eaf87889000378d4d33ad0dfd5f4d9d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:45 2014 +0000
target-arm: A64: Implement MRS/MSR/SYS/SYSL
The AArch64 equivalent of the traditional AArch32
cp15 coprocessor registers is the set of instructions
MRS/MSR/SYS/SYSL, which cover between them both true
system registers and the "operations with side effects"
such as cache maintenance which in AArch32 are mixed
in with other cp15 registers. Implement these instructions
to look in the cpregs hashtable for the register or
operation.
Since we don't yet populate the cpregs hashtable with
any registers with the "AA64" bit set, everything will
still UNDEF at this point.
MSR/MRS is the first user of is_jmp = DISAS_UPDATE, so
fix an infelicity in its handling where the main loop
was requiring the caller to do the update of PC rather
than just doing it itself.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 60322b399dc62da7cc1ccd42fbd19b017f8a5e38
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:44 2014 +0000
target-arm: Remove ARMCPU/CPUARMState from cpregs APIs used by decoder
The cpregs APIs used by the decoder (get_arm_cp_reginfo() and
cp_access_ok()) currently take either a CPUARMState* or an ARMCPU*.
This is problematic for the A64 decoder, which doesn't pass the
environment pointer around everywhere the way the 32 bit decoder
does. Adjust the parameters these functions take so that we can
copy only the relevant info from the CPUARMState into the
DisasContext and then use that.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3523e4bd9b0b2ff05a88e09bd67be2ec8d5e9e08
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:49:20 2013 -0700
target-i386: Use new tcg_gen_qemu_st_* helpers
In preference to the older helpers. Stores only in this patch.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c5f41169b43953b60c415d6ab7287c92ab235ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Nov 2 09:30:34 2013 -0700
target-i386: Use new tcg_gen_qemu_ld_* helpers
In preference to the older helpers. Loads only in this patch.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5c42a7cd983e2fee3a63c39c5c5e98a8face463c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Oct 30 22:20:42 2013 -0700
target-i386: Stop encoding DisasContext.mem_index
Now that we don't combine mem_index with operand size info,
we don't need to encode it. Which tidies many places that
access it.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 323d18769ead123501bd4c51a9af820e846cf1d3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Oct 30 22:04:05 2013 -0700
target-i386: Push DisasContext into load/store helpers
Rather than add s->mem_index into a combined size+mem_index
argument, pass the context down. This will allow cleaning
up s->mem_index later.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03afa5f808c5af74fa137a20b10f73b0b30aa563
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Nov 6 17:29:39 2013 +1000
exec: Delay CPU_LOG_TB_CPU until we actually execute a TB
The previous placement could result in duplicate logging while
still processing interrupts.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c950114286ea358a93ce632db0421945e1008395
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Sun Dec 29 22:39:58 2013 -0500
migration: qmp_migrate(): keep working after syntax error
If a user or QMP client enter a bad syntax for the migrate
command in QMP/HMP, then the migrate command will never succeed
from that point on.
For example, if you enter:
(qemu) migrate tcp;0:4444
migrate: Parameter 'uri' expects a valid migration protocol
Then the migrate command will always fail from now on:
(qemu) migrate tcp:0:4444
migrate: There's a migration process in progress
The problem is that qmp_migrate() sets the migration status to
MIG_STATE_SETUP and doesn't reset it on syntax error. This bug
was introduced by commit 29ae8a4133082e16970c9d4be09f4b6a15034617.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 594278718323ca7bffaab0fb7fc6c82fa2c1cd5f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:49:52 2014 -0800
qerror: Remove assert_no_error()
This is no longer needed, and is obsoleted by error_abort. Remove.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 87ea75d5e135c0527c6a9dbac4317913409f28c7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:49:17 2014 -0800
qemu-option: Remove qemu_opts_create_nofail
This is a boiler-plate _nofail variant of qemu_opts_create. Remove and
use error_abort in call sites.
null/0 arguments needs to be added for the id and fail_if_exists fields
in affected callsites due to argument inconsistency between the normal and
no_fail variants.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 00b810532446b1037aa5d299f181ac4d1d65aa9c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:48:43 2014 -0800
target-i386: Remove assert_no_error usage
Replace an assert_no_error() usage with the error_abort system.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5433a0a89e68443c9ce1cd0c7b1af23320133983
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:48:08 2014 -0800
hw: Remove assert_no_error usages
Replace assert_no_error() usages with the error_abort system.
&error_abort is passed into API calls to signal to the Error sub-system
that any errors are fatal. Removes need for caller assertions.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 90c3f6e02662d2d8edf059168a037a119ed208cb
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:47:33 2014 -0800
qdev: Delete dead code
This is unreachable code, as it's already asserted that no errors have
occurred. Delete.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 5d24ee70bcbcf578614193526bcd5ed30a8eb16c
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Jan 1 18:46:59 2014 -0800
error: Add error_abort
Add a special Error * that can be passed to error handling APIs to
signal that any errors are fatal and should abort QEMU. There are two
advantages to this:
- allows for brevity when wishing to assert success of Error **
accepting APIs. No need for this pattern:
Error * local_err = NULL;
api_call(foo, bar, &local_err);
assert_no_error(local_err);
This also removes the need for _nofail variants of APIs with
asserting call sites now reduced to 1LOC.
- SIGABRT happens from within the offending API. When a fatal error
occurs in an API call (when the caller is asserting sucess) failure
often means the API itself is broken. With the abort happening in the
API call now, the stack frames into the call are available at debug
time. In the assert_no_error scheme the abort happens after the fact.
The exact semantic is that when an error is raised, if the argument
Error ** matches &error_abort, then the abort occurs immediately. The
error messaged is reported.
For error_propagate, if the destination error is &error_abort, then
the abort happens at propagation time.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cff8b2c6fcdc9492d1141da11f55615843fa0a5e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:10 2013 +0100
monitor: add object-add (QMP) and object_add (HMP) command
Add two commands that are the monitor counterparts of -object. The
commands
have the same Visitor-based implementation, but use different kinds of
visitors so that the HMP command has a DWIM string-based syntax, while
the QMP variant accepts a stricter JSON-based properties dictionary.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ab2d0531b2e41bc5fd8f8e59405f135986599476
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:09 2013 +0100
monitor: add object-del (QMP) and object_del (HMP) command
These two commands invoke the "unparent" method of Object.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b0ed5e9feaf0e2881330a48c692f62e1ac6d9052
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:08 2013 +0100
qom: catch errors in object_property_add_child
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 28ec2598ff7d74bd9556a1786f45fc5df2aacfe1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:07 2013 +0100
qom: fix leak for objects created with -object
The object must be unref-ed when its variable goes out of scope.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 513b8c74c4c899cd940a79131e76c5568aa11381
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 23:21:06 2013 +0100
rng: initialize file descriptor to -1
The file descriptor is never initialized to -1, which makes rng-random
close stdin if an object is created and immediately destroyed. If we
change it to -1, we also need to protect qemu_set_fd_handler from
receiving a bogus file descriptor.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit abf233294bc8a4d2c7d5f428f1408d7bdd0c02e0
Author: Jason J. Herne <jjherne@xxxxxxxxxx>
Date: Wed Dec 11 13:24:14 2013 -0500
qemu-monitor: HMP cpu-add wrapper
Add HMP cpu-add wrapper to allow cpu hot plugging via monitor.
Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit eca01d3a93be4041ac5858ef7676e60352e9c2ed
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 3 13:00:15 2013 +0100
vl: add missing transition debug->finish_migrate
This fixes an abort if you invoke the "migrate" command while the
guest is being debugged.
Cc: qemu-stable@xxxxxxxxxx
Cc: lcapitulino@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f5a0a5a5abe7b72ad14b8884681a25fcf3e91c16
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sat Jan 4 22:15:44 2014 +0000
target-arm: Update generic cpreg code for AArch64
Update the generic cpreg support code to also handle AArch64:
AArch64-visible registers coexist in the same hash table with
AArch32-visible ones, with a bit in the hash key distinguishing
them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 6e6efd612f58726189893fd4d948b7fc10acd872
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 22 22:32:30 2013 +0000
target-arm: Pull "add one cpreg to hashtable" into its own function
define_one_arm_cp_reg_with_opaque() has a set of nested loops which
insert a cpreg entry into the hashtable for each of the possible
opc/crn/crm values allowed by wildcard specifications. We're about
to add an extra loop to this nesting, so pull the core of the loop
(which adds a single entry to the hashtable) out into its own
function for clarity.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5862ad0f55fa54f3ed05774b538a7e862a10941f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Dec 26 12:53:39 2013 +0800
acpi unit-test: Remove temporary disk after test
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7dbc1158bc63fdbad849d21409eeeb53f5230445
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 20:42:05 2013 +0100
mainstone: Fix duplicate array values for key 'space'
cgcc reported a duplicate initialisation. Mainstone includes a matrix
keyboard where two different positions map to 'space'.
QEMU uses the reversed mapping and does not map 'space' to two different
matrix positions.
Some other keys are either missing or might be mapped wrongly (cf. Linux
kernel code). Don't fix these until someone can test them with real
hardware, but add TODO comments.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 52975c313ee4b5ce2004c1ed3279272a55429ede
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 15:22:57 2013 +0100
pxa27x: Add 'const' attribute to keyboard maps
The mapping is a hardware feature, so it is relatively constant.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f57d6693e1ad994374927d7ab7b151bb28f0cb37
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 22 15:32:29 2013 +0100
pxa27x: Reduce size of keyboard matrix mapping
The row and column values use only a very limited range (-1 ... 7),
so a byte value is sufficient.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 88e020e55e8fcfee0ca2428fb3654469abbd21ae
Author: Ingo van Lil <inguin@xxxxxx>
Date: Fri Dec 20 14:44:53 2013 +0100
doc: Mention chardev:id in available devices for -serial
It is possible to pre-define a character device with the -chardev option
and reference its id as serial device. The man page does not mention this
feature.
Use case: Use stdio as serial, but do not terminate VM on Ctrl-C
-chardev stdio,id=mystdio,signal=off -serial chardev:mystdio
Signed-off-by: Ingo van Lil <inguin@xxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit f6f0b7d90fe0c481d33165334b4a595fa514c202
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Dec 18 22:30:26 2013 +0100
configure: Python tests must be done before help message
The help message uses $python and displays its value, so that macro
should be tested and set early.
With this modification, configure --help displays the correct value
(usually python -B) and no longer creates several *.pyc files.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 08fb77ed391dcbb35ba98fd98d81635a9f6aeb12
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Dec 18 22:09:39 2013 +0100
configure: Rewrite code for help message
In the new form most lines of the code now look like the final output:
there is no leading echo command and the lines are shorter.
The resulting output is nearly identical: the only difference is a blank
character which was deliberately removed:
@@ -8,7 +8,7 @@
--interp-prefix=PREFIX where to find shared libraries, etc.
use %M for cpu name [/usr/gnemul/qemu-%M]
--target-list=LIST set target list (default: build everything)
- Available targets: alpha-softmmu arm-softmmu
+ Available targets: alpha-softmmu arm-softmmu
cris-softmmu i386-softmmu lm32-softmmu
m68k-softmmu
microblaze-softmmu microblazeel-softmmu
mips-softmmu
mips64-softmmu mips64el-softmmu mipsel-softmmu
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2ba82852894c762299b7d05e9a2be184116b80f0
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Wed Dec 18 16:42:17 2013 -0200
mempath prefault: fix off-by-one error
Fix off-by-one error (noticed by Andrea Arcangeli).
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit 11c308b17a34932033cceca4f88b5e67009e3ebd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Dec 19 15:30:13 2013 +0100
qdev-monitor: Improve error message for -device nonexistant
Once upon a time, the error message was:
qemu: -device nonexistant: Device "nonexistant" not found. Try
-device '?' for a list.
But progress marches on, and conversion to QError (commit 0204276)
changed it into:
Invalid parameter 'driver'
Try with argument '?' for a list.
Progress didn't stop there, of course. After a couple of iterations,
we arrived at the current message (commit 6acbe4c):
qemu: -device nonexistant: Parameter 'driver' expects device type
Mission accomplished: this is complete mush.
We've since abandoned our quest for "rich" error objects, fortunately
before it turned all error messages into mush. Time to undo the
damage to this one. Make it:
qemu: -device nonexistant: nonexistant is not a valid device model
name
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db0f888848bc5cc578d005d04f4cf7a1105bb758
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:05 2013 +0800
ioapic: QOM'ify ioapic
Convert 'init' function to QOM's 'realize' for ioapic and kvm-ioapic.
Change variable 'ioapic_no' from static to global. Then we can drop
the 'instance_no' function argument.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f97718584baa6ef919d00067b9787ba7fc5f1a5b
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:04 2013 +0800
ioapic: Cleanup for QOM'ification
Some cleanups:
* ioapic_common.c: Rename 'register_types' to
'ioapic_common_register_types'
* Replace inline 'DEVICE(s)' with local 'DeviceState *dev' variable
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 494c271784a5e360523e874be9f67259932ea68c
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Wed Dec 18 18:21:46 2013 +0100
icc_bus: QOM'ify ICC
For consistency, QOM'ify APIC's parent bus.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ff6986ce618c69f988e4419efd67ea5cbf7792a5
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:03 2013 +0800
apic: QOM'ify APIC
Convert 'init' function to QOM's 'realize' for apic, kvm/apic and
xen/xen_apic.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d3b0c9e90a9853984c60478dae45bedf8aadf42a
Author: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Date: Tue Nov 5 18:16:02 2013 +0800
apic: Cleanup for QOM'ification
Do some cleanup, including:
1. Remove DO_UPCAST() for APICCommonState
2. Change DeviceState pointers from 'd' to 'dev', better to understand
3. Rename 'register_types' to specifically 'apic_common_register_types'
Signed-off-by: xiaoqiang zhao <zxq_yx_007@xxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6780a22cc71227068925e7b70faa71d6641a9b1b
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Dec 18 17:15:51 2013 +0100
qdev: Drop misleading qbus_free() function
Same reasoning as commit 02a5c4c97422b40034f31265e0f139f7846172a8
("qdev: Drop misleading qdev_free() function"). The qbus_free()
function removes the child from the namespace and decrements the
reference count. It does not, however, guarantee to free the child
since the refcount may still be held.
Just call object_unparent() directly.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f54c19cacb44d2fad14aca6be08e4aa9b8423217
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Dec 3 16:42:00 2013 +0100
qom: Detect bad reentrance during object_class_foreach()
We should not modify the type hash table while it is being iterated on.
Assert that it does not happen.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 14389dbd0281e901176319f5868166c706485c5e
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 20 22:14:40 2013 +0100
tests: Test QOM interface casting
Add basic regression testing for QOM Interface usage.
Test checks casting to interface type/class for following cases:
- interface implementation in leaf class
- interface implementation in intermediate (parent) class
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b061dc41f62048acd4a34c6570c0ea396cd9d0b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 3 16:41:59 2013 +0100
qom: Do not register interface "types" in the type table and fix names
There should be no need to look up nor enumerate the interface "types",
whose "classes" are really just vtables. Just create the types and
add them to the interface list of the parent type.
Interfaces not registering their type anymore means that accessing
superclass::interface by type name will fail when initializing
subclass::interface. Thus, we need to pre-initialize the subclass's
parent_type field before calling type_initialize. Apart from this, the
interface "types" should never be used and thus it is harmless to leave
them out of the hashtable.
Further, the interface types had a bug with interfaces that are
inherited from a superclass: The implementation type name was wrong
(for example it was subclass::superclass::interface rather than
just subclass::interface). This patch fixes this as well.
Reported-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0ab4c94c844cb3953adedbd27adc378b3cf31d9e
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Wed Nov 27 20:27:33 2013 -0800
qom: Split out object and class caches
The object-cast and class-cast caches cannot be shared because class
caching is conditional on the target type not being an interface and
object caching is unconditional. Leads to a bug when a class cast
to an interface follows an object cast to the same interface type:
FooObject = FOO(obj);
FooClass = FOO_GET_CLASS(obj);
Where TYPE_FOO is an interface. The first (object) cast will be
successful and cache the casting result (i.e. TYPE_FOO will be cached).
The second (class) cast will then check the shared cast cache
and register a hit. The issue is, when a class cast hits in the cache
it just returns a pointer cast of the input class (i.e. the concrete
class).
When casting to an interface, the cast itself must return the
interface class, not the concrete class. The implementation of class
cast caching already ensures that the returned cast result is only
a pointer cast before caching. The object cast logic however does
not have this check.
Resolve by just splitting the object and class caches.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Tested-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c272758f93b9c88c884461a2baa37b8f4008bf02
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Nov 29 10:43:45 2013 +0100
qdev: Document that pointer properties kill device_add
Ask users of DEFINE_PROP_PTR() to set
cannot_instantiate_with_device_add_yet, or explain why it's not
needed.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1b111dc1216be2a89770fdc1ab3dfa8025957442
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Nov 29 10:43:44 2013 +0100
hw: cannot_instantiate_with_device_add_yet due to pointer props
Pointer properties can be set only by code, not by device_add. A
device with a pointer property can work with device_add only when the
property may remain null.
This is the case for property "interrupt_vector" of device
"etraxfs,pic". Add a comment there.
Set cannot_instantiate_with_device_add_yet for the other devices with
pointer properties, with a comment explaining why.
Juha Riihimäki and Peter Maydell deserve my thanks for making "pointer
property must not remain null" blatantly obvious in the OMAP devices.
Only device "smbus-eeprom" is actually changed. The others are all
sysbus devices, which get cannot_instantiate_with_device_add_yet set
in their abstract base's class init function. Setting it again in
their class init function is technically redundant, but serves as
insurance for when sysbus devices become available with device_add,
and as documentation.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx> (for ETRAX)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 061e84f7a469ad1f94f3b5f6a5361b346ab990e8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:02:24 2013 +0100
qdev-monitor: Avoid device_add crashing on non-device driver name
Watch this:
$ upstream-qemu -nodefaults -S -display none -monitor stdio
QEMU 1.7.50 monitor - type 'help' for more information
(qemu) device_add rng-egd
/work/armbru/qemu/qdev-monitor.c:491:qdev_device_add: Object
0x2089b00 is not an instance of type device
Aborted (core dumped)
Crashes because "rng-egd" exists, but isn't a subtype of TYPE_DEVICE.
Broken in commit 18b6dad.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d024d209045b912eb6127861fab2af6c64880efd
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 14 01:29:56 2012 +0100
target-i386: Cleanup 'foo=val' feature handling
Features family, model, stepping, level, hv_spinlocks are treated
similarly
when passed from command line, so it's not necessary to handle each of
them
individually. Collapse them to one catch-all branch which will treat
any not explicitly handled feature in format 'foo=val'.
Any unknown feature will be rejected by property setter so there is no
need to check for unknown feature in cpu_x86_parse_featurestr(), therefore
it's replaced by above mentioned catch-all handler.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 258f5abe9a8786c410f98367e9e042ee16c249f2
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 14 01:16:00 2012 +0100
target-i386: Cleanup 'foo' feature handling
Features check, enforce, hv_relaxed and hv_vapic are treated as boolean
set to 'on' when passed from command line, so it's not necessary to
handle each of them separately. Collapse them to one catch-all branch
which will treat any feature in format 'foo' as boolean set to 'on'.
Any unknown feature will be rejected by CPU property setter so there is no
need to check for unknown feature in cpu_x86_parse_featurestr(), therefore
it's replaced by above mentioned catch-all handler.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 912ffc479c0008bd983f5733daa52438b359be6f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Jun 4 15:13:14 2013 +0200
target-i386: Convert 'check' and 'enforce' to static properties
* Additionally convert check_cpuid & enforce_cpuid to bool and make them
members of X86CPU
* Make 'enforce' feature independent from 'check'
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c8f0f88e2a4cf27bde27a31a98badd61fe212652
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Jun 4 15:05:25 2013 +0200
target-i386: Convert 'hv_spinlocks' to static property
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 0f46685d1b03efaaf5189f0e9af8754cb8f8979c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Aug 8 13:54:27 2012 +0200
target-i386: Convert 'hv_vapic' to static property
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 89314504197b305173e3f2d23ce541898ef2691c
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Aug 8 13:52:51 2012 +0200
target-i386: Convert 'hv_relaxed' to static property
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 693fa551f96cc4b7a6647f6f55636ee0b6d3a04b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Dec 24 03:18:12 2013 +0100
cpu-exec: Optimize X86CPU usage in cpu_exec()
Replace growing numbers of inline x86_env_get_cpu() with x86_cpu variable.
Reviewed-by: Chen Fan <chen.fan@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce5458e82e250c66fe31c716d0e44fac5b1bc349
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Dec 23 23:27:31 2013 +0000
target-arm: A64: implement FMOV
Implement FMOV, ie non-converting moves between general purpose
registers and floating point registers. This is a subtype of
the floating point <-> integer instruction class.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit faa0ba465b772200e9775c1f5af886cfc83d0da6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Dec 23 23:27:30 2013 +0000
target-arm: A64: Add decoder skeleton for FP instructions
Add a top level decoder skeleton for FP instructions.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9618e80938d38eeee765dd23fc0b7475ae536e77
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Dec 23 23:27:30 2013 +0000
target-arm: A64: implement SVC, BRK
Add decoding for the exception generating instructions, and implement
SVC (syscalls) and BRK (software breakpoint).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 52c8b9afcd019df799f5eb779395b46a610348b8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Dec 23 23:27:30 2013 +0000
target-arm: A64: add support for 3 src data proc insns
This patch adds emulation for the "Data-processing (3 source)"
family of instructions, namely MADD, MSUB, SMADDL, SMSUBL, SMULH,
UMADDL, UMSUBL, UMULH.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ed6ec679a8706af4eedd7b3aa132f13bb2329abe
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for move wide instructions
This patch adds emulation for the mov wide instructions
(MOVN, MOVZ, MOVK).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b0ff21b4f96fa8223ec252ec3e99a8a9af86cf0c
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for add, addi, sub, subi
Implement the non-carry forms of addition and subtraction
(immediate, extended register and shifted register).
This includes the code to calculate NZCV if the instruction
calls for setting the flags.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a5e94a9d767b2111608fe2013492392c7117cef5
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for ld/st with index
This adds support for the pre/post-index ld/st forms with immediate
offsets as well as the un-scaled immediate form (which are all
variations on the same 9-bit immediate instruction form).
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 229b7a05e3abd3def309a04b5d1c14f3a3cb9236
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:29 2013 +0000
target-arm: A64: add support for ld/st with reg offset
This adds support for the load/store forms using a register offset.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5612f10a1a92afd390d4950b9f8af00ec30ad3e
Author: Alex Bennée <alex.bennee@xxxxxxxxxx>
Date: Mon Dec 23 23:27:28 2013 +0000
target-arm: A64: add support for ld/st unsigned imm
This adds support for the forms of ld/st with a 12 bit
unsigned immediate offset.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4a08d4758faf4d6497a5f6fa6be6f048a5359420
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Sun Dec 22 22:32:27 2013 +0000
target-arm: A64: add support for ld/st pair
This patch support the basic load and store pair instructions and
includes the generic helper functions:
* do_gpr_st()
* do_fp_st()
* do_gpr_ld()
* do_fp_ld()
* read_cpu_reg_sp()
* gen_check_sp_alignment()
The last function gen_check_sp_alignment() is a NULL op currently but
put in place to make it easy to add SP alignment checking later.
Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5bf58abf1cb7220d9f7d8e18f113a353cd6f260d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 23 13:33:11 2013 +0200
target-arm: fix build with gcc 4.8.2
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
"target-arm: A64: add set_pc cpu method"
introduces an array aarch64_cpus which is zero
size if this code is built without CONFIG_USER_ONLY.
In particular an attempt to iterate over this array produces a warning
under gcc 4.8.2:
CC aarch64-softmmu/target-arm/cpu64.o
/scm/qemu/target-arm/cpu64.c: In function
â??aarch64_cpu_register_typesâ??:
/scm/qemu/target-arm/cpu64.c:124:5: error: comparison of unsigned
expression < 0 is always false [-Werror=type-limits]
for (i = 0; i < ARRAY_SIZE(aarch64_cpus); i++) {
^
cc1: all warnings being treated as errors
This is the result of ARRAY_SIZE being an unsigned type,
causing "i" to be promoted to unsigned int as well.
As zero size arrays are a gcc extension, it seems
cleanest to add a dummy element with NULL name,
and test for it during registration.
We'll be able to drop this when we add more CPUs.
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 83d0704734955bf1aa7697af7be2a50e11a80a42
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 19:48:51 2013 +0100
virtio: add back call to virtio_bus_device_unplugged
This got lost in a rebase.
Reported-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ddaaefb4dd427d6d2e41c1cfbe0cd8d8e8d6aad9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Sat Dec 21 03:02:50 2013 +0100
piix: fix 32bit pci hole
Make the 32bit pci hole start at end of ram, so all possible address
space is covered.
We used to try and make addresses aligned so they are easier to cover
with MTRRs, but since they are cosmetic on KVM, this is probably not
worth worrying about.
Of course the firmware can use less than that. Leaving space unused is
no problem, mapping pci bars outside the hole causes problems though.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 02e51483341a371b508c1a529782d83064c93596
Author: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx>
Date: Mon Dec 23 17:04:02 2013 +0800
target-i386: Move apic_state field from CPUX86State to X86CPU
This motion is preparing for refactoring vCPU APIC subsequently.
Signed-off-by: Chen Fan <chen.fan.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit eb2535f411c2201cd6f79e8d2b4e3f4c5b765729
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Dec 7 10:44:52 2013 +1300
cputlb: Tidy memset() of arrays
Don't duplicate the array length computation in the memset()
when plain sizeof() can produce the correct results.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4fadb3bb570c5a665bd6f7e300d63c306e67b668
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Dec 7 10:44:51 2013 +1300
cputlb: Use memset() when flushing entries
The size of tlb_table is 4k on a 64-bit host. For overwriting
memory at this size, cacheline tricks can help.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e5187b561ff7b241d609a2848131879072169565
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Dec 9 19:53:15 2013 +0800
fix -boot strict regressed in commit 6ef4716
Commit 6ef4716 cleaned up parsing of -boot option argument, but
accidentally dropped parameter strict. It should have been updated
exactly like parameter menu. Do that.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 6f2bfda35cf1c7b8a5913570b808396ab9299873
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Dec 9 12:18:46 2013 +0400
vl: make boot_strict variable static (not used outside vl.c)
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
commit 33dfdb56f2f3c8686d218395b871ec12fd5bf30b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 6 13:52:24 2013 +0100
x86: only allow real mode to access 32bit without LMA
When we're running in non-64bit mode with qemu-system-x86_64 we can
still end up with virtual addresses that are above the 32bit boundary
if a segment offset is set up.
GNU Hurd does exactly that. It sets the segment offset to 0x80000000 and
puts its EIP value to 0x8xxxxxxx to access low memory.
This doesn't hit us when we enable paging, as there we just mask away the
unused bits. But with real mode, we assume that vaddr == paddr which is
wrong in this case. Real hardware wraps the virtual address around at the
32bit boundary. So let's do the same.
This fixes booting GNU Hurd in qemu-system-x86_64 for me.
Reported-by: Michael Tokarev <mjt@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 0d9e61c2619eeead4de6afa8fedec2ad9311b642
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:08 2013 +0100
linux-user: Use macro TARGET_NSIG_WORDS where possible
This improves readability and simplifies the code.
Cc: Riku Voipio <riku.voipio@xxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c46b07f0d7a826ea0bb5811dd49450c2497fb926
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:06 2013 +0100
exynos4210: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Dmitry Solodkiy <d.solodkiy@xxxxxxxxxxx>
Cc: Evgeny Voevodin <e.voevodin@xxxxxxxxxxx>
Cc: Igor Mitsyanko <i.mitsyanko@xxxxxxxxx>
Cc: Maksim Kozlov <m.kozlov@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5d70192bcb80a5355323a4736e0fb44d8e2b6743
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:05 2013 +0100
ui/cocoa: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Andreas Färber <andreas.faerber@xxxxxx>
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dff7424dc09635c33b42193fbb40c90fc9a971f4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:04 2013 +0100
misc: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Anthony Liguori <aliguori@xxxxxxxxxx>
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2e0fc3a488ef12c4e0e3ad4e1a07efec3a19169e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 09:24:48 2013 +0100
openrisc: Fix spelling in comment (transaltion -> translation)
I also removed two hyphens in the same comment.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 112f2ac98d8bd4edafc4a4c84d0abcd9ba98a736
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Dec 6 19:43:30 2013 +0100
hw/arm/highbank: Simplify code (memory region in device state)
The memory region can be included by value instead of by reference in the
device state.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dcc209314afdaeec42f1e2a7bbf37eec3ace23de
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:27 2013 +0100
qdev: switch reset to post-order
Post-order is the only sensible direction for the reset signals.
For example, suppose pre-order is used and the parent has some data
structures that cache children state (for example a list of active
requests). When the reset method is invoked on the parent, these caches
could be in any state.
If post-order is used, on the other hand, these will be in a known state
when the reset method is invoked on the parent.
This change means that it is no longer possible to block the visit of
the devices, so the callback is changed to return void. This is not
a problem, because PCI was returning 1 exactly in order to achieve the
same ordering that this patch implements.
PCI can then rely on the qdev core having sent a "reset signal" (whatever
that means) to the device, and only do the PCI-specific initialization
with pci_do_device_reset.
MST: fixed up virtio-ccw
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0293214b8c5bf56a095d0a39c5821c9da66dd566
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:26 2013 +0100
qdev: allow both pre- and post-order vists in qdev walking functions
Resetting should be done in post-order, not pre-order. However,
qdev_walk_children and qbus_walk_children do not allow this. Fix
it by adding two extra arguments to the functions.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9bdbbfc3a04c28dc43af5afffb32066623cb0022
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:25 2013 +0100
pci: clean up resetting of IRQs
pci_device_reset will deassert the INTX pins, and this will make the
irq_count array all-zeroes. Check that this is the case, and remove
the existing loop which might even unsync irq_count and irq_state.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 81e3e75b6461c53724fe7c7918bc54468fcdaf9d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 17:54:24 2013 +0100
pci: do not export pci_bus_reset
qbus_reset_all can be used instead. There is no semantic change
because pcibus_reset returns 1 and takes care of the device
tree traversal.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit aef52ee87f324fb03e0dcd88a84bdd50c8339a5f
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:13 2013 +0100
ACPI/DSDT-CPU: cleanup bogus comment
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c1a1af87d8d5dce93328bbe8c3db70ff29275069
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:12 2013 +0100
ACPI: Q35 DSDT: fix CPU hotplug GPE0.2 handler
Fix bogus CPU hotplug GPE handler.
Make Q35 CPU hotplug GPE handler match PIIX4 one, since
CPU hotplug event is triggered by GPE0.2 register.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 2c047956f3b27048883350c071bcd33ef8331d13
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:10 2013 +0100
acpi: ich9: allow guest to clear SCI rised by GPE
it fixes IRQ storm since guest isn't able to lower SCI IRQ
after it has been handled when it clears GPE event.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 063135032808700a5a6b0b4a781f31252da2e762
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:07 2013 +0100
acpi: factor out common pm_update_sci() into acpi core
... and rename it into acpi_update_sci() since it changes
SCI on only on PM registers status.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e4f308bbf9f360ee2af5b94b87aef170d8f20dc4
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Fri Dec 13 17:22:06 2013 +0100
acpi: piix4: remove not needed GPE0 mask
Hardcoded GPE0 mask isn't really needed. Since GPE0_STS initialized
with all bits cleared and only QEMU itself can set bits there (i.e.
guest can only clear bits in it). So guest can't triger SCI
by setting _STS & _EN bits and there is not reason to mask out not
supported _STS bits since they shouldn't be set by QEMU in the first
place.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3bcc77ae9935c8c3d10f63492af81f1d7d99d492
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:22 2013 +0100
i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash
Check whether the firmware is not hidden by other memory regions.
Qemu is started in paused mode: it shouldn't try to interpret generated
garbage.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 27d59ccd89a5b112e5a5804250440ea30dbfb891
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:21 2013 +0100
i440fx-test: generate temporary firmware blob
The blob is 64K in size and contains 0x00..0xFF repeatedly.
The client code added to main() wouldn't make much sense in the long term.
It helps with debugging and it silences gcc about create_blob_file() being
unused, and we'll replace it in the next patch anyway.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c37805b6724e5d4c3ad41653630b72b43619474e
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:20 2013 +0100
i440fx-test: give each GTest case its own qtest
The current two GTest cases, /i440fx/defaults and /i440fx/pam can share a
qemu process, but the next two cases will need dedicated instances. It is
messy (and order-dependent) to dynamically configure GTest cases one by
one to start, stop, or keep the current qtest (*); let's just have each
GTest work with its own qtest. The performance difference should be
negligible.
(*) As g_test_run() can be invoked at most once per process startup, and
it runs GTest cases in sequence, we'd need clumsy data structures to
control each GTest case to start/stop/keep the qemu instance. Or, we'd
have to code the same information into the test methods themselves, which
would make them even more order-dependent.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b817e3fb5401bfab49e3c212e6daa1ff1f5a4c9a
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Fri Nov 29 18:12:19 2013 +0100
i440fx-test: qtest_start() should be paired with qtest_end()
Similarly to commit 1d9358e6
("libqtest: New qtest_end() to go with qtest_start()").
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 637a5acb46b36a25b506ba6545e9a53350585b03
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Nov 28 00:52:52 2013 +0100
hw/i386/pc_sysfw: support two flash drives
This patch allows the user to usefully specify
-drive file=img_1,if=pflash,format=raw,readonly \
-drive file=img_2,if=pflash,format=raw
on the command line. The flash images will be mapped under 4G in their
reverse unit order -- that is, with their base addresses progressing
downwards, in increasing unit order.
(The unit number increases with command line order if not explicitly
specified.)
This accommodates the following use case: suppose that OVMF is split in
two parts, a writeable host file for non-volatile variable storage, and a
read-only part for bootstrap and decompressible executable code.
The binary code part would be read-only, centrally managed on the host
system, and passed in as unit 0. The variable store would be writeable,
VM-specific, and passed in as unit 1.
00000000ffe00000-00000000ffe1ffff (prio 0, R-): system.flash1
00000000ffe20000-00000000ffffffff (prio 0, R-): system.flash0
(If the guest tries to write to the flash range that is backed by the
read-only drive, pflash_update() is never called; various flash
programming/erase errors are returned to the guest instead. See the
callers of pflash_update(), and the initialization of "pfl->ro", in
"hw/block/pflash_cfi01.c".)
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ecdbfceb0f20a3ef784bf522ed7264660aa3d150
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Dec 16 13:54:19 2013 +0200
pc_piix: document gigabyte_align
Document the logic behind the below/above 4G split.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bb43d3839c29b17a2f5c122114cd4ca978065a18
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 16 10:11:28 2013 +0100
piix: gigabyte alignment for ram
Map 3G (i440fx) of memory below 4G, so the RAM pieces
are nicely aligned to gigabyte borders.
Keep old memory layout for (a) old machine types and (b) in case all
memory fits below 4G and thus we don't have to split RAM into pieces
in the first place. The later makes sure this change doesn't take
away memory from 32bit guests.
So, with i440fx and up to 3.5 GB of memory, all of it will be mapped
below 4G. With more than 3.5 GB of memory 3 GB will be mapped below
4G and the remaining amount will be mapped above 4G.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7ea5e78f3d8d64e99c4017ea211b7518f2629756
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:03 2013 +0100
qdev: Do not let the user try to device_add when it cannot work
Such devices have always been unavailable and omitted from the list of
available devices shown by device_add help. Until commit 18b6dad
silently broke the former, setting up nasty traps for unwary users,
like this one:
$ qemu-system-x86_64 -nodefaults -monitor stdio -display none
QEMU 1.6.50 monitor - type 'help' for more information
(qemu) device_add apic
Segmentation fault (core dumped)
I call that a regression. Fix it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f3b176402fa92149320dcd5479916ccb39cfa0a8
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:02 2013 +0100
isa: Clean up use of cannot_instantiate_with_device_add_yet
Drop it when there's no obvious reason why device_add could not work.
Else keep and document why.
* isa-fdc: drop
* i8042: drop, even though its I/O base is hardcoded (because you
could conceivably still add one to a board that has none), and even
though PC board code wires up the A20 line (because that wiring is
optional)
* port92: keep because it needs additional wiring by port92_init()
* mc146818rtc: keep because it needs to be wired up by rtc_init()
* m48t59_isa: keep because needs to be wired up by m48t59_init_isa()
* isa-pit, kvm-pit: keep (in their abstract base pic-common) because
the PIT needs additional wiring by board code, depending on HPET
presence
* pcspk: keep because of pointer property pit, and because realize
sets global pcspk_state
* vmmouse: keep because of pointer property ps2_mouse
* vmport: keep because realize sets global port_state
* isa-i8259, kvm-i8259: keep (in their abstract base pic-common),
because the PICs' IRQ input lines are set up by board code, and the
wiring of the slave to the master is hard-coded in device model code
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 04916ee9fb8ff4be4d9f612b85aef009ec57b0b4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:01 2013 +0100
vt82c686: Clean up use of cannot_instantiate_with_device_add_yet
A VT82C686B southbridge has multiple functions. We model each
function as a separate qdev. One of them need some special wiring set
up in mips_fulong2e_init() to work: the ISA bridge at 05.0.
The IDE controller at 05.1 (via-ide) has always had
cannot_instantiate_with_device_add_yet set, but there is no obvious
reason why device_add could not work for them. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 81aab2ff1118a4de8fd92ae89380ccfbc2870574
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:27:00 2013 +0100
piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet
A PIIX3/PIIX4 southbridge has multiple functions. We model each
function as a separate qdev. Two of them need some special wiring set
up in pc_init1() or mips_malta_init() to work: the ISA bridge at 01.0,
and the SMBus controller at 01.3.
The IDE controller at 01.1 (piix3-ide, piix3-ide-xen, piix4-ide) has
always had cannot_instantiate_with_device_add_yet set, but there is no
obvious reason why device_add could not work for them. Drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bfa6dfd070f0cb5be37ae3bd6b90bdd67849c311
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:59 2013 +0100
ich9: Document why cannot_instantiate_with_device_add_yet
An ICH9 southbridge contains several PCI devices, some of them with
multiple functions. We model each function as a separate qdev. Two
of them need some special wiring set up in pc_q35_init() to work: the
LPC controller at 00:1f.0, and the SMBus controller at 00:1f.3.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08c58f92f66dcf0a9097c3a6a65bcc4ffd71268f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:58 2013 +0100
pci-host: Consistently set cannot_instantiate_with_device_add_yet
Many PCI host bridges consist of a sysbus device and a PCI device.
You need both for the thing to work. Arguably, these bridges should
be modelled as a single, composite devices instead of pairs of
seemingly independent devices you can only use together, but we're not
there, yet.
Since the sysbus part can't be instantiated with device_add, yet,
permitting it with the PCI part is useless. We shouldn't offer
useless options to the user, so let's set
cannot_instantiate_with_device_add_yet for them.
It's already set for Bonito, Grackle, i440FX and Raven. Document why.
Set it for the others: dec-21154, e500-host-bridge, gt64120_pci, mch,
pbm-pci, ppc4xx-host-bridge, sh_pci_host, u3-agp, uni-north-agp,
uni-north-internal-pci, uni-north-pci, and versatile_pci_host.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f37a4374bae20ca678b808b5ee32319e943b1b4b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:57 2013 +0100
apic: Document why cannot_instantiate_with_device_add_yet
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ffa957148698eec9cfdaf6e0c1b43cda8828cd61
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:56 2013 +0100
cpu: Document why cannot_instantiate_with_device_add_yet
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 837d37167dc446af8a91189108b363c04609e296
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:55 2013 +0100
sysbus: Set cannot_instantiate_with_device_add_yet
device_add plugs devices into suitable bus. For "real" buses, that
actually connects the device. For sysbus, the connections need to be
made separately, and device_add can't do that. The device would be
left unconnected, and could not possibly work.
Quite a few, but not all sysbus devices already set
cannot_instantiate_with_device_add_yet in their class init function.
Set it in their abstract base's class init function
sysbus_device_class_init(), and remove the now redundant assignments
from device class init functions.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit efec3dd631d94160288392721a5f9c39e50fb2bc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Nov 28 17:26:54 2013 +0100
qdev: Replace no_user by cannot_instantiate_with_device_add_yet
In an ideal world, machines can be built by wiring devices together
with configuration, not code. Unfortunately, that's not the world we
live in right now. We still have quite a few devices that need to be
wired up by code. If you try to device_add such a device, it'll fail
in sometimes mysterious ways. If you're lucky, you get an
unmysterious immediate crash.
To protect users from such badness, DeviceClass member no_user used to
make device models unavailable with -device / device_add, but that
regressed in commit 18b6dad. The device model is still omitted from
help, but is available anyway.
Attempts to fix the regression have been rejected with the argument
that the purpose of no_user isn't clear, and it's prone to misuse.
This commit clarifies no_user's purpose. Anthony suggested to rename
it cannot_instantiate_with_device_add_yet_due_to_internal_bugs, which
I shorten somewhat to keep checkpatch happy. While there, make it
bool.
Every use of cannot_instantiate_with_device_add_yet gets a FIXME
comment asking for rationale. The next few commits will clean them
all up, either by providing a rationale, or by getting rid of the use.
With that done, the regression fix is hopefully acceptable.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f976b09ea249cccc3fd41c98aaf6512908db0bae
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Dec 20 11:01:50 2013 +0100
PPC: Fix compilation with TCG debug
The recent VSX patches broken compilation of QEMU when configurated
with --enable-debug, as it was treating "target long" TCG variables
as "i64" which is not true for 32bit targets.
This patch fixes all the places that the compiler has found to use
the correct variable type and if necessary manually cast.
Reported-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8a1bd2973ed5f99a3c37c9afdff823c4a22152b1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 20 15:54:27 2013 +0100
scsi-disk: add UNMAP limits to block limits VPD page
Linux prefers WRITE SAME to UNMAP if the limits are zero, and WRITE
SAME does not discard anything unless the device can guarantee that
the resulting block is zero.
Setting the maximum unmap block and descriptor counts to non-zero
makes Linux choose UNMAP and fixes thin provisioning on glusterfs.
While the maximum unmap block count can have some effect on performance,
the (suggested) maximum number of descriptors is not particularly
important so I didn't add a customization option. SCSI drivers are
used to online firmware updates so I'm not yet adding versioning support
for SCSI, but we're probably getting close to the point when it's worth
thinking about it.
Reported-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e8092f7ae1c71419829879e18ce2dd7249a4d00f
Merge: 3376f41 10c8599
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Sat Dec 21 16:46:07 2013 +0100
Merge tag 'signed-s390-for-upstream' of git://github.com/agraf/qemu
Patch queue for s390 - 2013-12-18
This covers mostly minor bug fixes and implements the SIGP START
hypercall which allows to start a remote CPU without changing its
state.
Cornelia Huck (1):
s390x/kvm: Fix diagnose handling.
Thomas Huth (7):
s390x/kvm: Removed duplicated SIGP defines
s390x/kvm: Removed s390_store_status stub
s390x/kvm: Fix coding style in handle_sigp()
s390x/kvm: Implemented SIGP START
s390x/kvm: Simplified the calculation of the SIGP order code
s390x/kvm: Fixed condition code for unknown SIGP orders
s390x/ioinst: CHSC has to set a condition code
* tag 'signed-s390-for-upstream' of git://github.com/agraf/qemu:
s390x/ioinst: CHSC has to set a condition code
s390x/kvm: Fixed condition code for unknown SIGP orders
s390x/kvm: Simplified the calculation of the SIGP order code
s390x/kvm: Implemented SIGP START
s390x/kvm: Fix coding style in handle_sigp()
s390x/kvm: Removed s390_store_status stub
s390x/kvm: Removed duplicated SIGP defines
s390x/kvm: Fix diagnose handling.
commit 3376f4151e4ce0534b35c49c56037cb347293c85
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Dec 11 07:56:47 2013 +0100
target-sh4: Use new qemu_ld/st opcodes
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 5f68f5ae444725de4f35d99f1026155fadaf514b
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Dec 11 08:35:27 2013 +0100
target-mips: Use new qemu_ld/st opcodes
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 8589467f9419b86644a1a5ccab670c948e148efd
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Dec 10 10:35:28 2013 +0100
tcg/i386: fix a comment
The comments apply to 8-bit stores, not 8-byte stores.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2a13f991123fa16841e6d94b02a9cc2c76d91725
Author: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 18 11:48:11 2013 -0500
seccomp: exit if seccomp_init() fails
This fixes a bug where we weren't exiting if seccomp_init() failed.
Signed-off-by: Corey Bryant <coreyb@xxxxxxxxxxxxxxxxxx>
Acked-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Moore <pmoore@xxxxxxxxxx>
commit 18da7f94cdce130f2a71387de4980ffa817181a1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:33 2013 +0800
commit: Remove unused check
We support top == active for commit now, remove the check and add an
assertion here.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4de43470f2f35762b4b3e6a59b4aed55e239024a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:32 2013 +0800
qemu-iotests: Update test cases for commit active
Factor out commit test common logic into super class, and update test
of committing the active image.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 20a63d2cec838c2dde4d246c4d7abe747d9b7a11
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:31 2013 +0800
commit: Support commit active layer
If active is top, it will be mirrored to base, (with block/mirror.c
code), then the image is switched when user completes the block job.
QMP documentation is updated.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 03544a6e9ecc1be115e8a29bd929f83b467d4816
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:30 2013 +0800
block: Add commit_active_start()
commit_active_start is implemented in block/mirror.c, It will create a
job with "commit" type and designated base in block-commit command. This
will be used for committing active layer of device.
Sync mode is removed from MirrorBlockJob because there's no proper type
for commit. The used information is is_none_mode.
The common part of mirror_start and commit_active_start is moved to
mirror_start_job().
Fix the comment wording for commit_start.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5bc361b8134eff68e2c40916d1cf58b3523d223b
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:29 2013 +0800
mirror: Move base to MirrorBlockJob
This allows setting the base before entering mirror_run, commit will
make use of it.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f95c625ce4cb7863795fcc36502ac58a44fdb2f1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 16 14:45:28 2013 +0800
mirror: Don't close target
Let reference count manage target and don't call bdrv_close here.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit de99c417f6208a64b68e3b35d2aecbca1f60eae0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Dec 19 16:26:44 2013 +0100
qemu-iotests: drop duplicate virtio-blk initialization failure
Commit 75884afd5c6c42e523b08565e289dbe319e17ad9 ("virtio-blk: Convert to
QOM realize") dropped a duplicate error_report() call. Now we no longer
get the following error message twice:
QEMU_PROG: -drive if=virtio: Device initialization failed.
Update qemu-iotests 051.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 917703c179d4483d050fe112a2a81acec3d6ffd7
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Dec 20 09:48:48 2013 +0800
vmdk: Allow vmdk_create to work with protocol
This improves vmdk_create to use bdrv_* functions to replace qemu_open
and other fd functions. The error handling are improved as well. One
difference is that bdrv_pwrite will round up buffer to sectors, so for
description file, an extra bdrv_truncate is used in the end to drop
inding zeros.
Notes:
- A bonus bug fix is correct endian is used in initializing GD entries.
- ROUND_UP and DIV_ROUND_UP are used where possible.
I tested that new code produces exactly the same file as previously.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Tested-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b47053bd0359c68094d7a25a65687c0844771e34
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Dec 9 13:24:36 2013 +0800
vmdk: Check VMFS extent line field number
VMFS extent line in description file should be with 4 fields:
RW <size> VMFS "file-name.vmdk"
Check the number explicitly and report error if offset is appended as
FLAT, which should be invalid format.
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8282db1b2e7394574cb55fcc608c5cb0df159d8f
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Dec 17 13:56:06 2013 -0500
docs: updated qemu-img man page and qemu-doc to reflect VHDX support.
The man page for qemu-img, and the qemu-doc, did not mention VHDX
as a supported format. This adds in reference to VHDX in those
documents.
[Stefan Weil <sw@xxxxxxxxxxx> suggested s/Block Size/Block size/ for
consistency. I have made this change.
--Stefan]
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7e30e6a6746b417c7e0dbc9af009560fbb63f336
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Dec 17 05:33:37 2013 -0500
block: vhdx - improve error message, and .bdrv_check implementation
If there is a dirty log file to be replayed in a VHDX image, it is
replayed in .vhdx_open(). However, if the file is opened read-only,
then a somewhat cryptic error message results.
This adds a more helpful error message for the user. If an image file
contains a log to be replayed, and is opened read-only, the user is
instructed to run 'qemu-img check -r all' on the image file.
Running qemu-img check -r all will cause the image file to be opened
r/w, which will replay the log file. If a log file replay is detected,
this is flagged, and bdrv_check will increase the corruptions_fixed
count for the image.
[Fixed typo in error message that was pointed out by Eric Blake
<eblake@xxxxxxxxxx>.
--Stefan]
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 219c252193862898430e5dea5efb7447877aaa85
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Dec 17 08:57:10 2013 +0100
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
Function iscsi_read10_task got additional parameters starting with version
libiscsi 1.5.0.
libiscsi 1.4.0 is still widely used (Debian wheezy, jessie and other Linux
distributions currently provide packages for QEMU which use it), so we
still need support for this older API.
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c27de2a3e9c8664116287d639bacd600e61a6b45
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Dec 11 09:49:14 2013 +0100
qapi-schema: fix QEMU 1.8 references
We are moving boldly on to QEMU 2.0 in the next release. Some patches
written at a time where we assumed 1.8 would be the next version number
managed to sneak in.
s/1.8/2.0/ in qapi-schema.json
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 87b7f2f8c8da4d2da2728f0f1ad207973f1ea834
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:27:01 2013 +0100
dataplane: replace hostmem with memory_region_find
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c1b566fd165af6cb12d6ef69eb554a347641e20
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:27:00 2013 +0100
dataplane: change vring API to use VirtQueueElement
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 781c117f3758bdb21e982d2aebba81febceccfe5
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:26:59 2013 +0100
vring: factor common code for error exits
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4d684832e54afe971fd8f94cb830ec1e135648e7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Dec 10 13:26:58 2013 +0100
vring: create a common function to parse descriptors
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e50d7607f1800c9f9c576229c6119e4c82f456d6
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Sat Dec 14 01:29:28 2013 +0800
sheepdog: fix dynamic grow for running qcow2 format
When running qcow2 over sheepdog, we might meet following problem
qemu-system-x86_64: shrinking is not supported
And cause IO errors to Guest. This is because we abuse bs->total_sectors,
which
is manipulated by generic block layer and race with sheepdog code.
We should directly check if offset > vdi_size to dynamically enlarge the
volume
instead of 'offset > bs->total_sectors', which will cause problem when
following
case happens:
vdi_size > offset > bs->total_sectors
# then trigger sd_truncate() to shrink the volume wrongly.
Cc: qemu-devel@xxxxxxxxxx
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reported-by: Hadrien KOHL <hadrien.kohl@xxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f8251db121c3f051b22a7536b97d160c30bcccd4
Merge: 3dc7e2a 5fe269b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 19 17:03:17 2013 -0800
Merge remote-tracking branch 'agraf/tags/signed-ppc-for-upstream' into
staging
Patch queue for ppc - 2013-12-20
Alexander Graf (3):
PPC: Use default pci bus name for grackle and heathrow
roms: Flush icache when writing roms to guest memory
PPC: Add VSX to hflags
Alexey Kardashevskiy (5):
powerpc: add PVR mask support
target-ppc: move POWER7+ to a separate family
spapr-rtas: replace return code constants with macros
spapr-rtas: add ibm, (get|set)-system-parameter
spapr: make sure RMA is in first mode of first memory node
Greg Kurz (1):
target-ppc: add stubs for KVM breakpoints
Paolo Bonzini (1):
spapr: tie spapr-nvram to -pflash
Paul Mackerras (1):
spapr: limit numa memory regions by ram size
Peter Crosthwaite (2):
device_tree: s/qemu_devtree/qemu_fdt globally
device_tree: qemu_fdt_setprop: Rename val_array arg
Tom Musta (19):
Declare and Enable VSX
Add MSR VSX and Associated Exception
Add VSX Instruction Decoders
Add VSR to Global Registers
Add lxvd2x
Add stxvd2x
Add xxpermdi
Add lxsdx
Add lxvdsx
Add lxvw4x
Add stxsdx
Add stxvw4x
Add VSX Scalar Move Instructions
Add VSX Vector Move Instructions
Add Power7 VSX Logical Instructions
Add xxmrgh/xxmrgl
Add xxsel
Add xxspltw
Add xxsldwi
* agraf/tags/signed-ppc-for-upstream: (32 commits)
spapr: limit numa memory regions by ram size
spapr: make sure RMA is in first mode of first memory node
device_tree: qemu_fdt_setprop: Rename val_array arg
device_tree: s/qemu_devtree/qemu_fdt globally
PPC: Add VSX to hflags
Add xxsldwi
Add xxspltw
Add xxsel
Add xxmrgh/xxmrgl
Add Power7 VSX Logical Instructions
Add VSX Vector Move Instructions
Add VSX Scalar Move Instructions
roms: Flush icache when writing roms to guest memory
spapr: tie spapr-nvram to -pflash
PPC: Use default pci bus name for grackle and heathrow
spapr-rtas: add ibm, (get|set)-system-parameter
spapr-rtas: replace return code constants with macros
target-ppc: move POWER7+ to a separate family
Add stxvw4x
Add stxsdx
...
commit 5fe269b16c6dc8f19da3e8c13d4c66958b00d2f0
Author: Paul Mackerras <paulus@xxxxxxxxx>
Date: Mon Nov 25 14:14:51 2013 +1100
spapr: limit numa memory regions by ram size
This makes sure that all NUMA memory blocks reside within RAM or
have zero length.
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c4177479069d6d643e0e0f90595795406db7efbf
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Nov 25 14:14:50 2013 +1100
spapr: make sure RMA is in first mode of first memory node
The SPAPR specification says that the RMA starts at the LPAR's logical
address 0 and is the first logical memory block reported in
the LPARâ??s device tree.
So SLOF only maps the first block and that block needs to span
the full RMA.
This makes sure that the RMA area is where SLOF expects it.
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit be5907f2cc6d075b1d687e51a0e0d8ac074a7ac8
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Nov 11 18:15:21 2013 +1000
device_tree: qemu_fdt_setprop: Rename val_array arg
Looking at the implementation, this doesn't really have a lot to do
with arrays. Its just a pointer to a buffer and is passed through
to the wrapped fn (qemu_fdt_setprop) unchanged. So rename to make it
consistent with libfdt, which in the wrapped function just calls it
"val".
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5a4348d1114b7f3dccc578e39e33ef07a1cfabc7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Mon Nov 11 18:14:41 2013 +1000
device_tree: s/qemu_devtree/qemu_fdt globally
The qemu_devtree API is a wrapper around the fdt_ set of APIs.
Rename accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[agraf: also convert hw/arm/virt.c]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c2b63f03977a84d0584d82be6981e4eb5f4faacd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 18 09:21:02 2013 +0100
PPC: Add VSX to hflags
We generate different code depending on whether MSR_VSX is set or
clear, so it needs to be part of our hflags too which indicate whether
we're still in the same translation block cache bucket.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit acc429682c71968b8aef37822879dda3b54dda96
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:23 2013 -0500
Add xxsldwi
This patch adds the VSX Shift Left Double by Word Immediate
(xxsldwi) instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 76c15fe0bdaa5b0c4b458c2b291e27a24494a77f
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:22 2013 -0500
Add xxspltw
This patch adds the VSX Splat Word (xxsplatw) instruction.
This is the first instruction to use the UIM immediate field
and consequently a decoder is also added.
V2: reworked implementation per Richard Henderson's comments.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 551e3ef72e59d3975073e2ea3aaf2f7508323063
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:21 2013 -0500
Add xxsel
This patch adds the VSX Select (xxsel) instruction.
The xxsel instruction has four VSR operands. Thus the xC
instruction decoder is added.
The xxsel instruction is massively overloaded in the opcode
table since only bits 26 and 27 are opcode bits. This
overloading is done in matrix fashion with two macros
(GEN_XXSEL_ROW and GEN_XX_SEL).
V2: (1) eliminated unecessary XXSEL macro (2) tighter implementation
using tcg_gen_andc_i64.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ce577d2e48e756f17d4c4a6c6bdc96924a157ca0
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:20 2013 -0500
Add xxmrgh/xxmrgl
This patch adds the VSX Merge High Word and VSX Merge Low Word
instructions.
V2: Now implemented using deposit (per Richard Henderson's comment)
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 79ca8a6a76517edb4f54793c638259b9e6dfce66
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:19 2013 -0500
Add Power7 VSX Logical Instructions
This patch adds the VSX logical instructions that are defined
by the Version 2.06 Power ISA (aka Power7):
- xxland
- xxlandc
- xxlor
- xxlxor
- xxlnor
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit be574920b1285c0505ad116795d3a646422a1b8e
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:18 2013 -0500
Add VSX Vector Move Instructions
This patch adds the vector move instructions:
- xvabsdp - Vector Absolute Value Double-Precision
- xvnabsdp - Vector Negative Absolute Value Double-Precision
- xvnegdp - Vector Negate Double-Precision
- xvcpsgndp - Vector Copy Sign Double-Precision
- xvabssp - Vector Absolute Value Single-Precision
- xvnabssp - Vector Negative Absolute Value Single-Precision
- xvnegsp - Vector Negate Single-Precision
- xvcpsgnsp - Vector Copy Sign Single-Precision
V3: Per Paolo Bonzini's suggestion, used a temporary for the
sign mask and andc.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit df020ce07045413ab3205916a3cde64bb150694c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:17 2013 -0500
Add VSX Scalar Move Instructions
This patch adds the VSX scalar move instructions:
- xsabsdp (Scalar Absolute Value Double-Precision)
- xsnabspd (Scalar Negative Absolute Value Double-Precision)
- xsnegdp (Scalar Negate Double-Precision)
- xscpsgndp (Scalar Copy Sign Double-Precision)
A common generator macro (VSX_SCALAR_MOVE) is added since these
instructions vary only slightly from each other.
Macros to support VSX XX2 and XX3 form opcodes are also added.
These macros handle the overloading of "opcode 2" space (instruction
bits 26:30) caused by AX and BX bits (29 and 30, respectively).
V3: Per feedback from Paolo Bonzini, moved the sign mask into a
temporary and used andc.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 582b55a96ac4f66cea64d82e47651bd5ef38a8ec
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 11 14:17:44 2013 +0100
roms: Flush icache when writing roms to guest memory
We use the rom infrastructure to write firmware and/or initial kernel
blobs into guest address space. So we're basically emulating the cache
off phase on very early system bootup.
That phase is usually responsible for clearing the instruction cache for
anything it writes into cachable memory, to ensure that after reboot we
don't happen to execute stale bits from the instruction cache.
So we need to invalidate the icache every time we write a rom into guest
address space. We do not need to do this for every DMA since the guest
expects it has to flush the icache manually in that case.
This fixes random reboot issues on e5500 (booke ppc) for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3978b863a5d8ac1c02848bf57d0a7f7067826a8a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 10:27:40 2013 +0100
spapr: tie spapr-nvram to -pflash
spapr-nvram's drive property is currently connected to a non-existent
"-machine nvram=<drivename>" option. Instead, tie it to -pflash like
other non-volatile RAM devices. This provides the following possibilities
for adding a backend for the sPAPR non-volatile RAM:
* -pflash filename
* -drive if=pflash,file=filename,format=raw,...
* -drive if=none,file=filename,format=raw,id=foo,... -global
spapr-nvram.drive=foo
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8a0e11045d5f50d300e0ab1ba05f4c8217fb5dcb
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Dec 4 12:42:32 2013 +0100
PPC: Use default pci bus name for grackle and heathrow
There's no good reason to call our bus "pci" rather than let the default
bus name take over ("pci.0").
The big downside to calling it different from anyone else is that tools
that pass -device get confused. They are looking for a bus "pci.0" rather
than "pci".
To make life easier for everyone, let's just drop the name override.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3ada6b113726ae554154f6e5367bf4b4ed110bbe
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Nov 19 15:28:55 2013 +1100
spapr-rtas: add ibm, (get|set)-system-parameter
This adds very basic handlers for ibm,get-system-parameter and
ibm,set-system-parameter RTAS calls.
The only parameter handled at the moment is
"platform-processor-diagnostics-run-mode" which is always disabled and
does not support changing. This is expected to make
"ppc64_cpu --run-mode=1" happy.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[agraf: s/papameter/parameter/g]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a64d325df1ce9b554e15d612b80775159cc4d7a6
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Nov 19 15:28:54 2013 +1100
spapr-rtas: replace return code constants with macros
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b650d6a2fcb77e2e42872ebd102ba387d547ab77
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Nov 19 12:39:15 2013 +1100
target-ppc: move POWER7+ to a separate family
So far POWER7+ was a part of POWER7 family. However it has a different
PVR base value so in order to support PVR masks, it needs a separate
family class.
This adds a new family class, PVR base and mask values and moves
Power7+ v2.1 CPU to a new family. The class init function is copied
from the POWER7 family.
This defines a firmware name for the new family as "PowerPC,POWER7+"
instead of previously used "PowerPC,POWER7" from the POWER7 family.
The reason for that is that the Sapphire firmware (a h0st firmware)
uses "PowerPC,POWER7+" already and since no specification defines
exactly the CPU nodes naming in the device tree, we better stay
in sync with the host firmware.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 86e61ce3d0e4806519c79f2555f20b7b3283bdab
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:16 2013 -0500
Add stxvw4x
This patch adds the Store VSX Vector Word*4 Indexed (stxvw4x)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9231ba9ee9c7d68364a28657109d2f7c32e12971
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:15 2013 -0500
Add stxsdx
This patch adds the Store VSX Scalar Doubleword Indexed (stxsdx)
instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 897e61d13777a5995d3cd12fcaf44eb4bbb5439c
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:14 2013 -0500
Add lxvw4x
This patch adds the Load VSX Vector Word*4 Indexed (lxvw4x)
instruction.
V2: changed to use deposit_i64 per Richard Henderson's review.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ca03b46765d4633f5746764696058b0cb33ac487
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:13 2013 -0500
Add lxvdsx
This patch adds the Load VSX Vector Doubleword & Splat Indexed
(lxvdsx) instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fa1832d7e2fccfe3ea55d2885c023daa285342d4
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Fri Nov 1 08:21:12 2013 -0500
Add lxsdx
This patch adds the Load VSX Scalar Doubleowrd Indexed (lxsdx)
instruction.
The lower 8 bytes of the target register are undefined; this
implementation leaves those bytes unaltered.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cd73f2c992765141b3497551ebdf841b26c238ca
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:09:35 2013 +1100
Add xxpermdi
This patch adds the xxpermdi instruction. The instruction
uses bits 22, 23, 29 and 30 for non-opcode fields (DM, AX
and BX). This results in overloading of the opcode table
with aliases, which can be seen in the GEN_XX3FORM_DM
macro.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fbed2478e9ba22f091e3842123252a902dc5b98d
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:09:00 2013 +1100
Add stxvd2x
This patch adds the stxvd2x instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 304af367427301697df32112c50448b7d55c7054
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:08:32 2013 +1100
Add lxvd2x
This patch adds the lxvd2x instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 472b24ce2b4f22363ec9a556e479be6ad5180727
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:07:41 2013 +1100
Add VSR to Global Registers
This patch adds VSX VSRs to the the list of global register indices.
More specifically, it adds the lower halves of the first 32 VSRs to
the list of global register indices. The upper halves of the first
32 VSRs are already defined via cpu_fpr[]. And the second 32 VSRs
are already defined via the cpu_avrh[] and cpu_avrl[] arrays.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f9fc6d810f6777a253337ba050639d266e9a3538
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:06:46 2013 +1100
Add VSX Instruction Decoders
This patch adds decoders for the VSX fields XT, XS, XA, XB and
DM. The first four are split fields and a general helper for
these types of fields is also added.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1f29871cb7518692cf5c1fa8c19b117c789ff7f0
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:06:17 2013 +1100
Add MSR VSX and Associated Exception
This patch adds support for the VSX bit of the PowerPC Machine
State Register (MSR) as well as the corresponding VSX Unavailable
exception.
The VSX bit is added to the defined bits masks of the Power7 and
Power8 CPU models.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 74f239975501cf0ad886a5d40ce40aecbb9dc0b2
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Tue Oct 22 22:05:46 2013 +1100
Declare and Enable VSX
This patch adds the flag POWERPC_FLAG_VSX to the list of defined
flags and also adds this flag to the list of supported features of
the Power7 and Power8 CPUs. Additionally, the VSX instructions
are added to the list of TCG-enabled instruction.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3bc9ccc054574820190f0e6bbfd299bc2d42323d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Sep 27 18:05:03 2013 +1000
powerpc: add PVR mask support
IBM POWERPC processors encode PVR as a CPU family in higher 16 bits and
a CPU version in lower 16 bits. Since there is no significant change
in behavior between versions, there is no point to add every single CPU
version in QEMU's CPU list. Also, new CPU versions of already supported
CPU won't break the existing code.
This adds PVR value/mask support for KVM, i.e. for -cpu host option.
As CPU family class name for POWER7 is "POWER7-family", there is no need
to touch aliases.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit c65f9a07a78afa3c98712f6192962ffd6babe339
Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 11 14:15:34 2013 +0100
target-ppc: add stubs for KVM breakpoints
The latest update to v3.13-rc3 (bf63839f) breaks the
ppc build with KVM:
kvm-all.o: In function `kvm_update_guest_debug':
kvm-all.c:1910: undefined reference to `kvm_arch_update_guest_debug'
kvm-all.o: In function `kvm_insert_breakpoint':
kvm-all.c:1937: undefined reference to `kvm_arch_insert_sw_breakpoint'
kvm-all.c:1945: undefined reference to `kvm_arch_insert_hw_breakpoint'
kvm-all.o: In function `kvm_remove_breakpoint':
kvm-all.c:1977: undefined reference to `kvm_arch_remove_sw_breakpoint'
kvm-all.c:1985: undefined reference to `kvm_arch_remove_hw_breakpoint'
kvm-all.o: In function `kvm_remove_all_breakpoints':
kvm-all.c:2009: undefined reference to `kvm_arch_remove_sw_breakpoint'
kvm-all.c:2006: undefined reference to `kvm_arch_remove_sw_breakpoint'
kvm-all.c:2017: undefined reference to
`kvm_arch_remove_all_hw_breakpoints'
We need stubs until something gets implemented.
Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3dc7e2a3fedafc2f951bd62300b342c84e3606f8
Merge: f46e720 84291fe
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Dec 19 11:56:33 2013 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20131217'
into staging
target-arm queue:
* AES instruction support for 32 bit ARM
* pflash01: much better emulation of 2x16bit and similar configs
where multiple flash devices are banked together
* fixed CBAR handling on Zynq, Highbank
* initial AArch64 KVM control support
* first two chunks of patches for A64 instruction emulation
* new board: canon-a1100 (Canon DIGIC SoC)
* new board: cubieboard (Allwinner A10 SoC)
# gpg: Signature made Tue 17 Dec 2013 12:18:39 PM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Alexander Graf (14) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20131217: (62 commits)
MAINTAINERS: add myself to maintain allwinner-a10
hw/arm: add cubieboard support
hw/arm: add allwinner a10 SoC support
hw/intc: add allwinner A10 interrupt controller
hw/timer: add allwinner a10 timer
vmstate: Add support for an array of ptimer_state *
MAINTAINERS: Document 'Canon DIGIC' machine
hw/arm/digic: add NOR ROM support
hw/arm/digic: add UART support
hw/arm/digic: add timer support
hw/arm/digic: prepare DIGIC-based boards support
hw/arm: add very initial support for Canon DIGIC SoC
target-arm: A64: add support for logical (immediate) insns
target-arm: A64: add support for 1-src CLS insn
host-utils: add clrsb32/64 - count leading redundant sign bits
target-arm: A64: add support for bitfield insns
target-arm: A64: add support for 1-src REV insns
target-arm: A64: add support for 1-src RBIT insn
target-arm: A64: add support for 1-src data processing and CLZ
target-arm: A64: add support for 2-src shift reg insns
...
Message-id: 1387312160-12318-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 10c8599a49f99180c2f79596325a5e856cdac59f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 19:50:01 2013 +0100
s390x/ioinst: CHSC has to set a condition code
I missed to set the CC in the CHSC instruction when I refactored
the CC setting in the IO instructions with the following commit:
5d9bf1c07c1369ab3506fc82cc65a10f4415d867
s390/ioinst: Moved the CC setting to the IO instruction handlers
This patch now restores the correct behaviour of CHSC by setting the
condition code 0 at the end of the instruction.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3796f0e1cda41eacf4fc915e7edaf54f2279466c
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:09 2013 +0100
s390x/kvm: Fixed condition code for unknown SIGP orders
If SIGP is called with an unknown order code, it has to return CC1
instead of CC3 and set the "invalid order" bit in the return status.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b8031adba791325907d8a9e19af8d483996974fd
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:08 2013 +0100
s390x/kvm: Simplified the calculation of the SIGP order code
We've already got a helper function for calculating the
base/displacement of RS formatted instructions, so we can
get rid of the manual calculation of the SIGP order code.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b20a461fcd55d2b05e729c587244eddc60b9527f
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:07 2013 +0100
s390x/kvm: Implemented SIGP START
This patch adds the missing START order to the SIGP instruction handler.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0b9972a2483b27824f3ec71b7b8b4a5961614216
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:06 2013 +0100
s390x/kvm: Fix coding style in handle_sigp()
To make scripts/checkpatch.pl happy for the following patches,
the coding style in handle_sigp() has to be fixed first.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit cd7a0f4cf905c421743357a55f107b86ee1ded9d
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:05 2013 +0100
s390x/kvm: Removed s390_store_status stub
The SIGP order STORE STATUS AT ADDRESS will be handled in
kernel space, so we do not need the stub in QEMU anymore.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4f91e0b5d8b116c16964926a103e01623dbd81b6
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 14:22:04 2013 +0100
s390x/kvm: Removed duplicated SIGP defines
The SIGP order defines are also available in cpu.h,
so there is no need to re-define them in kvm.c.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 638129ff475dd3b4c0e57e0be598efe41461e9b3
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Tue Dec 17 18:27:33 2013 +0100
s390x/kvm: Fix diagnose handling.
The instruction intercept handler for diagnose used only the displacement
when trying to calculate the function code. This is only correct for base
0, however; we need to perform a complete base/displacement address
calculation and use bits 48-63 as the function code.
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 6bdf863d942a267f984e4bd82be80cb2ac5b9915
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Dec 17 20:05:13 2013 +0100
kvm: x86: Separately write feature control MSR on reset
If the guest is running in nested mode on system reset, clearing the
feature MSR signals the kernel to leave this mode. Recent kernels
processes this properly, but leave the VCPU state undefined behind. It
is the job of userspace to bring it to a proper shape. Therefore, write
this specific MSR first so that no state transfer gets lost.
This allows to cleanly reset a guest with VMX in use.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 84291fe7a34f8c2d595bcdb77ff506d1d60fcd7c
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
MAINTAINERS: add myself to maintain allwinner-a10
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Message-id: 1387159292-10436-7-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a01c005327007562f3313f3efe235f77309db809
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
hw/arm: add cubieboard support
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387159292-10436-6-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9158fa5451b5929f1d882ef08c30b4f4aadd6945
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
hw/arm: add allwinner a10 SoC support
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387159292-10436-5-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c3931ee8b42def4089831b4d79e93c5b05667ff6
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:38 2013 +0000
hw/intc: add allwinner A10 interrupt controller
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387159292-10436-4-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3589de8c971df29562fcaf2d9b04f0886aff4866
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
hw/timer: add allwinner a10 timer
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387159292-10436-3-git-send-email-lig.fnst@xxxxxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a1f05e79f2c207bded5efc23e8c6b1ca58161a8e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
vmstate: Add support for an array of ptimer_state *
Add support for defining a vmstate field which is an array
of pointers to structures, and use this to define a
VMSTATE_PTIMER_ARRAY() which allows an array of ptimer_state*
to be used by devices.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1387159292-10436-2-git-send-email-lig.fnst@xxxxxxxxxxxxxx
commit 9082f12173d407290bcec9f4ae84242972b2480c
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
MAINTAINERS: Document 'Canon DIGIC' machine
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Message-id: 1387188908-754-7-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 04234a37b1a89f3f119ef59c143a7b2e0a1ab40e
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
hw/arm/digic: add NOR ROM support
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Message-id: 1387188908-754-6-git-send-email-antonynpavlov@xxxxxxxxx
[PMM: don't try to load ROM blob if qtest_enabled()]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 142593c9d700e02b316443bcaa99226720242625
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:37 2013 +0000
hw/arm/digic: add UART support
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387188908-754-5-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 576e99cb951e9c1a289555a31cfd5b9040e80037
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
hw/arm/digic: add timer support
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387188908-754-4-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d91fd756fb2af16584d338c4ef715f40ea49924c
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
hw/arm/digic: prepare DIGIC-based boards support
Also this patch adds initial support for Canon
PowerShot A1100 IS compact camera.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Message-id: 1387188908-754-3-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c6f09eb4a0ea14b68f2745e87641c79a51057959
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
hw/arm: add very initial support for Canon DIGIC SoC
DIGIC is Canon Inc.'s name for a family of SoC
for digital cameras and camcorders.
There is no publicly available specification for
DIGIC chips. All information about DIGIC chip
internals is based on reverse engineering efforts
made by CHDK (http://chdk.wikia.com) and
Magic Lantern (http://www.magiclantern.fm) projects
contributors.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1387188908-754-2-git-send-email-antonynpavlov@xxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 71b46089303beb7d52a0b9397f5c286a7e66275f
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:36 2013 +0000
target-arm: A64: add support for logical (immediate) insns
This patch adds support for C3.4.4 Logical (immediate),
which include AND, ANDS, ORR, EOR.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder, function renaming,
removed a TCG temp variable]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM: cleaned up some unnecessary code in logic_imm_decode_wmask
and added clarifying commentary on what it's actually doing.
Dropped an ext32u that's not needed if we've just done an AND.]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e80c502023d332fb60866eb378e715ab3f158b72
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src CLS insn
this patch adds support for the CLS instruction.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit afd3fe4ce56e6fb0d0384ddb8e3c4fac01935c37
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
host-utils: add clrsb32/64 - count leading redundant sign bits
this patch introduces wrappers for the clrsb builtins,
which count the leading redundant sign bits.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 880777423525685ccaf1bf6967b27cc8a38e5f96
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for bitfield insns
This patch implements the C3.4.2 Bitfield instructions:
SBFM, BFM, UBFM.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 453232096c4e93ec871f7ff97abfc0bf54258c95
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src REV insns
This adds support for C5.6.149 REV, C5.6.151 REV32, C5.6.150 REV16.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 82e14b02a2bd822af6db2ef728a1698b9a24e50c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src RBIT insn
This adds support for the C5.6.147 RBIT instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder, use bswap64,
make RBIT part standalone from the rest of the patch,
splitting REV into a separate patch]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 680ead216e666e5cc192fe86adf30563999a5dd8
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:35 2013 +0000
target-arm: A64: add support for 1-src data processing and CLZ
This patch adds support for decoding 1-src data processing insns,
and the first user, C5.6.40 CLZ (count leading zeroes).
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6c1adc919b6a81e008b919c53902b4877ef4d737
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for 2-src shift reg insns
This adds 2-src variable shift register instructions:
C5.6.115 LSLV, C5.6.118 LSRV, C5.6.17 ASRV, C5.6.154 RORV
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder, use enums for shift types]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8220e911c240df5b4b2a1473f0ba9feddc154c45
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for 2-src data processing and DIV
This patch adds support for decoding 2-src data processing insns,
and the first users, UDIV and SDIV.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder adding the 2-src decoding level,
always zero-extend result in 32bit mode]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e801de93d0155c0c14d6b4dea1b3577ca36e214b
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for EXTR
This patch adds emulation support for the EXTR instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted for new decoder, removed a few temporaries,
fixed the 32bit bug, added checks for more
unallocated cases]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 15bfe8b650a0fd40940cb8f4bfc8c57d6940173e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for ADR and ADRP
Add support for the instructions described in
"C3.4.6 PC-rel. addressing" (ADR and ADRP).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder structure]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 832ffa1ce073f010fd1c766361b2e35ce3f105d3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:34 2013 +0000
target-arm: A64: add support for logical (shifted register)
Add support for the instructions described in "C3.5.10 Logical
(shifted register)".
We store the flags in the same locations as the 32 bit decoder.
This is slightly awkward when calculating 64 bit results, but seems
a better tradeoff than having to rework the whole 32 bit decoder
and also make 32 bit result calculation in A64 awkward.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: some refactoring to avoid hidden allocation of temps,
rework flags, use enums for shift types,
renaming of functions]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM: Use TCG's andc/orc/eqv ops rather than manually inverting]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e952d8c77a59dd31b5a4332f19e19f43dc90bd68
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for conditional select
This patch adds support for the instruction group "C3.5.6
Conditional select": CSEL, CSINC, CSINV, CSNEG.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
[PMM: Improved code generated in the nomatch case as per RTH suggestions]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 60e5338831e35e7b407b1670f5fe936859ea5490
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for compare and branch imm
This patch adds emulation for the compare and branch insns,
CBZ and CBNZ.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder,
compare with immediate 0,
introduce read_cpu_reg to get the 0 extension on (!sf)]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit db0f79589c16fe7f697716f4cadc903a2575ef55
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for 'test and branch' imm
This patch adds emulation for the test and branch insns,
TBZ and TBNZ.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio:
adapted for new decoder
always compare with 0
remove a TCG temporary
]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39fb730aed8c5f7b0058845cb9feac0d4b177985
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for conditional branches
This patch adds emulation for the conditional branch (b.cond) instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: adapted to new decoder structure,
reused arm infrastructure for checking the flags]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b001c8c3d6855b0b52fc0fdd63b5a93fd326bf0c
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:33 2013 +0000
target-arm: A64: add support for BR, BLR and RET insns
Implement BR, BLR and RET. This is all of the 'unconditional
branch (register)' instruction category except for ERET
and DPRS (which are system mode only).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: reimplemented on top of new decoder structure]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 11e169de9940b9dc057e534ecf864c542fafb425
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: add support for B and BL insns
Implement the B and BL instructions (PC relative branches and calls).
For convenience in managing TCG temporaries which might be generated
if a source register is the zero-register XZR, we provide a simple
mechanism for creating a new temp which is automatically freed at the
end of decode of the instruction.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
[claudio: renamed functions, adapted to new decoder layout]
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 87462e0f41fccc353f9c902caed563ab7cbdd8ed
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: expand decoding skeleton for system instructions
Decode the various kinds of system instructions:
hints (HINT), which include NOP, YIELD, WFE, WFI, SEV, SEL
sync instructions, which include CLREX, DSB, DMB, ISB
msr_i, which move immediate to processor state field
sys, which include all SYS and SYSL instructions
msr, which move from a gp register to a system register
mrs, which move from a system register to a gp register
Provide implementations where they are trivial nops.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad7ee8a290d08a2fe9d408af2461d1f583d96f7d
Author: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: provide skeleton for a64 insn decoding
Provide a skeleton for a64 instruction decoding in translate-a64.c,
by dividing instructions into the classes defined by the
ARM Architecture Reference Manual(DDI0487A_a) section C3.
Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3e35a1fe4562ee3f9f1af91ab02d62cf31b9488
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: A64: add stubs for a64 specific helpers
We will need helpers that only make sense with AArch64. Add
helper-a64.{c,h} files as stubs that we can fill with these
helpers in the following patches.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a66942735569ec7f8b761c1205e6f4c50962fe4
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:32 2013 +0000
target-arm: Support fp registers in gdb stub
Register the aarch64-fpu XML and implement the necessary
read/write handlers so we can support reading and writing
of FP registers in the gdb stub.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f903fa22f4d7f3a20c4d0f42e7585ed80a3ec051
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
target-arm: A64: provide functions for accessing FPCR and FPSR
The information which AArch32 holds in the FPSCR is split for
AArch64 into two logically distinct registers, FPSR and FPCR.
Since they are carefully arranged to use non-overlapping bits,
we leave the underlying state in the same place, and provide
accessor functions which just update the appropriate bits
via vfp_get_fpscr() and vfp_set_fpscr().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5ce4f35781028ce1aee3341e6002f925fdc7aaf3
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
target-arm: A64: add set_pc cpu method
When executing translation blocks we need to be able to recover
our program counter. Add a method to set it for AArch64 CPUs.
This covers user-mode, but for system mode emulation we will
need to check if the CPU is in an AArch32 execution state.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
target-arm: Split A64 from A32/T32 gen_intermediate_code_internal()
The A32/T32 gen_intermediate_code_internal() is complicated because it
has to deal with:
* conditionally executed instructions
* Thumb IT blocks
* kernel helper page
* M profile exception-exit special casing
None of these apply to A64, so putting the "this is A64 so
call the A64 decoder" check in the middle of the A32/T32
loop is confusing and means the A64 decoder's handling of
things like conditional jump and singlestepping has to take
account of the conditional-execution jumps the main loop
might emit.
Refactor the code to give A64 its own gen_intermediate_code_internal
function instead.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 013424d436b83f7ba8366b1d40bf82c4f6716f5e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:31 2013 +0000
default-configs: Add config for aarch64-softmmu
Add a config for aarch64-softmmu; this enables building of this target.
The resulting executable doesn't know about any 64 bit CPUs, but all
the 32 bit CPUs and board models work.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-8-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 4d9ebf751a5a98e5dc2e26baf2344e744f4fa7b9
Author: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
hw/arm/boot: Add boot support for AArch64 processor
This commit adds support for booting a single AArch64 CPU by setting
appropriate registers. The bootloader includes placeholders for Board-ID
that are used to implement uniform indexing across different bootloaders.
Signed-off-by: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-7-git-send-email-peter.maydell@xxxxxxxxxx
[PMM:
* updated to use ARMInsnFixup style bootloader fragments
* dropped virt.c additions
* use runtime checks for "is this an AArch64 core" rather than ifdefs
* drop some unnecessary setting of registers in reset hook
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 47b1da8134610c10a672b249808dbc763308668e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
hw/arm/boot: Allow easier swapping in of different loader code
For AArch64 we will obviously require a different set of
primary and secondary boot loader code fragments. However currently
we hardcode the offsets into the loader code where we must write
the entrypoint and other data into arm_load_kernel(). This makes it
hard to substitute a different loader fragment, so switch to a more
flexible scheme where instead of a raw array of instructions we use
an array of (instruction, fixup-type) pairs that indicate which
words need special action or data written into them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-6-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
commit 70a5f682f34c04d13164eb0d55241b7378f02030
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
configure: Enable KVM for aarch64 host/target combination
Enable KVM if the host and target CPU are both aarch64. Note
that host aarch64 + target arm is not valid for KVM acceleration:
the 64 bit kernel does not support the ioctl interface for
32 bit CPUs. 32 bit VMs on 64 bit hosts need to be created
using the 64 bit ioctl interface; when QEMU supports this it
will be on the arch64-softmmu target with a -cpu parameter for
a 32 bit CPU, which is still an aarch64/aarch64 combination
as far as configure is concerned.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-5-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 26861c7ce06c055786323ff4c65af74d735d1c19
Author: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
target-arm: Add minimal KVM AArch64 support
Add the bare minimum set of functions needed for control of an
AArch64 KVM vcpu:
* CPU initialization
* minimal get/put register functions which only handle the
basic state of the CPU
Signed-off-by: Mian M. Hamayun <m.hamayun@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-4-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: significantly overhauled; most notably:
* code lives in kvm64.c rather than using #ifdefs
* support '-cpu host' rather than implicitly using whatever the
host's CPU is regardless of what the user requests
* fix bug attempting to get/set nonexistent X[31]
* fix bug writing 64 bit kernel pstate into uint32_t env field
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit d356312fdc8640af929e0dbab61c6e514d47feb8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:30 2013 +0000
target-arm: Clean up handling of AArch64 PSTATE
The env->pstate field is a little odd since it doesn't strictly
speaking represent an architectural register. However it's convenient
for QEMU to use it to hold the various PSTATE architectural bits
in the same format the architecture specifies for SPSR registers
(since this is the same format the kernel uses for signal handlers
and the KVM register). Add some structure to how we deal with it:
* document what env->pstate is
* add some #defines for various bits in it
* add helpers for reading/writing it taking account of caching
of NZCV, and use them where appropriate
* reset it on startup
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-3-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit b197ebd410f0298ec078c3048f9cfb9f6bfc3b3c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
target-arm/kvm: Split 32 bit only code into its own file
Split ARM KVM support code which is 32 bit specific out into its
own file, which we only compile on 32 bit hosts. This will give
us a place to add the 64 bit support code without adding lots of
ifdefs to kvm.c.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1385645602-18662-2-git-send-email-peter.maydell@xxxxxxxxxx
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
commit 387f980676aedcc67baddbf5fd1c9169f331f30b
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
ARM: arm_cpu_reset: make it possible to use high vectors for reset_exc
If hivecs are being used on reset, the CPU should come out of reset at
the hivecs reset vector (0xFFFF0000)
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
3afc69c4f58f60aa2bbee7b91574a4eb414b1c23.1387160489.git.peter.crosthwaite@xxxxxxxxxx
[ PC Changes:
* Fixed Grammar error in commit message
* Elaborated commit message.
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 68e0a40a5342e798a76ff4c9bf33837e30099ef7
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
ARM: cpu: add "reset_hivecs" property
Add an ARM CPU property for the reset value of hivecs as it is a
board/SoC configurable setting.
The existence of the property is conditional on the ARM CPU not being M
class.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
b04216c6bda4bd163f44a55bba552d0e8267481f.1387160489.git.peter.crosthwaite@xxxxxxxxxx
[ PC Changes:
* Elaborated commit message
* refactored to use qdev_property_add_static
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e2cddeeb97a47cd58384cfd86ae79c9bbe829255
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
arm/highbank.c: Fix MPCore periphbase name
GIC_BASE_ADDR is not the base address of the GIC. Its clear from the
code that this is the base address of the MPCore. Rename to
MPCORE_PERIPHBASE accordingly.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
90798bd3507205c16238b8b19a1a58c5437cf7ca.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c25771281ea17c2a09c86ac6a74672f2ec297f8d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:29 2013 +0000
arm/xilinx_zynq: Implement CBAR initialisation
Fix the CBAR initialisation by using the newly defined static property.
Zynq will now correctly init the CBAR to the SCU base address.
Needed to boot Linux on the xilinx_zynq machine model.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
8db7d57ebe5418fed397fcc86ea719f98446c178.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d8bbdcf8d6cb71735014dbd22baf274aea46066f
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
arm/xilinx_zynq: Use object_new() rather than cpu_arm_init()
To allow the machine model to set device properties before CPU
realization.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
e57658b4506b26ab6b6fadbe6d7827f669f51895.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c0f1ead985e024dd8d01bba650bc753083a2cc2a
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
arm/highbank: Fix CBAR initialisation
Fix the CBAR initialisation by using the newly defined static property.
CBAR is now set before realization, so the intended value is now
actually used.
So I have kind of tested this. I booted an ARM kernel on Highbank with
the stock Highbank DTB. It doesn't boot (and I will be doing something
wrong), but before this patch I got this:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at
/workspaces/pcrost/public/linux2.git/arch/arm/mm/ioremap.c:301
__arm_ioremap_pfn_caller+0x180/0x198()
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W
3.13.0-rc1-next-20131126-dirty #2
[<c0015164>] (unwind_backtrace) from [<c00118c0>] (show_stack+0x10/0x14)
[<c00118c0>] (show_stack) from [<c02bd5fc>] (dump_stack+0x78/0x90)
[<c02bd5fc>] (dump_stack) from [<c001f110>]
(warn_slowpath_common+0x68/0x84)
[<c001f110>] (warn_slowpath_common) from [<c001f1f4>]
(warn_slowpath_null+0x1c/0x24)
[<c001f1f4>] (warn_slowpath_null) from [<c0017c6c>]
(__arm_ioremap_pfn_caller+0x180/0x198)
[<c0017c6c>] (__arm_ioremap_pfn_caller) from [<c0017cd8>]
(__arm_ioremap_caller+0x54/0x5c)
[<c0017cd8>] (__arm_ioremap_caller) from [<c0017d10>]
(__arm_ioremap+0x18/0x1c)
[<c0017d10>] (__arm_ioremap) from [<c03913c0>]
(highbank_init_irq+0x34/0x8c)
[<c03913c0>] (highbank_init_irq) from [<c038c228>] (init_IRQ+0x28/0x2c)
[<c038c228>] (init_IRQ) from [<c03899ec>] (start_kernel+0x234/0x398)
[<c03899ec>] (start_kernel) from [<00008074>] (0x8074)
---[ end trace 3406ff24bd97382f ]---
Which disappears with this patch.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
fedec366aaa512d75093635f523d1dbcb3358361.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f282f29626b6ce65641fb5f8cb631aaade0e51c5
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
arm/highbank: Use object_new() rather than cpu_arm_init()
To allow the machine model to set device properties before CPU
realization.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
8c671e500390c8be0cc363e887e32867d1d1b0d2.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 07a5b0d21e450842e3474546366593a5893e8c61
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
target-arm/cpu: Convert reset CBAR to a property
The reset value of the CP15 CBAR is a vendor (machine) configurable
property. If ARM_FEATURE_CBAR is set, add it as a property at
post_init time.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2f1eec3f912135deea6252360e03645003d12e0a.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d8ba780b6a17020aadea479ad96ed9fe3bb10661
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:28 2013 +0000
target-arm: Define and use ARM_FEATURE_CBAR
Some processors (notably A9 within Highbank) define and use the
CP15 configuration base address (CBAR). This is vendor specific
so its best implemented as a CPU property (otherwise we would need
vendor specific child classes for every ARM implementation).
This patch prepares support for converting CBAR reset value to
a CPU property by moving the CP registration out of the CPU
init fn, as registration will need to happen at realize time
to pick up any property updates. The easiest way to do this
is via definition of a new ARM_FEATURE to flag the existence
of the register.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
9f697ef1e2ee60a3b9ef971a7f3bc3fa6752a9b7.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3671cd879a2666ca1d6e8820a319924be25d6746
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
target-arm/helper.c: Allow cp15.c15 dummy override
The cp15.c15 space is implementation defined. Currently there is a
dummy placeholder register RAZing it. Allow overriding of this RAZ
so implementations of specific registers can take precedence.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
ed1bacec56dae00cb398c798f8240e8e685f949c.1387160489.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0163a2dc80b52553a478fa6e60f09cef4b338d42
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
Fix NOR flash device ID reading
Fix NOR flash manufacturer and device ID reading. This now
properly takes into account device widths and device max widths
as required. The reading of these IDs uses the same max_width
dependent addressing as CFI queries.
The old code remains for chips that don't specify a device width,
as the new code relies on a device width being set in order to
properly operate. The existing code seems very broken.
Only ident0 and ident1 are used in the new code, as other fields
relate to the lock state of blocks in flash.
The VExpress flash configuration has been updated to match
the new code, as the existing definition was 'wrong' in order
to return the expected results with the broken device ID code.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-8-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4433e660e3ff19747d9ca7fd3873407ecfb276bf
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
Fix CFI query responses for NOR flash
This change fixes the CFI query responses to handle NOR device
widths that are different from the bank width. Support is also
added for multi-width devices in a x8 configuration. This is
typically x8/x16 devices, but the CFI specification mentions
x8/x32 devices so those should be supported as well if they
exist.
The query response data is now replicated per-device in the bank,
and is adjusted for x16 or x32 parts configured in x8 mode.
The existing code is left in place for boards that have not
been updated to specify an explicit device_width. The VExpress
board has been updated in an earlier patch in this series so
this is the only board currently affected.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-7-git-send-email-roy.franz@xxxxxxxxxx
[PMM: fixed a few formatting nits]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit fa21a7b13e97120c789eda1dbae87a9bcb1efe09
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:27 2013 +0000
Add max device width parameter for NOR devices
For handling CFI and device ID reads, we need to not only know the
width that a NOR flash device is configured for, but also its maximum
width. The maximum width addressing mode is used for multi-width
parts no matter which width they are configured for. The most common
case is x16 parts that also support x8 mode. When configured for x8
operation these devices respond to CFI and device ID requests differently
than native x8 NOR parts.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-6-git-send-email-roy.franz@xxxxxxxxxx
[PMM: Added comment explaining the semantics of width vs device-width
vs max-device-width]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit b8433303fbc5a4a694adb0f0aff5059442ae63e3
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
Set proper device-width for vexpress flash
Create vexpress specific pflash registration
function which properly configures the device-width
of 16 bits (2 bytes) for the NOR flash on the
vexpress platform. This change is required for
buffered flash writes to work properly.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-5-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 2003889f67755d47ab355c7813c587adb204eeea
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
return status for each NOR flash device
Now that we know how wide each flash device that makes up the bank is,
return status for each device in the bank. Leave existing code
that treats 32 bit wide banks as composed of two 16 bit devices as
otherwise
we may break configurations that do not set the device_width propery.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-4-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1997b48527c38fe8cdbbb3df82ed79aa3ee88b83
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
Add device-width property to pflash_cfi01
The width of the devices that make up the flash interface
is required to mask certain commands, in particular the
write length for buffered writes. This length will be presented
to each device on the interface by the program writing the flash,
and the flash emulation code needs to be able to determine
the length of the write as recieved by each flash device.
The device-width defaults to the bank width which should
maintain existing behavior for platforms that don't need
this change.
This change is required to support buffered writes on the
vexpress platform that has a 32 bit flash interface with 2
16 bit devices on it.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Message-id: 1386279359-32286-3-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4b6fedcac0f51157ef042cde80d5dc5d0c9ef8a4
Author: Roy Franz <roy.franz@xxxxxxxxxx>
Date: Tue Dec 17 19:42:26 2013 +0000
rename pflash_t member width to bank_width
Rename the 'width' member of the pflash_t structure
in preparation for adding a bank_width member.
Signed-off-by: Roy Franz <roy.franz@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386279359-32286-2-git-send-email-roy.franz@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 9d935509fdb48e47cc46e81d2b9d466b18b546ba
Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Date: Tue Dec 17 19:42:25 2013 +0000
target-arm: add support for v8 AES instructions
This adds support for the AESE/AESD/AESMC/AESIMC instructions that
are available on some v8 implementations of Aarch32.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Message-id: 1386266078-6976-1-git-send-email-ard.biesheuvel@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f46e720a82ccdf1a521cf459448f3f96ed895d43
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Thu Nov 28 18:12:59 2013 +0100
qemu_opts_parse(): always check return value
qemu_opts_parse() can always return NULL, even if the QemuOptsList.desc in
question would be trivial to satisfy (eg. because it's empty). For
example:
qemu_opts_parse()
opts_parse()
qemu_opts_create()
id_wellformed()
In practice:
$ .../qemu-system-x86_64 -acpitable id=3
qemu-system-x86_64: -acpitable id=3: Parameter 'id' expects an
identifier
**
ERROR:vl.c:3491:main: assertion failed: (opts != NULL)
Aborted (core dumped)
$ .../qemu-system-x86_64 -smbios id=3
qemu-system-x86_64: -smbios id=3: Parameter 'id' expects an identifier
Segmentation fault (core dumped)
I checked all qemu_opts_parse() invocations (and all drive_def()
invocations too, because it blindly forwards the former's retval). Only
the two above examples look problematic.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1385658779-7529-1-git-send-email-lersek@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b91f93243bbe36dc436a64a662a9bbfb2362534a
Merge: 80d6f5e 75c70e3
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 16 09:44:13 2013 -0800
Merge remote-tracking branch 'spice/tags/pull-spice-1' into staging
Collection of little cleanups anf bugfixes.
nbd patches in preparation of spice-nbd.
# gpg: Signature made Mon 16 Dec 2013 01:27:45 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Marc-André Lureau (12) and Gerd Hoffmann (4)
# Via Gerd Hoffmann
* spice/tags/pull-spice-1:
spice: stop server for qxl hard reset
spice: move spice_server_vm_{start,stop} calls into
qemu_spice_display_*()
spice: move qemu_spice_display_*() from spice-graphics to spice-core
nbd: avoid uninitialized warnings
nbd: finish any pending coroutine
nbd: make nbd_client_session_close() idempotent
nbd: pass export name as init argument
nbd: don't change socket block during negotiate
Split nbd block client code
spice-char: implement chardev port event
char: add qemu_chr_fe_event()
include: add missing config-host.h include
qmp_change_blockdev() remove unused has_format
spice-char: remove unused field
vscclient: do not add a socket watch if there is not data to send
spice: flip streaming video mode to off by default
commit 80d6f5eae79b009bf3e02e59e9e225db42ddf887
Merge: e157b8f c547e56
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Dec 16 09:43:27 2013 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches
# gpg: Signature made Fri 13 Dec 2013 09:47:03 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
# By Peter Lieven (2) and others
# Via Kevin Wolf
* kwolf/tags/for-anthony:
blkdebug: Use QLIST_FOREACH_SAFE to resume IO
qemu-img: make progress output more accurate during convert
block: expect get_block_status errors in bdrv_make_zero
block/vvfat: Fix compiler warnings for OpenBSD
qapi-schema.json: Change 1.8 reference to 2.0
sheepdog: check if '-o redundancy' is passed from user
Message-id: 1386956943-19474-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8b9dfe9098d91e06a3dd6376624307fe5fa13be8
Author: Peter Lieven <pl@xxxxxxx>
Date: Sat Dec 14 17:31:40 2013 +0100
block/iscsi: use a bh to schedule co reentrance
this fixes a potential segfault and performance regression.
If the coroutine is reentered directly in the iscsi_co_generic_cb
iscsi_process_{read,write} are interrupted and reentered any
time later. One the one hand this could happen after an iscsi_close
where the iscsi context is already gone (segfault). On the
other hand this limits the number of processed callbacks
in each aio_dispatch to one (potential performance regression).
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 75c70e37bc4a6bdc394b4d1b163fe730abb82c72
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 9 16:03:49 2013 +0100
spice: stop server for qxl hard reset
Hard reset can happen at any time. We should be able to put qxl into a
known-good state no matter what. Stop spice server thread for reset so
it can't be confused by fetching stale commands lingering around in the
rings while we reset is ongoing.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b50f3e42b9438e033074222671c0502ecfeba82c
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 9 16:00:15 2013 +0100
spice: move spice_server_vm_{start,stop} calls into qemu_spice_display_*()
So calling spice server to start/stop the worker goes
hand in hand with the status variable update.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7cc6a25fe94b430cb5a041bcb19d7d854b4e99a7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 9 15:54:46 2013 +0100
spice: move qemu_spice_display_*() from spice-graphics to spice-core
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b1b27b64262fdace45e5ab134c4438338076cb98
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:46 2013 +0100
nbd: avoid uninitialized warnings
==15815== Thread 1:
==15815== Syscall param socketcall.sendto(msg) points to uninitialised
byte(s)
==15815== at 0x65AD5CB: send (send.c:31)
==15815== by 0x37F84B: nbd_wr_sync (nbd.c:145)
==15815== by 0x37F94B: write_sync (nbd.c:186)
==15815== by 0x380FA9: nbd_send_request (nbd.c:681)
==15815== by 0x1C4A2D: nbd_teardown_connection (nbd-client.c:337)
==15815== by 0x1C4AD8: nbd_client_session_close (nbd-client.c:354)
==15815== by 0x1ED2D8: close_socketpair (spicebd.c:132)
==15815== by 0x1EE265: spice_close (spicebd.c:457)
==15815== by 0x1ACBF6: bdrv_close (block.c:1519)
==15815== by 0x1AD804: bdrv_delete (block.c:1772)
==15815== by 0x1B4136: bdrv_unref (block.c:4476)
==15815== by 0x1ACCE0: bdrv_close (block.c:1541)
==15815== Address 0x7feffef98 is on thread 1's stack
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 69152c09d337a8e1368e65bcd5a598def6c3079f
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:45 2013 +0100
nbd: finish any pending coroutine
Make sure all pending coroutines are finished when closing the session.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5ad283ebb82c007f49535907874213cdb05c307a
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:44 2013 +0100
nbd: make nbd_client_session_close() idempotent
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e2bc625f9bbb3a5d3ef2cb0f14dd52b517b92ffd
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:43 2013 +0100
nbd: pass export name as init argument
There is no need to keep the export name around, and it seems a better
fit as an argument in the init() call.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e53a18e488c657bbc6f218ae60de8e813a912667
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:42 2013 +0100
nbd: don't change socket block during negotiate
The caller might handle non-blocking using coroutine. Leave the choice
to the caller to use a blocking or non-blocking negotiate.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2302c1cafb13df23938b098d9c6595de52ec2577
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:41 2013 +0100
Split nbd block client code
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit be733d6d484cd6a9e27a43a3f426688124fd0652
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:40 2013 +0100
spice-char: implement chardev port event
Wire up chardev fe_event to Spice port.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d61b0c9a2f7f39cc30cbd713e0798a23a51340e7
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:39 2013 +0100
char: add qemu_chr_fe_event()
Teach the chardev frontend to send event. This is used by the Spice port
chardev currently.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f7d48052644f3307748f47062728bb3e5f051ffe
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:38 2013 +0100
include: add missing config-host.h include
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 314f7ea74f0c36e3291c4c6d58816da83a232fc2
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:37 2013 +0100
qmp_change_blockdev() remove unused has_format
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d8a03a09524c141325f3469cc5c393f7eae3c9cf
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:36 2013 +0100
spice-char: remove unused field
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit fa88afa51c7db927b3dd6c2f7878c23e53441de6
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Date: Sun Dec 1 22:23:35 2013 +0100
vscclient: do not add a socket watch if there is not data to send
Fixes the following error:
** (process:780): CRITICAL **: do_socket_send: assertion
`socket_to_send->len != 0' failed
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1d3e586f069e17f83b669842bc02d60d509daca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 11:17:04 2013 +0100
spice: flip streaming video mode to off by default
Video streaming detection heuristics in spice-server have problems
keeping modern desktop animations (as done by gnome shell) and real
video playback apart. This leads to jpeg compression artefacts on
your desktop, due to spice using mjpeg to send what it thinks is
a video stream.
Turn off video detection by default to avoid these artifacts.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Alon Levy <alevy@xxxxxxxxxx>
commit e157b8fdd412d48eacfbb8c67d3d58780154faa3
Merge: 5d0e228 306ec6c
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 13 11:10:33 2013 -0800
Merge remote-tracking branch 'bonzini/virtio' into staging
# By Andreas Färber (18) and Paolo Bonzini (12)
# Via Paolo Bonzini
* bonzini/virtio: (30 commits)
virtio: Convert exit to unrealize
virtio: Complete converting VirtioDevice to QOM realize
virtio-scsi: Convert to QOM realize
virtio-rng: Convert to QOM realize
virtio-balloon: Convert to QOM realize
virtio-net: Convert to QOM realize
virtio-serial: Convert to QOM realize
virtio-blk: Convert to QOM realize
virtio-9p: Convert to QOM realize
virtio: Start converting VirtioDevice to QOM realize
virtio-scsi: QOM realize preparations
virtio-rng: QOM realize preparations
virtio-balloon: QOM realize preparations
virtio-net: QOM realize preparations
virtio-serial: QOM realize preparations
virtio-blk: QOM realize preparations
virtio-9p: QOM realize preparations
virtio-blk-dataplane: Improve error reporting
virtio-pci: add device_unplugged callback
virtio-rng: switch exit callback to VirtioDeviceClass
...
commit 5d0e2280cc344f1b939acff431ed2731a9ee7db5
Merge: bf6e3cc 5111610
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 13 11:10:19 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
acpi.pci,pc,memory core fixes
Most notably this includes changes to exec to support
full 64 bit addresses.
This also flushes out patches that got queued during 1.7 freeze.
There are new tests, and a bunch of bug fixes all over the place.
There are also some changes mostly useful for downstreams.
I'm also listing myself as pc co-maintainer. I'm doing this reluctantly,
but this seems to be necessary to make sure patches are not lost or
delayed too
much, and posting the MAINTAINERS patch did not seem to make anyone else
volunteer.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Wed 11 Dec 2013 10:21:51 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (14) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony: (28 commits)
pc: use macro for HPET type
hpet: fix build with CONFIG_HPET off
acpi unit-test: adjust the test data structure for better handling
acpi unit-test: load and check facs table
exec: separate sections and nodes per address space
memory.c: bugfix - ref counting mismatch in memory_region_find
hpet: enable to entitle more irq pins for hpet
hpet: inverse polarity when pin above ISA_NUM_IRQS
pci: fix pci bridge fw path
ACPI DSDT: Make control method `IQCR` serialized
acpi: strip compiler info in built-in DSDT
acpi unit-test: verify signature and checksum
smbios: Set system manufacturer, product & version by default
exec: reduce L2_PAGE_SIZE
exec: make address spaces 64-bit wide
exec: memory radix tree page level compression
exec: pass hw address to phys_page_find
exec: extend skip field to 6 bit, page entry to 32 bit
exec: replace leaf with skip
split definitions for exec.c and translate-all.c radix trees
...
Message-id: cover.1386786228.git.mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit bf6e3cc4fadaa6884dd1e561215f5d93cfe4f5f3
Merge: 47acdd6 2fe3798
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 13 11:10:02 2013 -0800
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Paolo Bonzini (4) and Peter Lieven (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
help: add id suboption to -iscsi
scsi-disk: fix WRITE SAME with large non-zero payload
block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk}
scsi-disk: fix VERIFY emulation
scsi-bus: fix transfer length and direction for VERIFY command
Message-id: 1386594157-17535-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c547e5640d5b0993cdfb252331065c1a1d813bd8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Dec 13 15:25:12 2013 +0800
blkdebug: Use QLIST_FOREACH_SAFE to resume IO
Qemu-iotest 030 was broken.
When the coroutine runs and finishes, it will remove itself from the req
list, so let's use safe version of foreach to avoid use after free.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 802c3d4ccc9853ee11c742bc206f284f04259426
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 5 15:54:53 2013 +0100
qemu-img: make progress output more accurate during convert
the progress output is very bumpy if the input images contains
a significant portion of unallocated sectors. This patch
checks how much sectors are allocated a priori if progress
output is selected.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3d94ce60ae7ad7c31dc143fdd9da95c61b4e529e
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 12 13:57:05 2013 +0100
block: expect get_block_status errors in bdrv_make_zero
during testing around with 4k LUNs a bad target implementation
triggert an -EIO in iscsi_get_block_status, but it got never caught
resulting in an infinite loop.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f671d173c7e1da555b693e8b14f3ed0852601809
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Dec 11 21:37:11 2013 +0100
block/vvfat: Fix compiler warnings for OpenBSD
The buildbot shows these compiler warnings:
block/vvfat.c: In function 'create_short_and_long_name':
block/vvfat.c:620: warning: array size (8) smaller than bound length (11)
block/vvfat.c:620: warning: array size (8) smaller than bound length (11)
block/vvfat.c:635: warning: array size (8) smaller than bound length (11)
block/vvfat.c:635: warning: array size (8) smaller than bound length (11)
They are caused by tricky code where 8 characters for the name are
followed
by 3 characters for the extension, and some operations touch both name and
extension.
Using an 11 character name which includes the extension fixes the compiler
warning, satisfies cppcheck, valgrind and maybe other static and dynamic
code checkers, and even simplifies some parts of the code.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 01443e1388971999514511a26f9d36a7cdaa2cc2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Dec 10 14:01:27 2013 +0100
qapi-schema.json: Change 1.8 reference to 2.0
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a3120deee5fc1d702ba5da98fd9c845ad1c8f301
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Mon Dec 9 00:11:20 2013 +0800
sheepdog: check if '-o redundancy' is passed from user
This fix a segfault (that is caused by b3af018f3) of following command:
$ qemu-img convert some_img sheepdog:some_img
Cc: qemu-devel@xxxxxxxxxx
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 a94b36ddd6af28593c8a5171b5100e6c3dfc063e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Dec 12 10:29:19 2013 +0100
roms: Flush icache when writing roms to guest memory
We use the rom infrastructure to write firmware and/or initial kernel
blobs into guest address space. So we're basically emulating the cache
off phase on very early system bootup.
That phase is usually responsible for clearing the instruction cache for
anything it writes into cachable memory, to ensure that after reboot we
don't happen to execute stale bits from the instruction cache.
So we need to invalidate the icache every time we write a rom into guest
address space. We do not need to do this for every DMA since the guest
expects it has to flush the icache manually in that case.
This fixes random reboot issues on e5500 (booke ppc) for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 47acdd63a33a5966bf4fc94a6ac835d72a70c555
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Dec 10 15:40:21 2013 -0800
target-microblaze: Use the new qemu_ld/st opcodes
The ability of the new opcodes to byte-swap the memory operation
simplifies the code in and around dec_load and dec_store significantly.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 0522604b09b8cff54ba2450a7478da2a4d084817
Author: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
Date: Fri Dec 6 17:33:01 2013 +0900
target-i386: clear guest TSC on reset
VCPU TSC is not cleared by a warm reset (*), which leaves some types of
Linux
guests (non-pvops guests and those with the kernel parameter no-kvmclock
set)
vulnerable to the overflow in cyc2ns_offset fixed by upstream commit
9993bc635d01a6ee7f6b833b4ee65ce7c06350b1 ("sched/x86: Fix overflow in
cyc2ns_offset").
To put it in a nutshell, if such a Linux guest without the patch above
applied
has been up more than 208 days and attempts a warm reset chances are that
the newly booted kernel will panic or hang.
(*) Intel Xeon E5 processors show the same broken behavior due to
the errata "TSC is Not Affected by Warm Reset" (Intel® Xeon®
Processor E5 Family Specification Update - August 2013): "The
TSC (Time Stamp Counter MSR 10H) should be cleared on
reset. Due to this erratum the TSC is not affected by warm
reset."
Cc: Will Auld <will.auld@xxxxxxxxx>
Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
commit f86746c263753cf7a7e4bdb8829c70272dfcf36c
Author: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
Date: Fri Dec 6 17:38:24 2013 +0900
target-i386: do not special case TSC writeback
Newer kernels are capable of synchronizing TSC values of multiple VCPUs
on writeback, but we were excluding the power up case, which is not needed
anymore.
Signed-off-by: Fernando Luis Vazquez Cao <fernando@xxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fernando Luis Vázquez Cao <fernando_b1@xxxxxxxxxxxxx>
commit 79e9ebebbf2a00c46fcedb6dc7dd5e12bbd30216
Author: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Date: Thu Dec 5 08:32:12 2013 +0800
target-i386: Intel MPX
Add some MPX related definiation, and hardcode sizes and offsets
of xsave features 3 and 4. It also add corresponding part to
kvm_get/put_xsave, and vmstate.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 511161027a0ecab6e12107128adeb8a884c5bcbe
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 11 02:48:49 2013 +0200
pc: use macro for HPET type
avoid hard-coding strings
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 142e0950cfaf023a81112dc3cdfa799d769886a4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Dec 11 02:47:16 2013 +0200
hpet: fix build with CONFIG_HPET off
make hpet_find inline so we don't need
to build hpet.c to check if hpet is enabled.
Fixes link error with CONFIG_HPET off.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8ac2adf79a06372fe2c50ddac64cfffb93dbfeb8
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Nov 21 21:33:22 2013 +0200
acpi unit-test: adjust the test data structure for better handling
Ensure more then one instance of test_data may exist
at a given time. It will help to compare different
acpi table versions.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 15650602195be9f2957818318457c5d5096ff4c2
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Thu Nov 21 21:33:21 2013 +0200
acpi unit-test: load and check facs table
FACS table does not have a checksum, so we can
check at least the signature (existence).
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53cb28cbfea038f8ad50132dc8a684e638c7d48b
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Dec 1 14:02:23 2013 +0200
exec: separate sections and nodes per address space
Every address space has its own nodes and sections, but
it uses the same global arrays of nodes/section.
This limits the number of devices that can be attached
to the guest to 20-30 devices. It happens because:
- The sections array is limited to 2^12 entries.
- The main memory has at least 100 sections.
- Each device address space is actually an alias to
main memory, multiplying its number of nodes/sections.
Remove the limitation by using separate arrays of
nodes and sections for each address space.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6307d974f9a28bb6652352f52da97f820427d29d
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Dec 2 16:20:59 2013 +0200
memory.c: bugfix - ref counting mismatch in memory_region_find
'address_space_get_flatview' gets a reference to a FlatView.
If the flatview lookup fails, the code returns without
"unreferencing" the view.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7a10ef51c2397ac4323bc786af02c58b413b5cd2
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Dec 8 17:38:17 2013 +0800
hpet: enable to entitle more irq pins for hpet
Owning to some different hardware design, piix and q35 need
different compat. So making them diverge.
On q35, IRQ2/8 can be reserved for hpet timer 0/1. And pin 16~23
can be assigned to hpet as guest chooses. So we introduce intcap
property to do that.
Consider the compat and piix/q35, we finally have the following
value for intcap: For piix, hpet's intcap is hard coded as IRQ2.
For pc-q35-1.7 and earlier, we use IRQ2 for compat reason. Otherwise
IRQ2, IRQ8, and IRQ16~23 are allowed.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 0d63b2dd31464cfccc80bbeedc24e3863fe4c895
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Dec 8 17:38:16 2013 +0800
hpet: inverse polarity when pin above ISA_NUM_IRQS
According to hpet spec, hpet irq is high active. But according to
ICH spec, there is inversion before the input of ioapic. So the OS
will expect low active on this IRQ line. (On bare metal, if OS driver
claims high active on this line, spurious irq is generated)
We fold the emulation of this inversion inside the hpet logic.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c41425d2e79f267b2236da31abedb866777d92f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Dec 6 12:24:40 2013 +0100
pci: fix pci bridge fw path
qemu uses "pci" as name for pci bridges in the firmware device path.
seabios expects "pci-bridge". Result is that bootorder is broken for
devices behind pci bridges.
Some googling suggests that "pci-bridge" is the correct one. At least
PPC-based Apple machines are using this. See question "How do I boot
from a device attached to a PCI card" here:
http://www.netbsd.org/ports/macppc/faq.html
So lets change qemu to use "pci-bridge" too.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6747f6456fd1e5e986b6385ff5d706c79ebd8a32
Merge: b9aad5d 0ec9eab
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:14:36 2013 -0800
Merge remote-tracking branch 'rth/tcg-temp-order' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-temp-order:
tcg: Use bitmaps for free temporaries
Message-id: 1386698065-6661-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b9aad5d68d0fa636d1a1edbbeffa0d7a80370711
Merge: 1ead3ed 02d38fc
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:14:20 2013 -0800
Merge remote-tracking branch 'stefanha/net-next' into staging
# By Vincenzo Maffione (2) and others
# Via Stefan Hajnoczi
* stefanha/net-next:
net: Update netdev peer on link change
virtio-net: don't update mac_table in error state
MAINTAINERS: Add netmap maintainers
net: Adding netmap network backend
Message-id: 1386594692-21278-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1ead3ed55584a62a12d840a71d3aab71f12ec42e
Merge: b5527da 74f1c6d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:13:32 2013 -0800
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20131210'
into staging
target-arm queue:
* support REFCNT register on integrator/cp board
* implement the A9MP's global timer
* add the 'virt' platform
* support '-cpu host' on KVM/ARM
* Cadence GEM ethernet device bugfixes
* Implement 32-bit ARMv8 VSEL, VMAXNM, VMINNM
* fix TTBCR write masking
* update 32 bit decoder to use new qemu_ld/st TCG opcodes
# gpg: Signature made Tue 10 Dec 2013 06:22:01 AM PST using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Crosthwaite (16) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20131210: (37 commits)
target-arm: fix TTBCR write masking
target-arm: Use new qemu_ld/st opcodes
target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.
target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.
softfloat: Add minNum() and maxNum() functions to softfloat.
softfloat: Remove unused argument from MINMAX macro.
target-arm: Implement ARMv8 VSEL instruction.
target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.
net/cadence_gem: Don't rx packets when no rx buffer available
net/cadence_gem: Improve can_receive debug printfery
net/cadence_gem: Fix register w1c logic
net/cadence_gem: Fix small packet FCS stripping
net/cadence_gem: Fix rx multi-fragment packets
net/cadence_gem: Add missing VMSTATE_END_OF_LIST
net/cadence_gem: Implement SAR (de)activation
net/cadence_gem: Implement SAR match bit in rx desc
net/cadence_gem: Implement RX descriptor match mode flags
net/cadence_gem: Prefetch rx descriptors ASAP
net/cadence_gem: simplify rx buf descriptor walking
net/cadence_gem: Don't assert against 0 buffer address
...
Message-id: 1386686613-2390-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b5527dad7dba7d85520aaec787fb6fb14be1c366
Merge: 75c4ce8 d58ce68
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:11:21 2013 -0800
Merge remote-tracking branch 'kraxel/tags/pull-audio-1' into staging
Change audio wakeup rate from 250 Hz to 100 Hz.
Emulation bugfixes for intel-hda and adlib.
# gpg: Signature made Mon 09 Dec 2013 06:04:16 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Gerd Hoffmann (2) and others
# Via Gerd Hoffmann
* kraxel/tags/pull-audio-1:
intel-hda: fix position buffer
adlib: fix patching of port I/O addresses
audio: adjust pulse to 100Hz wakeup rate
audio: Lower default wakeup rate to 100 times / second
Message-id: 1386597974-26506-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 75c4ce824ffd04a59f0af270f823fd5f1a59bd1a
Merge: 45506cc 5ad04fb
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:11:10 2013 -0800
Merge remote-tracking branch 'alon/libcacard_ccid.4' into staging
# By Stefan Weil
# Via Alon Levy
* alon/libcacard_ccid.4:
libcacard: Fix compilation for older versions of glib (bug #1258168)
Message-id: 1386596263-26151-1-git-send-email-alevy@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 45506cc2be6834196ac2773ec4267ca6780f17a1
Merge: 8f84271 b1829cd
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Dec 10 16:09:34 2013 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil
# Via Michael Tokarev
* mjt/trivial-patches:
qxl: Add missing trace.h (fix broken build)
Message-id: 1386441094-9971-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ec9eabc7f6020418e1f3b3273d1dd701f7f87f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 19 12:16:45 2013 -0700
tcg: Use bitmaps for free temporaries
We previously allocated 32-bits per temp for the next_free_temp entry.
We now allocate 4 bits per temp across the 4 bitmaps.
Using a linked list meant that if a translator is tweeked, resulting in
temps being freed in a different order, that would have follow-on effects
throughout the TB. Always allocating the lowest free temp means that
follow-on effects are minimized, which can make it easier to diff output
when debugging the translators.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 74f1c6ddec8dc7566d9b75574bb006214cc7d3b4
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Tue Dec 10 10:41:49 2013 +0400
target-arm: fix TTBCR write masking
Current implementation is not accurate according to ARMv7-AR reference
manual. See "B4.1.153 TTBCR, Translation Table Base Control Register,
VMSA | TTBCR format when using the Long-descriptor translation table
format". When LPAE feature is supported, EAE, bit[31] selects
translation descriptor format and, therefore, TTBCR format.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386657709-23399-1-git-send-email-s.fedorov@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 09f7813522238555b77ec2b9f2d3bc20d6e3c796
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Dec 9 14:37:06 2013 -0800
target-arm: Use new qemu_ld/st opcodes
Retain the existing gen_aa32_* inlines, to aid compilation for A64.
Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1386628626-21627-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 505935fc766e84b58af6e4c3c4233ed0a29b1288
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:42 2013 +0000
target-arm: Implement ARMv8 SIMD VMAXNM and VMINNM instructions.
This adds support for the ARMv8 Advanced SIMD VMAXNM and VMINNM
instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Message-id: 1386158099-9239-7-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 40cfacdd806b68706b10ceeeca6d0eea417d1a75
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:41 2013 +0000
target-arm: Implement ARMv8 FP VMAXNM and VMINNM instructions.
This adds support for the ARMv8 floating point VMAXNM and VMINNM
instructions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-6-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e17ab310e98c55bd5cb8026c1086f9d19d181d3d
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:41 2013 +0000
softfloat: Add minNum() and maxNum() functions to softfloat.
Add floatnn_minnum() and floatnn_maxnum() functions which are equivalent
to the minNum() and maxNum() functions from IEEE 754-2008. They are
similar to min() and max() but differ in the handling of QNaN arguments.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Message-id: 1386158099-9239-5-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e70614eaa0b8c6a2c948efa3ad71e75cd1f8ff8a
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:41 2013 +0000
softfloat: Remove unused argument from MINMAX macro.
The nan_exp argument is not used, so remove it.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-4-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 04731fb5f3825409fd5ad64dbc0b1dfe7e7fb82f
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:40 2013 +0000
target-arm: Implement ARMv8 VSEL instruction.
This adds support for the VSEL floating point selection instruction
which was added in ARMv8.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-3-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6a57f3ebba2dbe4a398319cec4df62cbcf3c5b8d
Author: Will Newton <will.newton@xxxxxxxxxx>
Date: Fri Dec 6 17:01:40 2013 +0000
target-arm: Move call to disas_vfp_insn out of disas_coproc_insn.
Floating point is an extension to the instruction set rather than
a coprocessor, so call it directly from the ARM and Thumb decode
functions.
Signed-off-by: Will Newton <will.newton@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1386158099-9239-2-git-send-email-will.newton@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8202aa539135a44906c38f82a469234ec65e0ef7
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:02:03 2013 -0800
net/cadence_gem: Don't rx packets when no rx buffer available
Return false from can_receive() when no valid buffer descriptor is
available. Ensures against mass packet droppage in some applications.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
cde00ef774e84e2586bf10fd37b542f75bf36cfb.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3ae5725f86a82751cccf6bc075e5ebfb327ac283
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:01:28 2013 -0800
net/cadence_gem: Improve can_receive debug printfery
Currently this just floods indicating that can_receive has been called
by the net framework. Instead, save the result of the most recent
can_receive callback as state and only print a message if the result
changes (indicating some sort of actual state change in GEM). Make said
debug message more meaningful as well.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2eb74ca6a5756aea242d9f525961db95d6cfcf2c.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e2314fda62c42c89f91dcf104ed3702170a90308
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:00:54 2013 -0800
net/cadence_gem: Fix register w1c logic
This write-1-clear logic was incorrect. It was always clearing w1c
bits regardless of whether the written value was 1 or not. i.e. it
was implementing a write-anything-to-clear strategy.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
ed905b04d3343966ded425f06aa2224bc7a35b59.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 191946c51f28e6ac76e94c7379d5e0f69c016e83
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 22:00:17 2013 -0800
net/cadence_gem: Fix small packet FCS stripping
The minimum packet size is 64, however this is before FCS stripping
occurs. So when FCS stripping the minimum packet size is 60. Fix.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
8aac5bd737f9cf48b87f32943d7eb5939061e546.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 305706980267dae191d0fca2c769d7a31011be14
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:59:43 2013 -0800
net/cadence_gem: Fix rx multi-fragment packets
Bytes_to_copy was being updated before its final use where it
advances the rx buffer pointer. This was causing total mayhem,
where packet data for any subsequent fragments was being fetched
from the wrong place.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
c2a1c65c1fd06eb274442a0fa4a6839d940e145e.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 17cf2c76b684b679cb25fcb4a36d536ba9944d4d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:59:08 2013 -0800
net/cadence_gem: Add missing VMSTATE_END_OF_LIST
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
8f8c2bfb15f40fb5f0d5766aa4cd3d54c596de6a.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 64eb9301769c97c7fd340e4e7ef98edcd500ebff
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:58:34 2013 -0800
net/cadence_gem: Implement SAR (de)activation
The Specific address registers can be enabled or disabled by software.
QEMU was assuming they were always enabled. Implement the
disable/enable feature. SARs are disabled by writing to the lower half
register. They are re-enabled by then writing the upper half.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
49efd1f7450af8f980b967d3054245bae137866c.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit a03f742983f9b6ed03913b30005b6f053290d285
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:57:59 2013 -0800
net/cadence_gem: Implement SAR match bit in rx desc
Bit 27 of the RX buffer desc word 1 should be set when the packet was
accepted due to specific address register match. Implement.
This feature is absent from the Xilinx documentation (UG585) but the
behaviour is tested as accurate on real hardware.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
7e3f26fc4ab244e8123efc12723e7164730abdcb.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 63af1e0cff8879a3ddd1b08abb3172b49fb88c88
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:57:24 2013 -0800
net/cadence_gem: Implement RX descriptor match mode flags
The various Rx packet address matching mode flags were not being set in
the rx descriptor. Implement.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
6002a24a6a8ceaa11d3009ab5392840d1c084b28.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 06c2fe951d58cdf2cafb432a76415236c8f73328
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:56:50 2013 -0800
net/cadence_gem: Prefetch rx descriptors ASAP
The real hardware prefetches rx buffer descriptors ASAP and
potentially throws relevant interrupts following the fetch
even in the absence of a received packet.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
41629e35edfdb1f02f1e401f2c3d0e2e4c9e44b3.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 7cfd65e41c51cd8a55730524af750638cd416f95
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:56:15 2013 -0800
net/cadence_gem: simplify rx buf descriptor walking
There was a replication of the rx descriptor address walking logic.
Reorder the flow control to remove. This refactoring also obsoletes
the local variables packet_desc_addr and last_desc_addr.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
2a425b457ff0b57274bf206ad2236690cd7f5909.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 11785f5352d45c6ef3efe3349ade42387ccebd5d
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:55:40 2013 -0800
net/cadence_gem: Don't assert against 0 buffer address
This has no real hardware analog and asserting correctness of DMA
addresses is not a perhiperal level problem. Delete.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id:
fc02417eb1874cb05e4f20531c6203c5a00110f1.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3b2c97f9916e15ef630e3f8449b1b10902bf9407
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Date: Tue Dec 3 21:55:05 2013 -0800
net/cadence_gem: Update DMA rx descriptors as we process them
We were updating the ownership bit of all descriptors if packets
get split and written through several descriptors.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
d61b7847b51487118783c93765a485bc5c66d272.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 24e822ea4669145c94552cef67751fbd9a42b4c8
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 3 21:54:30 2013 -0800
net/cadence_gem: Implement mac level loopback mode
Cadence GEM has a MAC level loopback mode. Implement. Use the same basic
operation as the already implemented PHY loopback.
Reported-by: Deepika Dhamija <deepika@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
3a0baf1b6b2fc1be638bdf1a37408ec38988e970.1386136219.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 198aa06459ba6c0e689ed0f61b59ebe8aa9f9287
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:18 2013 +0000
hw/arm/virt: Support -cpu host
Support -cpu host in virt machine (treating it like an A15, ie
with a GIC v2 and the A15's private peripherals.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-12-git-send-email-peter.maydell@xxxxxxxxxx
commit a96c0514ab7d74ecb04677d3dc599facafa44e5b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:17 2013 +0000
target-arm: Provide '-cpu host' when running KVM
Implement '-cpu host' for ARM when we're using KVM, broadly
in line with other KVM-supporting architectures.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-11-git-send-email-peter.maydell@xxxxxxxxxx
commit 3541addc888413b84fb309e3f4abf210c0c5eb57
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:16 2013 +0000
target-arm: Don't hardcode KVM target CPU to be A15
Instead of assuming that a KVM target CPU must always be a
Cortex-A15 and hardcoding this in kvm_arch_init_vcpu(),
store the KVM_ARM_TARGET_* value in the ARMCPU class,
and use that.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-10-git-send-email-peter.maydell@xxxxxxxxxx
commit f5fdcd6e58ec35b4463569694fc15d28c505c4d0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:14 2013 +0000
hw/arm: Add 'virt' platform
Add 'virt' platform support corresponding to arch/arm/mach-virt
in the Linux kernel tree. This has no platform-specific code but
can use any device whose kernel driver is is able to work purely
from a device tree node. We use this to instantiate a minimal
set of devices: a GIC and some virtio-mmio transports.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-8-git-send-email-peter.maydell@xxxxxxxxxx
[PMM:
Significantly overhauled:
* renamed user-facing machine to just "virt"
* removed the A9 support (it can't work since the A9 has no
generic timers)
* added virtio-mmio transports instead of random set of 'soc' devices
(though we retain a pl011 UART)
* instead of updating io_base as we step through adding devices,
define a memory map with an array (similar to vexpress)
* similarly, define irqmap with an array
* folded in some minor fixes from John's aarch64-support patch
* rather than explicitly doing endian-swapping on FDT cells,
use fdt APIs that let us just pass in host-endian values
and let the fdt layer take care of the swapping
* miscellaneous minor code cleanups and style fixes
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 5de164304ad6473c812f24a29fda33a2d1b2bf45
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:13 2013 +0000
target-arm: Allow secondary KVM CPUs to be booted via PSCI
New ARM boards are generally expected to boot their secondary CPUs
via the PSCI interface, rather than ad-hoc "loop around in holding
pen code" as hw/arm/boot.c implements. In particular this is
necessary for mach-virt kernels. For KVM we achieve this by creating
the VCPUs with a feature flag marking them as starting in PSCI
powered-down state; the guest kernel will then make a PSCI call
(implemented in the host kernel) to start the secondaries at
an address of its choosing once it has got the primary CPU up.
Implement this setting of the feature flag, controlled by a
qdev property for ARMCPU, which board code can set if it is a
PSCI system.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 54d3e3f52e5d540766af35f99fe0fa415c40cac2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:12 2013 +0000
target-arm: Add ARMCPU field for Linux device-tree 'compatible' string
Linux requires device tree CPU nodes to include a 'compatible'
string describing the CPU. Add a field in the ARMCPU struct for
this so that boards which construct a device tree can insert
the correct CPU nodes.
Note that there is currently no officially specified 'compatible'
string for the TI925T, Cortex-M3 or SA1110 CPUs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-6-git-send-email-peter.maydell@xxxxxxxxxx
commit a22ec1e6825c7a00d25648027d08d4a332c29c84
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:11 2013 +0000
target-arm: Provide PSCI constants to generic QEMU code
Provide versions of the KVM PSCI constants to non-KVM code;
this will allow us to avoid an ifdef in boards which set up
a PSCI node in the device tree.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 0fb79851c3dffa06de648d955ee2f2b47bfb96ce
Author: John Rigby <john.rigby@xxxxxxxxxx>
Date: Fri Nov 22 17:17:10 2013 +0000
hw/arm/boot: Allow boards to provide an fdt blob
If no fdt is provided on command line and the new field
get_dtb in struct arm_boot_info is set then call it to
get a device tree blob.
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-4-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: minor tweaks and cleanup]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit ef6de70ea811d66ebb6b9b6046e304f588e754bb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:09 2013 +0000
device_tree.c: Terminate the empty reservemap in create_device_tree()
Device trees created with create_device_tree() may not have any
entries in their reservemap, because the FDT API requires that the
reservemap is completed before any FDT nodes are added, and
create_device_tree() itself creates a node. However we were not
calling fdt_finish_reservemap(), which meant that there was no
terminator in the reservemap list and whatever happened to be at the
start of the FDT data section would end up being interpreted as
reservemap entries. Avoid this by calling fdt_finish_reservemap()
to add the terminator.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Message-id: 1385140638-10444-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 72b0cd35ad3e216a1db7f6a08a2ff65bb577c119
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Nov 22 17:17:08 2013 +0000
target-arm: Provide mechanism for getting KVM constants even if not
CONFIG_KVM
There are a number of places where it would be convenient for ARM
code to have working definitions of KVM constants even in code
which is compiled with CONFIG_KVM not set. In this situation we
can't simply include the kernel KVM headers (which might conflict
with host header definitions or not even compile on the compiler
we're using) so we have to redefine equivalent constants.
Provide a mechanism for doing this and checking that the values
match, and use it for the constants we're currently exposing
via an ad-hoc mechanism.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Message-id: 1385140638-10444-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 57e72f2a1977448959fe4a492bc48cd2988c1f3b
Author: François LEGAL <devel@xxxxxxxxxxxxxx>
Date: Sun Dec 1 23:37:11 2013 -0800
cpu/a9mpcore: Add Global Timer
Add the global timer to A9 MPCore.
Signed-off-by: François LEGAL <devel@xxxxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
ff92f35f438ac671b57d99d823723dd3e62d2c49.1385969450.git.peter.crosthwaite@xxxxxxxxxx
[PC Changes:
* new commit message
* split off original version as a separate patch
* Rebased against new mpcore implementation (with struct embedding)
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c21c3b53e122a807ae4f5443b7f74f3850f21e37
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
hw/timer: Introduce ARM A9 Global Timer.
The ARM A9 MPCore has a timer that is global to all cores in the cluster.
The timer is shared but each core has a private independent comparator
and interrupt.
Based on version contributed by Francois LEGAL.
Signed-off-by: François LEGAL <devel@xxxxxxxxxxxxxx>
Message-id:
4918e89476b8da916be2964ec41578b50d569a37.1385969450.git.peter.crosthwaite@xxxxxxxxxx
[PC changes:
* New commit message
* Re-implemented as single timer model
* Fixed backwards counting issue in polled mode
* completed VMSD fields
* macroified magic numbers (and headerified reg definitions)
* split of as device-model-only patch
* use bitops for 64 bit register access
* Fixed auto increment mode to check condition properly
* general cleanup (names/style etc).
]
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[PMM:
* minor typo fixes
* added missing return after error_setg()
* dropped setting dc->no_user = 1
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4c25f365ab3a4f7de0a49af5d39ddc9d459e245b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
cpu/a9mpcore: reorder operations/declarations
To make it consistent for easier code reading. The order in which
variables are defined and functions are called is set to match the
address map ordering.
The new consistent order of doing stuff is:
SCU -> GIC -> MPTimer -> WDT.
0 functional change.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
8f31398e6d9a93f57291399f269039da1a77a2b5.1385969450.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit d3053e6be5d90b86cbeba5eb3bba6d210014014b
Author: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
cpu/a9mpcore: rename timerbusdev variable
Rename this variable for consistency with the above defined mptimerdev
variable.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id:
28939ef95589a62414634e86c47cef76b21b15f7.1385969450.git.peter.crosthwaite@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f53977f788c05e8795d22206c40eafb93a15d72b
Author: Jan Petrous <jan.petrous@xxxxxxxxx>
Date: Tue Dec 10 13:24:51 2013 +0000
integrator/cp: add support for REFCNT register
Linux kernel from version 3.4 requires CM_REFCNT register for sched timer
for Integrator/CP board (integrator_defconfig).
See
http://infocenter.arm.com/help/topic/com.arm.doc.dui0138e/ch04s06s11.html
Signed-off-by: Jan Petrous <jan.petrous@xxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 6b9b4405743ffd428f35247516de9e6f4240f73f
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 14 14:12:47 2013 +0200
ACPI DSDT: Make control method `IQCR` serialized
Forward-port the following commit from seabios:
commit 995bbeef78b338370f426bf8d0399038c3fa259c
Author: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Oct 3 11:30:52 2013 +0200
The ASL Optimizing Compiler version 20130823-32 [Sep 11 2013] issues
the
following warning.
$ make
[â?¦]
Compiling IASL out/src/fw/acpi-dsdt.hex
out/src/fw/acpi-dsdt.dsl.i 360: Method(IQCR, 1,
NotSerialized) {
Remark 2120 - ^ Control
Method should be made Serialized (due to creation of named objects within)
[â?¦]
ASL Input: out/src/fw/acpi-dsdt.dsl.i - 475 lines, 19181
bytes, 316 keywords
AML Output: out/src/fw/acpi-dsdt.aml - 4407 bytes, 159
named objects, 157 executable opcodes
Listing File: out/src/fw/acpi-dsdt.lst - 143715 bytes
Hex Dump: out/src/fw/acpi-dsdt.hex - 41661 bytes
Compilation complete. 0 Errors, 0 Warnings, 1 Remarks, 246
Optimizations
[â?¦]
After changing the parameter from `NotSerialized` to `Serialized`, the
remark is indeed gone and there is no size change.
The remark was added in ACPICA version 20130517 [1] and gives the
following explanation.
If a thread blocks within the method for any reason, and
another thread
enters the method, the method will fail because an attempt
will be
made to create the same (named) object twice.
In this case, issue a remark that the method should be marked
serialized. ACPICA BZ 909.
[1]
https://github.com/acpica/acpica/commit/ba84d0fc18ba910a47a3f71c68a43543c06e6831
Signed-off-by: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx>
Reported-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53db092ad1c81c30a617f44e83e8fb9e27c001ba
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 14 13:51:25 2013 +0200
acpi: strip compiler info in built-in DSDT
IASL stores it's revision in each table header it generates.
That's not nice since guests will see a change each time they move
between hypervisors. We generally fill our own info for tables, but we
(and seabios) forgot to do this for the built-in DSDT.
Modifications in DSDT table:
OEM ID: "BXPC" -> "BOCHS "
OEM Table ID: "BXDSDT" -> "BXPCDSDT"
Compiler ID: "INTL" -> "BXPC"
Compiler Version: 0x20130823 -> 0x00000001
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 53333801e7bb41487147599e1b16b60ebea74695
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Tue Nov 12 18:32:24 2013 +0200
acpi unit-test: verify signature and checksum
Read all ACPI tables from guest - will be useful for further unit tests.
Follow pointers between ACPI tables checking signature and format for
correctness. Verify checksum for all tables.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b29ad07ee8ff44115ac9167bba51d1cf59f8649c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Oct 30 13:56:40 2013 +0100
smbios: Set system manufacturer, product & version by default
Currently, we get SeaBIOS defaults: manufacturer Bochs, product Bochs,
no version. Best SeaBIOS can do, but we can provide better defaults:
manufacturer QEMU, product & version taken from QEMUMachine desc and
name.
Take care to do this only for new machine types, of course.
Note: Michael Tsirkin doesn't trust us to keep values of QEMUMachine
member
product stable in the future. Use copies instead, and in a way that
makes it obvious that they're guest ABI.
Note that we can be trusted to keep values of member name, because
that has always been ABI.
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 026736cebfe0e4a96f0761a2bae62cca92ce2a4e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 13 20:13:03 2013 +0200
exec: reduce L2_PAGE_SIZE
With the single exception of ppc with 16M pages,
we get the same number of levels
with L2_PAGE_SIZE = 10 as with L2_PAGE_SIZE = 9.
by doing this we reduce memory footprint of a single level
in the node memory map by 2x without runtime overhead.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 57271d63c4d93352406704d540453c43a4a241a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 7 17:14:37 2013 +0100
exec: make address spaces 64-bit wide
As an alternative to commit 818f86b (exec: limit system memory
size, 2013-11-04) let's just make all address spaces 64-bit wide.
This eliminates problems with phys_page_find ignoring bits above
TARGET_PHYS_ADDR_SPACE_BITS and address_space_translate_internal
consequently messing up the computations.
In Luiz's reported crash, at startup gdb attempts to read from address
0xffffffffffffffe6 to 0xffffffffffffffff inclusive. The region it gets
is the newly introduced master abort region, which is as big as the PCI
address space (see pci_bus_init). Due to a typo that's only 2^63-1,
not 2^64. But we get it anyway because phys_page_find ignores the upper
bits of the physical address. In address_space_translate_internal then
diff = int128_sub(section->mr->size, int128_make64(addr));
*plen = int128_get64(int128_min(diff, int128_make64(*plen)));
diff becomes negative, and int128_get64 booms.
The size of the PCI address space region should be fixed anyway.
Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b35ba30f8fa235c779d876ee299b80a2d501d204
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 11 17:52:07 2013 +0200
exec: memory radix tree page level compression
At the moment, memory radix tree is already variable width, but it can
only skip the low bits of address.
This is efficient if we have huge memory regions but inefficient if we
are only using a tiny portion of the address space.
After we have built up the map, detect
configurations where a single L2 entry is valid.
We then speed up the lookup by skipping one or more levels.
In case any levels were skipped, we might end up in a valid section
instead of erroring out. We handle this by checking that
the address is in range of the resulting section.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 97115a8d4500abeb090b968f01605e0bdafcdfd3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 13 20:08:19 2013 +0200
exec: pass hw address to phys_page_find
callers always shift by target page bits so let's just do this
internally.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b795765db36544da6193fb64e4e0f1dc55aaa36
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 11 14:51:56 2013 +0200
exec: extend skip field to 6 bit, page entry to 32 bit
Extend skip to 6 bit. As page entry doesn't fit in 16 bit
any longer anyway, extend it to 32 bit.
This doubles node map memory requirements, but follow-up
patches will save this memory.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9736e55b78dc49b7f3a265932ab32ed360f633e4
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 11 14:42:43 2013 +0200
exec: replace leaf with skip
In preparation for dynamic radix tree depth support, rename is_leaf
field to skip, telling us how many bits to skip to next level.
Set to 0 for leaf.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 03f4995781a64e106e6f73864a1e9c4163dac53b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 7 17:14:36 2013 +0100
split definitions for exec.c and translate-all.c radix trees
The exec.c and translate-all.c radix trees are quite different, and
the exec.c one in particular is not limited to the CPU---it can be
used also by devices that do DMA, and in that case the address space
is not limited to TARGET_PHYS_ADDR_SPACE_BITS bits.
We want to make exec.c's radix trees 64-bit wide. As a first step,
stop sharing the constants between exec.c and translate-all.c.
exec.c gets P_L2_* constants, translate-all.c gets V_L2_*, for
consistency with the existing V_L1_* symbols. Though actually
in the softmmu case translate-all.c is also indexed by physical
addresses...
This patch has no semantic change.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 92b8e39c7f582e15f9e9423bc9fd3f186536b073
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 6 20:25:21 2013 +0200
spapr_pci: s/INT64_MAX/UINT64_MAX/
It doesn't make sense for a region to be INT64_MAX in size:
memory core uses UINT64_MAX as a special value meaning
"all 64 bit" this is what was meant here.
While this should never affect the spapr system which at the moment always
has < 63 bit size, this makes us hit all kind of corner case bugs with
sub-pages, so users are probably better off if we just use UINT64_MAX
instead.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 286690e34ce04fa29bf812ef2bb7b32c3e7c3b85
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 6 20:18:08 2013 +0200
pc: s/INT64_MAX/UINT64_MAX/
It doesn't make sense for a region to be INT64_MAX in size:
memory core uses UINT64_MAX as a special value meaning
"all 64 bit" this is what was meant here.
While this should never affect the PC system which at the moment always
has < 63 bit size, this makes us hit all kind of corner case bugs with
sub-pages, so users are probably better off if we just use UINT64_MAX
instead.
Reported-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Tested-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cf252e5173e46aa4956b88a95fd09ef7eb38b8a6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 6 20:23:26 2013 +0200
pci: fix address space size for bridge
Address space size for bridge should be full 64 bit,
so we should use UINT64_MAX not INT64_MAX as it's size.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 046a648661517f63496aaa34ed2647c77cc2ebe5
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Nov 6 17:16:42 2013 +0200
MAINTAINERS: update X86 machine entry
Add a bunch of files missing, and add self as maintainer. Since I'm
hacking on these anyway, it will be helpful if people Cc me on patches.
Anthony gets to review everything anyway ...
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ad6423a7fbbaedc4ec1ed41a9688ca4a10909e89
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Oct 18 00:52:18 2013 +0300
acpi-test: basic acpi unit-test
We run bios, and boot a minimal boot sector that immediately halts.
Then poke at memory to find ACPI tables.
This only checks that RSDP is there.
More will be added later.
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d4fce24f3a59eda081cdf2e38e7001591b95d173
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Oct 18 13:51:11 2013 +0200
qtest: split configuration of qtest accelerator and chardev
qtest uses the icount infrastructure to implement a test-driven vm_clock.
This
however is not necessary when using -qtest as a "probe" together with a
normal
TCG-, KVM- or Xen-based virtual machine. Hence, split out the call to
configure_icount into a new function that is called only for "-machine
accel=qtest"; and disable those commands when running with an accelerator
other than qtest.
This also fixes an assertion failure with "qemu-system-x86_64 -machine
accel=qtest" but no -qtest option. This is a valid case, albeit somewhat
weird; nothing will happen in the VM but you'll still be able to
interact with the monitor or the GUI.
Now that qtest_init is not limited to an int(void) function, change
global variables that are not used outside qtest_init to arguments.
And finally, cleanup useless parts of include/sysemu/qtest.h. The file
is not used at all for user-only emulation, and qtest is not available
on Win32 due to its usage of sigwait.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 83d08f2673504a299194dcac1657a13754b5932a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Oct 29 13:57:34 2013 +0100
pc: map PCI address space as catchall region for not mapped addresses
With a help of negative memory region priority PCI address space
is mapped underneath RAM regions effectively catching every access
to addresses not mapped by any other region.
It simplifies PCI address space mapping into system address space.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
commit e689f7c668cbd9d08f330e17c3dd3a059c9553d3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Oct 30 13:56:39 2013 +0100
hw: Pass QEMUMachine to its init() method
Put it in QEMUMachineInitArgs, so I don't have to touch every board.
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 306ec6c3cece7004429c79c1ac93d49919f1f1cc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 03:50:44 2013 +0200
virtio: Convert exit to unrealize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0ba94b6f94a5b0bed9f125ce4c3348adc83db5de
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 04:05:02 2013 +0200
virtio: Complete converting VirtioDevice to QOM realize
Drop VirtioDeviceClass::init.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 71a6520b83414b4ebe3ecfdee3dc3a70db98c91f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 03:19:55 2013 +0200
virtio-scsi: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a8d57dfb28bd8fd8ebddf08d0cfafdcb61a764fb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:57:37 2013 +0200
virtio-rng: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 74def47c8c1453a48f9bd61633050cc681e67fba
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:51:37 2013 +0200
virtio-balloon: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e6f746b380ad04246e5cce621f174355f39addcd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:36:06 2013 +0200
virtio-net: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 863462440d646098d2b83fb0ffa5f165e7f90511
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 02:24:34 2013 +0200
virtio-serial: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 75884afd5c6c42e523b08565e289dbe319e17ad9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 01:35:08 2013 +0200
virtio-blk: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 59be75227d3985c9f0a9f5396fc64e357a54defb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 01:04:01 2013 +0200
virtio-9p: Convert to QOM realize
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 1d244b42d200c02ad60eb564c75d8adea9243366
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 00:50:27 2013 +0200
virtio: Start converting VirtioDevice to QOM realize
Temporarily allow either VirtioDeviceClass::init or
VirtioDeviceClass::realize.
Introduce VirtioDeviceClass::unrealize for symmetry.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7598f0f30e027146ba70517a2bda98d16bac1e24
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:41:42 2013 +0200
virtio-scsi: QOM realize preparations
Rename qdev -> dev since that's what realize's argument is called by
convention. No need to keep more "qdev" around than necessary.
Avoid duplicate VIRTIO_DEVICE() cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit af7671fdc530dd597b1ddb4561f5ffc0d534c44c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:12:47 2013 +0200
virtio-rng: QOM realize preparations
Rename qdev -> dev because that's what realize's argument is called by
convention. No need to keep more "qdev" around than necessary.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a546fb174162b0186fe6c275476cb45e5cafa68c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:33:58 2013 +0200
virtio-balloon: QOM realize preparations
Rename qdev -> dev since that's what realize's argument is called by
convention. No need to keep more "qdev" around than necessary.
Avoid duplicate VIRTIO_DEVICE() cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 284a32f0b33dce4e77e896168387b8dca90c4bea
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:02:48 2013 +0200
virtio-net: QOM realize preparations
Rename variable qdev -> dev since that's what realize's argument is
called by convention.
Avoid duplicate VIRTIO_DEVICE() cast.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b1a20c3fcab96832c3813e9e7162748f325e0c82
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 05:30:09 2013 +0200
virtio-serial: QOM realize preparations
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 179b417e17ada41dce4e8112bea0a78a70b6162c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 30 04:48:15 2013 +0200
virtio-blk: QOM realize preparations
Rename variable qdev -> dev since that's what realize's argument is called
by convention.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0f3657ec3664b340ae20b461a7e15dbdac129179
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Thu Aug 1 00:32:45 2013 +0200
virtio-9p: QOM realize preparations
Avoid unnecessary VIRTIO_DEVICE().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3ffeeef735fdb52ffee2eed4fb398f3a1199728f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Jun 7 16:18:50 2013 +0200
virtio-blk-dataplane: Improve error reporting
Return an Error so that it can be propagated later.
Tested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
[AF: Rebased]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 06a1307379fcd6c551185ad87679cd7ed896b9ea
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:10:26 2013 +0200
virtio-pci: add device_unplugged callback
This fixes a crash in hot-unplug of virtio-pci devices behind a PCIe
switch. The crash happens because the ioeventfd is still set whent the
child is destroyed (destruction happens in postorder). Then the proxy
tries to unset to ioeventfd, but the virtqueue structure that holds the
EventNotifier has been trashed in the meanwhile. kvm_set_ioeventfd_pio
does not expect failure and aborts.
The fix is simply to move parts of uninitialization to a new
device_unplugged callback, which is called before the child is destroyed.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7bb6edb0e3dd78d74e0ac980cf6c0a07307f61bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-rng: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit baa61b9870dd7e0bb07e0ae61c6ec805db13f699
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-balloon: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e3c9d76acc984218264bbc6435b0c09f959ed9b8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-scsi: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3786cff5eb384d058395a2729af627fa3253d056
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:06:08 2013 +0200
virtio-net: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e86c13fe2058adb8c792ebb7c51a6a7ca9d3d55
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:05:56 2013 +0200
virtio-serial: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 40dfc16f5fe0afb66f9436718781264dfadb6c61
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 14:05:42 2013 +0200
virtio-blk: switch exit callback to VirtioDeviceClass
This ensures hot-unplug is handled properly by the proxy, and avoids
leaking bus_name which is freed by virtio_device_exit.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5e96f5d2f8d2696ef7d2d8d7282c18fa6023470b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:59:08 2013 +0200
virtio-bus: cleanup plug/unplug interface
Right now we have these pairs:
- virtio_bus_plug_device/virtio_bus_destroy_device. The first
takes a VirtIODevice, the second takes a VirtioBusState
- device_plugged/device_unplug callbacks in the VirtioBusClass
(here it's just the naming that is inconsistent)
- virtio_bus_destroy_device is not called by anyone (and since
it calls qdev_free, it would be called by the proxies---but
then the callback is useless since the proxies can do whatever
they want before calling virtio_bus_destroy_device)
And there is a k->init but no k->exit, hence virtio_device_exit is
overwritten by subclasses (except virtio-9p). This cleans it up by:
- renaming the device_unplug callback to device_unplugged
- renaming virtio_bus_plug_device to virtio_bus_device_plugged,
matching the callback name
- renaming virtio_bus_destroy_device to virtio_bus_device_unplugged,
removing the qdev_free, making it take a VirtIODevice and calling it
from virtio_device_exit
- adding a k->exit callback
virtio_device_exit is still overwritten, the next patches will fix that.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a3fc66d9fd37acbfcee013692246a8ae42bd93bb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:36:40 2013 +0200
virtio-pci: remove vdev field
The vdev field is complicated to synchronize. Just access the
BusState's list of children.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f24a684073bcdaf4e9d3c592345744ba3356d9e3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:51:52 2013 +0200
virtio-ccw: remove vdev field
The vdev field is complicated to synchronize. Just access the
BusState's list of children.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 06d3dff0723c712a4b109ced4243edf49ef850af
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 20 13:31:39 2013 +0200
virtio-bus: remove vdev field
The vdev field is complicated to synchronize. Just access the
BusState's list of children.
Cc: qemu-stable@xxxxxxxxxx
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0b81c1ef5c677c2a07be5f8bf0dfe2c62ef52115
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Oct 15 16:47:16 2013 +0200
virtio-ccw: move virtio_ccw_stop_ioeventfd to virtio_ccw_busdev_unplug
Similar to the PCI bug that prompted these patches, virtio-ccw will
segfault after the reworking of hotplug/hot-unplug. Prepare for
this by moving virtio_ccw_stop_ioeventfd to before the freeing
of the proxy device.
A better place for this could be the device_unplugged callback
for the virtio-ccw bus. However, we do not yet have a callback
that works: this patch avoids the problem while leaving the tree
bisectable.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Suggested-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Andreas Faerber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8f84271da83c0e9f92aa7c1c2d0d3875bf0a5cb8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 14:48:07 2013 +0100
target-mips: Use macro ARRAY_SIZE where possible
This improves readability and simplifies the code.
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 4d66261f71f2efa31e1052e4041c5ee505572fe5
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Nov 29 17:27:42 2013 +0100
target-mips: fix 64-bit FPU config for user-mode emulation
FR bit should be initialized to 1 for MIPS64, under condition that this
bit is writable and that CPU has an FPU unit. It should be initialized to
zero for MIPS32.
This fixes different MIPS32 issues with FPU instructions whose behaviour
defaulted to 64-bit FPU mode.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 21c046118e740704d0ba81f6281dc95905bc30a8
Author: Bobby Bingham <koorogi@xxxxxxxxxxxx>
Date: Sun Nov 24 14:03:05 2013 -0600
target-sh4: move features flag after CPU_COMMON
Everything before CPU_COMMON in the structure is cleared as part of a
CPU reset. This included the features flag, which indicates whether SH4A
instructions are supported or not. As a result, a CPU reset downgraded
the CPU from an SH4A to an SH4.
Signed-off-by: Bobby Bingham <koorogi@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 2fe3798cd5fab65ee7c86758b1b7701d7fe3709f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Dec 6 16:08:05 2013 +0100
help: add id suboption to -iscsi
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 98e33f1b0eff84d9538cf957dde48c3f67f6f9d8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 9 13:40:15 2013 +0100
scsi-disk: fix WRITE SAME with large non-zero payload
Due to a thinko in the patch that implemented WRITE SAME.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 02d38fcb2caa4454cf4ed728d5908c3cc9ba47be
Author: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Date: Thu Nov 21 21:05:51 2013 -0500
net: Update netdev peer on link change
When a link change occurs on a backend (like tap), we currently do
not propage such change to the nic. As a result, when someone turns
off a link on a tap device, for instance, then a guest doesn't see
that change and continues to try to send traffic or run DHCP even
though the lower-layer is disconnected. This is OK when the network
is set up as a HUB since the the guest may be connected to other HUB
ports too, but when it's set up as a netdev, it makes thinkgs worse.
The patch addresses this by setting the peers link down only when the
peer is not a HUBPORT device. With this patch, in the following config
-netdev tap,id=net0 -device e1000,mac=XXXXX,netdev=net0
when net0 link is turned off, the guest e1000 shows lower-layer link
down. This allows guests to boot much faster in such configurations.
With windows guest, it also allows the network to recover properly
since windows will not configure the link-local IPv4 address, and
when the link is turned on, the proper address address is configured.
Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cae2e5562cdaf3aafa1c4ec2d5f2b19af6c886dd
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Nov 11 11:48:36 2013 +0800
virtio-net: don't update mac_table in error state
mac_table was always cleaned up first in handling
VIRTIO_NET_CTRL_MAC_TABLE_SET command, and we din't recover
mac_table content in error state, it's not correct.
This patch makes all the changes in temporal variables,
only update the real mac_table if everything is ok.
We won't change mac_table in error state, so rxfilter
notification isn't needed.
This patch also fixed same problame in
http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg01188.html
(not merge)
I will send patch for virtio spec to clarifying this change.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Acked-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aee09baf915491eabbf46f9cf55a445ec59b8269
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Wed Nov 6 18:34:55 2013 +0100
MAINTAINERS: Add netmap maintainers
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58952137b0b3e1c9e3ce718ed952c1baf8832652
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Wed Nov 6 11:44:06 2013 +0100
net: Adding netmap network backend
This patch adds support for a network backend based on netmap.
netmap is a framework for high speed packet I/O. You can use it
to build extremely fast traffic generators, monitors, software
switches or network middleboxes. Its companion software switch
VALE lets you interconnect virtual machines.
netmap and VALE are implemented as a non-intrusive kernel module,
support NICs from multiple vendors, are part of standard FreeBSD
distributions and available in source format for Linux too.
To compile QEMU with netmap support, use the following configure
options:
./configure [...] --enable-netmap --extra-cflags=-I/path/to/netmap/sys
where "/path/to/netmap" contains the netmap source code, available at
http://info.iet.unipi.it/~luigi/netmap/
The same webpage contains more information about the netmap project
(together with papers and presentations).
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 063c3378a9e3c25cc0afac3c72e4823d0621e352
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Dec 5 16:47:17 2013 +0100
block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk}
this converts read, write and flush functions from aio to coroutines
eliminating almost 200 lines of code.
The requirement for libiscsi is bumped to version 1.4.0 which was
released in may 2012.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d97e7730816094a71cd1f19a56d7a73f77cdbf96
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 28 11:18:56 2013 +0100
scsi-disk: fix VERIFY emulation
VERIFY emulation was completely botched (and remained botched through
all the refactorings). The command must be emulated both in check-medium
mode (BYTCHK=00, which we implement by doing nothing) and in check-bytes
mode (which we do not implement yet). Unlike WRITE AND VERIFY (which we
treat simply as WRITE with FUA bit set), VERIFY cannot be handled like
READ. In fact the device is _receiving_ data for VERIFY, not _sending_
it like READ.
Cc: qemu-stable@xxxxxxxxxx
Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d12ad44cc4cc9142179e64295608611f118b8ad8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Nov 28 11:01:13 2013 +0100
scsi-bus: fix transfer length and direction for VERIFY command
The amount of bytes to transfer depends on the BYTCHK field.
If any data is transferred, it is sent to the device.
Cc: qemu-stable@xxxxxxxxxx
Tested-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5ad04fb6f112cf2917909be4c22109dbb65fed18
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Dec 5 19:41:28 2013 +0100
libcacard: Fix compilation for older versions of glib (bug #1258168)
See https://bugs.launchpad.net/bugs/1258168
libcacard/vscclient.c: In function 'do_socket_read':
libcacard/vscclient.c:410: warning: implicit declaration of function
'g_warn_if_reached'
libcacard/vscclient.c:410: warning: nested extern declaration of
'g_warn_if_reached'
libcacard/vscclient.c: In function 'main':
libcacard/vscclient.c:763: warning: implicit declaration of function
'g_byte_array_unref'
libcacard/vscclient.c:763: warning: nested extern declaration of
'g_byte_array_unref'
...
libcacard/vscclient.o: In function `do_socket_read':
libcacard/vscclient.c:410: undefined reference to `g_warn_if_reached'
libcacard/vscclient.o: In function `main':
libcacard/vscclient.c:763: undefined reference to `g_byte_array_unref'
g_warn_if_reached was added in glib 2.16, and g_byte_array_unref is
supported since glib 2.22. QEMU requires glib 2.12, so both names must
not be used.
Instead of showing a warning for code which should not be reached,
vscclient better stop running, so g_warn_if_reached is not useful for
vscclient.
In libcacard/vsclient.c, g_byte_array_unref can be replaced by
g_byte_array_free. This is not generally true, so adding a compatibility
layer in include/glib-compat.h is no option here.
Reported-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reported-by: Don Slutz <dslutz@xxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit d58ce68a454e5ae9cbde0308def379e272f13b10
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 29 14:25:33 2013 +0100
intel-hda: fix position buffer
Fix position buffer updates to use the correct stream offset.
Without this patch both IN (record) and OUT (playback) streams
will update the IN buffer positions. The linux kernel notices
and complains:
hda-intel: Invalid position buffer, using LPIB read method instead.
The bug may also lead to glitches when recording and playing
at the same time:
https://bugzilla.redhat.com/show_bug.cgi?id=947785
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7f0ba7bb4378f22b017e08947219a352d491bac4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Dec 2 10:16:18 2013 +0100
adlib: fix patching of port I/O addresses
Commit 2b21fb5 (adlib: sort offsets in portio registration, 2013-08-14)
fixed the offsets in adlib_portio_list, but forgot the matching indices
in adlib_realizefn.
Reported at http://virtuallyfun.superglobalmegacorp.com/?p=3616 by
"neozeed".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0e8ae611bda0dfb038da2d865801d8adbd692bad
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 10:49:13 2013 +0100
audio: adjust pulse to 100Hz wakeup rate
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 40a814b0b1789b94c483190b3208729b5182e5bd
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Oct 9 21:38:32 2013 +0200
audio: Lower default wakeup rate to 100 times / second
This is more then plenty to keep audio card fifos filles / emptied.
This drops host cpu-load for audio playback inside a linux vm from
13% to 9%.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a1d22a367d5780c9553b2cd5a24f665534ce6ed6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Dec 7 14:52:34 2013 +1300
target-cris: Use new qemu_ld/st opcodes
Using the new opcodes we can reduce if/else trees to
a single statement.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Cc: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit b1829cdebe2c5cc0b445f2959dbdb63a48118b12
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Dec 7 15:09:12 2013 +0100
qxl: Add missing trace.h (fix broken build)
Commit ac86048bcd41129b18702ba63395f222871804de removed trace.h from
console.h and ignored the fact that qxl-render.c needs this file
(it includes qxl.h which includes console.h which included trace.h).
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d2aa90cda81ae3f860dd047ce5e37e0473452d54
Merge: 9353137 3e40ba0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:47:24 2013 -0800
Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20131206.0'
into staging
vfio-pci updates include:
- Update linux-headers to include KVM-VFIO device support
- Enable QEMU support for KVM-VFIO device
- Additional Nvidia x-vga quirk to ACK MSI interrupts
- Debug options to disable MSI/X KVM acceleration
- Fix to cleanup MSI-X vectors on shutdown and avoid IRQ route leaks
The KVM-VFIO device support enables KVM to manage how it handles
coherency instructions in the presence of non-coherent I/O. Dave
Airlie had noted that the Nvidia MSI ACK support here may just be
scratching the surface, but it's better than what we have now and
it's only enabled via the x-vga option, so I'm willing to add since
it does enable some users.
# gpg: Signature made Fri 06 Dec 2013 12:28:19 PM PST using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson
# Via Alex Williamson
* awilliam/tags/vfio-pci-for-qemu-20131206.0:
vfio-pci: Release all MSI-X vectors when disabled
vfio-pci: Add debug config options to disable MSI/X KVM support
vfio-pci: Fix Nvidia MSI ACK through 0x88000 quirk
vfio-pci: Make use of new KVM-VFIO device
linux-headers: Update from v3.13-rc3
Message-id: 20131206204715.16731.12627.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 93531372f0f74bb4d886480c0c8aa0e4ca6f5423
Merge: 0c0cb6a ac9524d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:31 2013 -0800
Merge remote-tracking branch 'stefanha/block' into staging
# By Paolo Bonzini (17) and others
# Via Stefan Hajnoczi
* stefanha/block: (48 commits)
qemu-iotests: filter QEMU monitor \r\n
aio: make aio_poll(ctx, true) block with no fds
block: clean up bdrv_drain_all() throttling comments
qcow2: use start_of_cluster() and offset_into_cluster() everywhere
qemu-img: decrease progress update interval on convert
qemu-img: round down request length to an aligned sector
qemu-img: dynamically adjust iobuffer size during convert
block/iscsi: set bs->bl.opt_transfer_length
block: add opt_transfer_length to BlockLimits
block/iscsi: set bdi->cluster_size
qemu-img: fix usage instruction for qemu-img convert
qemu-img: add support for skipping zeroes in input during convert
qemu-nbd: add doc for option -f
qemu-iotests: add test for snapshot in qemu-img convert
qemu-img: add -l for snapshot in convert
qemu-iotests: add 058 internal snapshot export with qemu-nbd case
qemu-nbd: support internal snapshot export
snapshot: distinguish id and name in load_tmp
qemu-iotests: Split qcow2 only cases in 048
qemu-iotests: Clean up spaces in usage output
...
Message-id: 1386347807-27359-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0c0cb6a2378f937410f5f55cbf3e3b2c20f293c6
Merge: 3c88da3 33f373d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:25 2013 -0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Alex Williamson (1) and others
# Via Paolo Bonzini
* qemu-kvm/uq/master:
target-i386: fix cpuid leaf 0x0d
qemu: mempath: prefault pages manually (v4)
kvm: Query KVM for available memory slots
Message-id: 1386345276-9803-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3c88da3c243ff7b452026e207cbba853123250cc
Merge: 2a576ee bcf2b7d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:16 2013 -0800
Merge remote-tracking branch 'kraxel/tags/pull-seabios-31b8b4e-1' into
staging
Update seabios to master snapshot (pre-1.7.4).
Update vgabios, switch from lgplvgabios to seavgabios.
Update build process to build both 128k and 256k bios versions.
Use 256k bios for pc-*-2.0+ machine types.
# gpg: Signature made Fri 06 Dec 2013 12:01:24 AM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/tags/pull-seabios-31b8b4e-1:
pc: switch 2.0 machine types to large seabios binary
roms: update vgabios binaries
roms: update seabios binaries
roms: enable seabios cross builds
roms: build two seabios binaries
roms: update seabios submodule to
31b8b4eea9d9ad58a73b22a6060d3ac1c419c26d
add firmware to machine options
add pc-{i440fx,q35}-2.0 machine types
Message-id: 1386322527-23148-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2a576ee6e36924bb3c3e6690e9ca35a9942e0634
Merge: 0a0ee0b e9eecb5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat Dec 7 07:35:01 2013 -0800
Merge remote-tracking branch 'otubo/seccomp' into staging
# By Paul Moore
# Via Eduardo Otubo
* otubo/seccomp:
seccomp: add kill() to the syscall whitelist
Message-id: 1386075077-3240-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a0ee0b93bdd6e1ef628283d00bb979e27655ebb
Merge: 9ed5dac 981cbf5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:59:58 2013 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches for 2.0 (flushing block-next)
# gpg: Signature made Fri 29 Nov 2013 08:43:18 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
# By Peter Lieven (17) and others
# Via Kevin Wolf
* kwolf/tags/for-anthony: (41 commits)
qemu-iotests: Add sample image and test for VMDK version 3
vmdk: Allow read only open of VMDK version 3
qemu-iotests: Filter out 'qemu-io> ' prompt
qemu-iotests: Filter qemu-io output in 025
block: Use BDRV_O_NO_BACKING where appropriate
qemu-iotests: Test snapshot mode
block: Enable BDRV_O_SNAPSHOT with driver-specific options
qemu-iotests: Make test case 030, 040 and 055 deterministic
qemu-iotest: Add pause_drive and resume_drive methods
blkdebug: add "remove_break" command
qemu-iotests: Drop local version of cancel_and_wait from 040
sheepdog: support user-defined redundancy option
sheepdog: refactor do_sd_create()
qdict: Optimise qdict_do_flatten()
qdict: Fix memory leak in qdict_do_flatten()
MAINTAINERS: add sheepdog development mailing list
COW: Extend checking allocated bits to beyond one sector
COW: Speed up writes
qapi: Change BlockDirtyInfo to list
block: per caller dirty bitmap
...
Message-id: 1385743555-27888-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9ed5dacbfa0f3f74238854776385f150b68e78b9
Merge: cdac7a7 539891a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:58:28 2013 -0800
Merge remote-tracking branch 'sstabellini/xen-2013-12-01' into staging
# By Paul Durrant (1) and Wei Liu (1)
# Via Stefano Stabellini
* sstabellini/xen-2013-12-01:
xen-pvdevice: make device-id property compulsory
xen: fix two errors when debug is enabled
Message-id: alpine.DEB.2.02.1312011829000.3198@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cdac7a7184065467ba45ec83a9abfeeae060ce4b
Merge: a55d121 0b959cf
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:57:21 2013 -0800
Merge remote-tracking branch 'rth/auxv-2' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/auxv-2:
linux-user: Use qemu_getauxval for AT_EXECFD
util: Use qemu_getauxval in linux qemu_cache_utils_init
tcg-s390: Use qemu_getauxval in query_facilities
tcg-arm: Use qemu_getauxval
tcg-ppc64: Use qemu_getauxval
osdep: Create qemu_getauxval and qemu_init_auxval
Message-id: 1385757754-10702-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a55d121f4a932dcd19eb8164804cc98d5ea88e72
Merge: e679f05 a292678
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:56:51 2013 -0800
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
# By Erik de Castro Lopo (2) and others
# Via Riku Voipio
* riku/linux-user-for-upstream:
linux-user: pass correct parameter to do_shmctl()
linux-user: create target_structs header to place ipc_perm and shmid_ds
flatload: fix non-GOT relocations
linux-user: Implement handling of 5 POSIX timer syscalls.
linux-user: Add target struct defs needed for POSIX timer syscalls.
Message-id: cover.1385732338.git.riku.voipio@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e679f05248e220b8ef587e8fd6c64ffe83b1e16f
Merge: 783eb67 0b1fa34
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:54:35 2013 -0800
Merge remote-tracking branch 'kraxel/tags/pull-usb-1' into staging
Improvements for usb3 bulk stream (usb core, xhci).
Bugfixes for uas emulation.
Add remote wakeup support for ehci.
Add suspend support for xhci.
Misc minor tweaks and fixes.
# gpg: Signature made Thu 28 Nov 2013 11:44:49 PM PST using RSA key ID
D3E87138
# gpg: Can't check signature: public key not found
# By Hans de Goede (11) and others
# Via Gerd Hoffmann
* kraxel/tags/pull-usb-1:
usb: move usb_{hi,lo} helpers to header file.
usb: add vendor request defines
trace-events: Clean up after removal of old usb-host code
Revert "usb-tablet: Don't claim wakeup capability for USB-2 version"
ehci: implement port wakeup
xhci: Call usb_device_alloc/free_streams
usb: Add usb_device_alloc/free_streams
usb: Add max_streams attribute to endpoint info
uas: s/ui/iu/
uas: Fix response iu struct definition
uas: Bounds check tags when using streams
uas: Streams are numbered 1-y, rather then 0-x
uas: Fix / cleanup usb_uas_task error handling
uas: Only use report iu-s for task_mgmt status reporting
scsi: Add 2 new sense codes needed by uas
xhci: add support for suspend/resume
xhci: Add a few missing checks for disconnected devices
Message-id: 1385712381-30918-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 783eb67e7a125eaf226e5ea4f5df97c1ea42311e
Merge: 7dc65c0 6fedcaa
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Dec 6 12:52:50 2013 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (9) and others
# Via Michael Tokarev
* mjt/trivial-patches:
eeprom93xx: fix coding style
hw/ppc/mac.h: remove unused BIOS_FILENAME definition
Don't crash on keyboard input with no handler
libcacard/vcard_emul_nss: Remove unused statement (value stored is
never read)
libcacard/cac: Remove unused statement (value stored is never read)
virtio-net: fix the indent
misc: Replace 'struct QEMUTimer' by 'QEMUTimer'
qobject: Fix compiler warning (missing gnu_printf format attribute)
acpi-build: Fix compiler warning (missing gnu_printf format attribute)
.gitignore: Ignore config.status
gtk: Replace conditional debug messages by trace methods
console: Replace conditional debug messages by trace methods
trace: Remove trace.h from hw/usb/hcd-ehci.h (less dependencies)
trace: Remove trace.h from console.h (less dependencies)
Message-id: 1385408466-13183-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6fedcaa1c5419fa89c31fd34dabbd71861c615d2
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Wed Dec 4 10:27:29 2013 +0400
eeprom93xx: fix coding style
scripts/checkpatch.pl reports about some style problems,
this commit fixes some of them:
ERROR: space prohibited before open square bracket '['
+ .fields = (VMStateField []) {
ERROR: space prohibited after that '!' (ctx:BxW)
+ if (! eeprom->eecs && eecs) {
^
ERROR: space prohibited after that '!' (ctx:WxW)
+ } else if (eeprom->eecs && ! eecs) {
^
ERROR: space prohibited after that '!' (ctx:WxW)
+ } else if (eecs && ! eeprom->eesk && eesk) {
^
ERROR: switch and case should be at the same indent
switch (address >> (eeprom->addrbits - 2)) {
+ case 0:
[...]
+ case 1:
[...]
+ case 2:
[...]
+ case 3:
ERROR: return is not a function, parentheses are not required
+ return (eeprom->eedo);
ERROR: switch and case should be at the same indent
switch (nwords) {
+ case 16:
+ case 64:
[...]
+ case 128:
+ case 256:
[...]
+ default:
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Cc: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Cc: qemu-trivial@xxxxxxxxxx
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3e40ba0faf0822fa78336fe6cd9d677ea9b14f1b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:40 2013 -0700
vfio-pci: Release all MSI-X vectors when disabled
We were relying on msix_unset_vector_notifiers() to release all the
vectors when we disable MSI-X, but this only happens when MSI-X is
still enabled on the device. Perform further cleanup by releasing
any remaining vectors listed as in-use after this call. This caused
a leak of IRQ routes on hotplug depending on how the guest OS prepared
the device for removal.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
commit b3ebc10c373ed5922d4bdb5076fd0e9fd7ff8056
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:29 2013 -0700
vfio-pci: Add debug config options to disable MSI/X KVM support
It's sometimes useful to be able to verify interrupts are passing
through correctly.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 96eeeba0db38b856eb2cae0e4a2a620d8d65771a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:23 2013 -0700
vfio-pci: Fix Nvidia MSI ACK through 0x88000 quirk
When MSI is enabled on Nvidia GeForce cards the driver seems to
acknowledge the interrupt by writing a 0xff byte to the MSI capability
ID register using the PCI config space mirror at offset 0x88000 from
BAR0. Without this, the device will only fire a single interrupt.
VFIO handles the PCI capability ID/next registers as virtual w/o write
support, so any write through config space is currently dropped. Add
a check for this and allow the write through the BAR window. The
registers are read-only anyway.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 5b49ab188ff0339aa3097ce7f5309f1306092f9e
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:13 2013 -0700
vfio-pci: Make use of new KVM-VFIO device
Add and remove groups from the KVM virtual VFIO device as we make
use of them. This allows KVM to optimize for performance and
correctness based on properties of the group.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit bf63839ffa2d0eebb1eb1706022f46e93b6fec08
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Dec 6 11:16:09 2013 -0700
linux-headers: Update from v3.13-rc3
Update to tag v3.13-rc3 (374b105797c3d4f29c685f3be535c35f5689b30e)
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit ac9524dc55dc32e492ac3e6fbc9785be7168f8a2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Nov 14 15:24:58 2013 +0100
qemu-iotests: filter QEMU monitor \r\n
SMTP does not preserve newlines. This is normally not a problem if the
email body uses DOS or UNIX newlines consistently. In 051.out we mix
UNIX newlines with DOS newlines (since QEMU monitor output uses \r\n).
This patch filters the QEMU monitor output so the golden master file
uses UNIX newlines exclusively.
The result is that patches touching 051.out will apply cleanly without
mangling newlines after this commit.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d3fa923044321b2ccc12bbdedd582d2c49d958aa
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 26 16:18:01 2013 +0100
aio: make aio_poll(ctx, true) block with no fds
This patch drops a special case where aio_poll(ctx, true) returns false
instead of blocking if no file descriptors are waiting on I/O. Now it
is possible to block in aio_poll() to wait for aio_notify().
This change eliminates busy waiting. bdrv_drain_all() used to rely on
busy waiting to completed throttled I/O requests but this is no longer
required so we can simplify aio_poll().
Note that aio_poll() still returns false when aio_notify() was used. In
other words, stopping a blocking aio_poll() wait is not considered
making progress.
Adjust test-aio /aio/bh/callback-delete/one which assumed aio_poll(ctx,
true) would immediately return false instead of blocking.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b06ef3bdd17742ae50c0662d3fe8ed944648890
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 26 16:18:00 2013 +0100
block: clean up bdrv_drain_all() throttling comments
Since cc0681c45430a1f1a4c2d06e9499b7775afc9a18 ("block: Enable the new
throttling code in the block layer.") bdrv_drain_all() no longer spins.
The code used to look as follows:
do {
busy = qemu_aio_wait();
/* FIXME: We do not have timer support here, so this is effectively
* a busy wait.
*/
QTAILQ_FOREACH(bs, &bdrv_states, list) {
while (qemu_co_enter_next(&bs->throttled_reqs)) {
busy = true;
}
}
} while (busy);
Note that throttle requests are kicked but I/O throttling limits are
still in effect. The loop spins until the vm_clock time allows the
request to make progress and complete.
The new throttling code introduced bdrv_start_throttled_reqs(). This
function not only kicks throttled requests but also temporarily disables
throttling so requests can run.
The outdated FIXME comment can be removed. Also drop the busy = true
assignment since we overwrite it immediately afterwards.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ac95acdb8e0876fa489bd31a48e8ecd6ef901d67
Author: Hu Tao <hutao@xxxxxxxxxxxxxx>
Date: Thu Dec 5 14:32:34 2013 +0800
qcow2: use start_of_cluster() and offset_into_cluster() everywhere
Signed-off-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 405889820bcd5c2abf4eb70598e96f525f862c0f
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:09 2013 +0100
qemu-img: decrease progress update interval on convert
when doing very large jobs updating the progress only every 2%
is too rare.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24f833cd43dbfb5f8ae99e8a6d3691671622d3ea
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:07 2013 +0100
qemu-img: round down request length to an aligned sector
this patch shortens requests to end at an aligned sector so that
the next request starts aligned.
[Squashed Peter's fix for bdrv_get_info() failure discussed on the
mailing list.
--Stefan]
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bcf2b7d2af7c54bb42be1229df9e78ba7d08d2a7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 12:52:04 2013 +0100
pc: switch 2.0 machine types to large seabios binary
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6eefccc0bb9c34051b1e21880fc3a1c1c8686edd
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 13:01:20 2013 +0100
roms: update vgabios binaries
This also switches from lgplvgabios to seavgabios.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 385724e7887670e17865d97cd8106a235f113faa
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 12:58:45 2013 +0100
roms: update seabios binaries
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 07403a5a0319d1c9783ea7da13782c8835a42cc9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 15 17:05:55 2013 +0200
roms: enable seabios cross builds
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 94e68caaa089f90f5210435c7e07e97701c98ee5
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 30 11:37:12 2013 +0200
roms: build two seabios binaries
Adding xhci support to seabios made it jump over the 128k line.
Changing the bios size breaks migration, so we have to keep a
128k seabios binary for old machine types. New machine types can
use a large 256k bios which should be big enougth for a while.
This patch updates the seabios build process to build seabios twice,
once full featured and once with xen and xhci turned off so the
resulting binary is small enougth to fit into 128k.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 11938d7863203d5ca523865761cac6130783c858
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 15 17:02:19 2013 +0200
roms: update seabios submodule to 31b8b4eea9d9ad58a73b22a6060d3ac1c419c26d
Updates seabios to git master snapshot. seabios is in freeze now,
update to final 1.7.4 will follow later this year.
Summary of major changes:
* Support for acpi table loading from qemu.
* Support for the xhci host adapter.
* Support for the pvscsi HBA.
* Various minor bug fixes.
* Lots of cleanups.
Full shortlog since 1.7.3 (note that some of these changes have been
cherry-picked into 1.7.3-stable):
Evgeny Budilovsky (1):
Add pvscsi boot support
Gerd Hoffmann (27):
coreboot: add cbmem console support
Add CONFIG_DEBUG_COREBOOT config option
apm: fix shutdown
ahci: add missing check for allocation failure
bochsvga: fallback to stdvga if dispi interface isn't present
Add generic qemu detection
Drop coreboot qemu detection
Add qemu detection to csm
uas: add (temporary) superspeed stopgap
usb: add usb_update_pipe()
usb: add xhci support
fix buildversion.sh
build: simplify cross builds
build: create output dirs in do-kconfig
build: explicitly set ROM size
Add qemu_cfg_e820 function.
Add support for etc/e820 fw_cfg file
pci: don't reorder entries when moving to 64bit list
pci: don't map usb host adapters above 4G
pci: align 64bit pci regions to 1G
pci: tweak + comment minimum allocations
pci: log pci windows
pci: map 64-bit BARs at location provided by emulator
ahci: zap real mode macros
ahci: remote some parentheses
ahci: alloc structs in high memory
add hw/serialio.c to SRC32SEG
Jonathan A. Kollasch (1):
vgahooks: add SM720 VGA BIOS hooks for WIN Enterprises MB-60470
Kevin O'Connor (80):
Fix USB EHCI detection that was broken in hlist conversion of
PCIDevices.
Update README to include info on VARLOW variables.
PIC code cleanups.
Move internal timer code from clock.c to a new file timer.c.
Don't pass khz to pmtimer_setup - it's always PM_TIMER_FREQUENCY.
Add helper functions to convert timer irqs to milliseconds.
Improve accuracy of internal timers.
Rename cpu_khz to TimerKHz.
Shift CPU TSC down to reduce need for 64bit variables.
Rename check_timer() function (and similar) to irqtimer_check().
Rename check_tsc() (and similar) to timer_check() and use u32.
Separate out timer setup code.
Unify pmtimer_read() and pittimer_read() code.
Default unused UMB areas to be read-only.
Add missing mathcp_setup() call to CSM code.
Fix bug in CBFS file walking with compressed files.
Support custom boot menu prompt and custom boot menu key.
Minor cleanups to smm assembler.
Add config option to support memory allocations in 9-segment.
Minor - no need to declare MaxCountCPUs as VARFSEG.
Minor - simplify rom_reserve().
Rename tools/ directory to scripts/ directory.
Update kconfig to latest version.
build: Don't use vpath makefile directive.
Move code centered around specific hardware devices to src/hw/
Move code cenetered around firmware initialization to src/fw/
build: Reorder makefile source list to group like files together.
README: Update readme to note scripts/ directory rename and vgasrc/
directory.
vgabios: Rename stdvga_bpp_factor to stdvga_vram_ratio.
vgabios: Limit the range of the VBE number of "pages" parameter.
readme: Minor - fix typo in readme.
Split x86 specific functions out of util.c/h to new files x86.c/h.
Move keyboard calling code from util.c to boot.c.
Rename util.c to string.c and introduce string.h.
build: Perform compile checking on vgasrc code.
Move stacks.c definitions from util.h to new file stacks.h.
Move romfile definitions from util.h to new file romfile.h.
Move malloc code from pmm.c to new files malloc.c and malloc.h.
Move function definitions for output.c from util.h to new file
output.h.
Move definition of struct segoff_s from farptr.h to types.h.
build: Fix import of gcc dependency files.
Move pirtable definitions from hw/pci.h to std/pirtable.h and
util.h.
Move optionroms.h to std/optionrom.h and util.h.
Move vbe.h to std/vbe.h.
Move fw/LegacyBios.h to std/LegacyBios.h and remove csm.h.
Move fw/smbios.h to std/smbios.h.
Move fw/mptable.h to std/mptable.h.
Move fw/acpi.h to std/acpi.h.
Move pnpbios definition to new file std/pnpbios.h.
Move pmm definitions to new file std/pmm.h.
Split disk.h into block.h and std/disk.h.
Move standard bda type info from biosvar.h to std/bda.h.
Merge bmp.h, boot.h, jpeg.h, and post.h into util.h.
Sort the sections of util.h.
Move PIT setup from clock.c to hw/timer.c.
Rename hw/cmos.h to hw/rtc.h and copy RTC code from clock.c to
hw/rtc.c.
Move dma code to new file hw/dma.c.
Remove ioport.h; disperse its contents to other header files.
Minor - update file comments in src/malloc.c.
Rename fields of 'struct chs_s' and use in floppy lba2chs().
Rearrange stack_hop_back() call in wait_irq, check_irqs, and
_farcall16.
Minor - move call16 assembler in romlayout.S.
Make __call16 use C calling convention and support two passed
parameters.
Update _farcall16() to pass segment of callregs explicitly.
Support call16() calls after entering 32bit mode from call32().
Run ahci code entirely in 32bit mode.
Build different final files for QEMU, coreboot, and CSM.
Convert op->drive_g from a 16bit pointer to a 32 bit "GLOBALFLAT"
pointer.
megasas: Don't attempt to access 'struct pci_device' at runtime.
Minor - eliminate the SET_GLOBAL macro.
Move low-level hardware writing from output.c to new file
hw/serialio.c.
vgabios: Load the DAC palette in "packed" modes on Cirrus and
BochsVGA.
vgabios: Support custom fonts in vga framebuffer text writing.
vgabios: Add bochsvga "HDTV" resolutions.
vgabios: Avoid possible divide by zero in bochsvga_set_displaystart.
vgabios: Work around lack of support for "calll" in x86emu
emulation.
Minor - update file comment on bootsplash.c.
vgabios: Support allocating an extra stack for vgabios calls and
default on.
vgabios: Move initialization code to new file vgainit.c.
floppy: Minor - add warnings if timeouts occur.
Michael S. Tsirkin (6):
acpi: sync FADT flags from PIIX4 to Q35
acpi_extract.py: document DEVICE directives
biostables: support looking up RSDP
romfile_loader: utility to patch in-memory ROM files
acpi: load and link tables through romfile loader
acpi: strip compiler info in built-in DSDT if any
Paul Menzel (2):
ACPI DSDT: Make control method `IQCR` serialized
hw/usb-xhci.c: Code refactoring to not override initializers in
`speed_from_xhci[16]`
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 33f373d7c56350fd2ec3e31f4f2c46cb49464911
Author: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Date: Tue Dec 3 04:17:50 2013 +0800
target-i386: fix cpuid leaf 0x0d
Fix cpuid leaf 0x0d which incorrectly parsed eax and ebx.
However, before this patch the CPUID worked fine -- the .offset
field contained the size _and_ was stored in the register that
is supposed to hold the size (eax), and likewise the .size field
contained the offset _and_ was stored in the register trhat is
supposed to hold the offset (ebx).
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f2521c9023067a007d18b844fe7639c1c5b6f2ac
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:06 2013 +0100
qemu-img: dynamically adjust iobuffer size during convert
since the convert process is basically a sync operation it might
be benificial in some case to change the hardcoded I/O buffer
size to a greater value.
This patch increases the I/O buffer size if the output
driver advertises an optimal transfer length or discard alignment
that is greater than the default buffer size of 2M.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7572ddc8db114d8c437a97ca3eaedab397f66cda
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:05 2013 +0100
block/iscsi: set bs->bl.opt_transfer_length
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7337acaf219fc988e7ba91780b11770ff95169b4
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:04 2013 +0100
block: add opt_transfer_length to BlockLimits
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1c0704a556dbb004a3b82791779760f418053951
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:03 2013 +0100
block/iscsi: set bdi->cluster_size
this patch aims to set bdi->cluster_size to the internal page size
of the iscsi target so that enabled callers can align requests
properly.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 049b09825fe479f4caa013ccde0ff87fc9d82856
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:02 2013 +0100
qemu-img: fix usage instruction for qemu-img convert
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13c28af87a5541a9b09a59502b876a1725fb502d
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Nov 27 11:07:01 2013 +0100
qemu-img: add support for skipping zeroes in input during convert
we currently do not check if a sector is allocated during convert.
This means if a sector is unallocated that we allocate a bounce
buffer of zeroes, find out its zero later and do not write it
in the best case. In the worst case this can lead to reading
blocks from a raw device (like iSCSI) altough we could easily
know via get_block_status that they are zero and simply skip them.
This patch also fixes the progress output not being at 100% after
a successful conversion.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4323fdcf9451deaaf48468afa91b8bcaeac00cff
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:59 2013 +0800
qemu-nbd: add doc for option -f
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f33d287393d58f5513d25b097310ed4706fbf5b5
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:58 2013 +0800
qemu-iotests: add test for snapshot in qemu-img convert
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ef80654d0dc1edf2dd2a51feff8cc3e1102a6583
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:57 2013 +0800
qemu-img: add -l for snapshot in convert
Now qemu-img convert have similar options as qemu-nbd for internal
snapshot.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9c468a013fd0b0eb6154f8c5cfd2b1d498a86113
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:56 2013 +0800
qemu-iotests: add 058 internal snapshot export with qemu-nbd case
This case can't run when IMGPROTO=nbd, since it needs to create some
internal snapshot which would fail for EOF write request, even when
TEST_IMG is exported with "-f raw" in common.rc, so set _supported_proto
to file.
_require_command() is changed to tip what util is missing, instead
of printing a blank.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8c116b0e4141400f8d43a7e6dac8ff3adcc8aadd
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:55 2013 +0800
qemu-nbd: support internal snapshot export
Now it is possible to directly export an internal snapshot, which
can be used to probe the snapshot's contents without qemu-img
convert.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b4c4781e390a041fa0ef70817678f1b97fc6db6
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 4 17:10:54 2013 +0800
snapshot: distinguish id and name in load_tmp
Since later this function will be used so improve it. The only caller of
it
now is qemu-img, and it is not impacted by introduce function
bdrv_snapshot_load_tmp_by_id_or_name() that call bdrv_snapshot_load_tmp()
twice to keep old search logic. bdrv_snapshot_load_tmp_by_id_or_name()
return
int to let caller know the errno, and errno will be used later.
Also fix a typo in comments of bdrv_snapshot_delete().
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 34602dd6424c4f1cc414ba672f4f430182b5d9f2
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:03 2013 +0800
qemu-iotests: Split qcow2 only cases in 048
Format "raw" doesn't always work on certain file systems (e.g. tmpfs).
Use qcow2 to make the allocation status explicit and split into a new
case.
[Resolved merge conflict due to "qemu-io> " prompt filter, added 074 to
group file, and fixed up s/048/074/ copy-paste mistake.
--Stefan]
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 236c796432bed70e442aa617807a528c18b1ebd3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:02 2013 +0800
qemu-iotests: Clean up spaces in usage output
Whitespace changes to align columns.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e14fb91312b27754aa30e78d4bb4ad5cb183b646
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:01 2013 +0800
qemu-iotests: Change default cache mode to "writeback"
So that the tests can run faster.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f210a83c1f809516acd9179d02d8c986c5db24cd
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:07:00 2013 +0800
qemu-iotests: Add _default_cache_mode and _supported_cache_modes
This replaces _unsupported_qemu_io_options and check for support of
current cache mode, and allow to provide a default if user didn't
specify.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58cc2ae1e3f9f8cd6830a0af116c51c3355710d3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:06:59 2013 +0800
qemu-iotests: Honour cache mode in iotests.py
This will allow overriding cache mode from the "-c mode" option.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3baa84491a43c6ba4909cbff69a9f045df9f4879
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Dec 4 09:06:58 2013 +0800
qemu-iotests: Add "-c <cache-mode>" option
The option sets cache mode used in the tests. "-nocache" is changed to
an alias to "-c none", and internally passes "-t none" to qemu-io.
Python scripts will make use of option this in the next commit.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f8413b3c23b08a547ce18609acc6fae5fd04ed5c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Dec 4 11:06:36 2013 +0100
qcow2: Zero-initialise first cluster for new images
Strictly speaking, this is only required for has_zero_init() == false,
but it's easy enough to just do a cluster-aligned write that is padded
with zeros after the header.
This fixes that after 'qemu-img create' header extensions are attempted
to be parsed that are really just random leftover data.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 66f6b8143ba0fd873a0b4b4b3da41cf604bc5a11
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Dec 3 14:57:52 2013 +0100
block: Close backing file early in bdrv_img_create
Leaving the backing file open although it is not needed anymore can
cause problems if it is opened through a block driver which allows
exclusive access only and if the create function of the block driver
used for the top image (the one being created) tries to close and reopen
the image file (which will include opening the backing file a second
time).
In particular, this will happen with a backing file opened through
qemu-nbd and using qcow2 as the top image file format (which reopens the
image to flush it to disk).
In addition, the BlockDriverState in bdrv_img_create() is used for the
backing file only; it should therefore be made local to the respective
block.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 84f94a9a82487639bc87d5f09f938c9f6a61f79a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:40:01 2013 +0100
scsi-disk: correctly implement WRITE SAME
Fetch the data to be written from the input buffer. If it is all zeroes,
we can use the write_zeroes call (possibly with the new MAY_UNMAP flag).
Otherwise, do as many write cycles as needed, writing 512k at a time.
Strictly speaking, this is still incorrect because a zero cluster should
only be written if the MAY_UNMAP flag is set. But this is a bug in qcow2
and the other formats, not in the SCSI code.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 823bd7391c96ba675f20fd6d952d1cb6e1ffb851
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:40:00 2013 +0100
scsi-disk: reject ANCHOR=1 for UNMAP and WRITE SAME commands
Since we report ANC_SUP==0 in VPD page B2h, we need to return
an error (ILLEGAL REQUEST/INVALID FIELD IN CDB) for all WRITE SAME
requests with ANCHOR==1.
Inspired by a similar patch to the LIO in-kernel target.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c5fd1fb038405ed13496761970b3b531f747a892
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:59 2013 +0100
scsi-disk: catch write protection errors in UNMAP
This is the same that is already done for WRITE SAME.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e18d90c15bab0d47d8f30696058abfb78396081f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:58 2013 +0100
qemu-iotests: 033 is fast
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97a2ae34537882df34810d538ab1f51085499d2c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:57 2013 +0100
raw-posix: add support for write_zeroes on XFS and block devices
The code is similar to the implementation of discard and write_zeroes
with UNMAP. However, failure must be propagated up to block.c.
The stale page cache problem can be reproduced as follows:
# modprobe scsi-debug lbpws=1 lbprz=1
# ./qemu-io /dev/sdXX
qemu-io> write -P 0xcc 0 2M
qemu-io> write -z 0 1M
qemu-io> read -P 0x00 0 512
Pattern verification failed at offset 0, 512 bytes
qemu-io> read -v 0 512
00000000: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
................
...
# ./qemu-io --cache=none /dev/sdXX
qemu-io> write -P 0xcc 0 2M
qemu-io> write -z 0 1M
qemu-io> read -P 0x00 0 512
qemu-io> read -v 0 512
00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
...
And similarly with discard instead of "write -z".
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d0b4503ed2d8713791c38839341b023f78d1a3d9
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:56 2013 +0100
raw-posix: implement write_zeroes with MAY_UNMAP for block devices
See the next commit for the description of the Linux kernel problem
that is worked around in raw_open_common.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 260a82e524b7f86c12b8e39d4c3f208af95645f7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:55 2013 +0100
raw-posix: implement write_zeroes with MAY_UNMAP for files
Writing zeroes to a file can be done by punching a hole if
MAY_UNMAP is set.
Note that in this case ENOTSUP is not ignored, but makes
the block layer fall back to the generic implementation.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fa6252b0565526ec2347e248172f91771e0d9f47
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:54 2013 +0100
block/iscsi: check WRITE SAME support differently depending on MAY_UNMAP
The current check is right for MAY_UNMAP=1. For MAY_UNMAP=0, just
try and fall back to regular writes as soon as a WRITE SAME command
fails.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2af8a1a704a352bab2e9eaf803db0b3552e826d0
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Nov 22 13:39:53 2013 +0100
block/iscsi: updated copyright
added myself to reflect recent work on the iscsi block driver.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4b52498e62d02a30f780875f54431d1bad0bcabd
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Nov 22 13:39:52 2013 +0100
block/iscsi: remove .bdrv_has_zero_init
since commit 3ac21627 the default value changed to 0.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cffb1ec600de83f693a23578fc2f344c1af9b96f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:51 2013 +0100
block drivers: expose requirement for write same alignment from formats
This will let misaligned but large requests use zero clusters. This
is important because the cluster size is not guest visible.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 95de6d7078b029b73708059a17cef20f332adcb7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:50 2013 +0100
block drivers: add discard/write_zeroes properties to bdrv_get_info
implementation
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97b00e285119e611f500686f32f9bccffbb9126a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:49 2013 +0100
vpc, vhdx: add get_info
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b8d71c09f31a9cae248d167dddc75c66d5135ff2
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:48 2013 +0100
block: make bdrv_co_do_write_zeroes stricter in producing aligned requests
Right now, bdrv_co_do_write_zeroes will only try to align the
beginning of the request. However, it is simpler for many
formats to expect the block layer to separate both the head *and*
the tail. This makes sure that the format's bdrv_co_write_zeroes
function will be called with aligned sector_num and nb_sectors for
the bulk of the request.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7ce21016b69b512bf4777965a4292318f2bc7544
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:47 2013 +0100
block: handle ENOTSUP from discard in generic code
Similar to write_zeroes, let the generic code receive a ENOTSUP for
discard operations. Since bdrv_discard has advisory semantics,
we can just swallow the error.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d5ef94d43da8c57a2d597efbdec3d9a54d97fdf7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:46 2013 +0100
block: add bdrv_aio_write_zeroes
This will be used by the SCSI layer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 94d6ff21f48c8c98e6e9eef58cc6f6346c9dd851
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:45 2013 +0100
block: add flags argument to bdrv_co_write_zeroes tracepoint
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d20d9b7c6723d0123b7d60dd5557aa0a6599f471
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:44 2013 +0100
block: add flags to BlockRequest
This lets bdrv_co_do_rw receive flags, so that it can be used for
zero writes.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d51e9fe505f7c7b97762100dd0e42cef43c90524
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Nov 22 13:39:43 2013 +0100
block: generalize BlockLimits handling to cover bdrv_aio_discard too
bdrv_co_discard is only covering drivers which have a .bdrv_co_discard()
implementation, but not those with .bdrv_aio_discard(). Not very nice,
and easy to avoid.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e9eecb5bf82a71564bf018fcbbfc6cda19cab6c2
Author: Paul Moore <pmoore@xxxxxxxxxx>
Date: Thu Nov 21 10:40:15 2013 -0500
seccomp: add kill() to the syscall whitelist
The kill() syscall is triggered with the following command:
# qemu -sandbox on -monitor stdio \
-device intel-hda -device hda-duplex -vnc :0
The resulting syslog/audit message:
# ausearch -m SECCOMP
----
time->Wed Nov 20 09:52:08 2013
type=SECCOMP msg=audit(1384912328.482:6656): auid=0 uid=0 gid=0 ses=854
subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=12087
comm="qemu-kvm" sig=31 syscall=62 compat=0 ip=0x7f7a1d2abc67 code=0x0
# scmp_sys_resolver 62
kill
Reported-by: CongLi <coli@xxxxxxxxxx>
Tested-by: CongLi <coli@xxxxxxxxxx>
Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx>
Acked-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
commit af057fe74092df2e7a576448ddbdc0daac1370bf
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Dec 3 10:41:05 2013 +0800
vmdk: Fix creating big description file
The buffer for description file was 4096 which only covers a few
hundred of extents. This changes the buffer to dynamic allocated with
g_strdup_printf in order to support bigger cases.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a6b6d08a3bf93c8cc6521336a89ac0467ab7edca
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Dec 2 21:17:19 2013 +0400
hw/ppc/mac.h: remove unused BIOS_FILENAME definition
This definition has been moved to prep.c.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4282c8277013dc5613b8f27845f6121b66b7cbff
Author: Don Koch <dkoch@xxxxxxxxxxx>
Date: Tue Nov 19 15:01:59 2013 -0500
Don't crash on keyboard input with no handler
Prevent a call to put_kbd if null.
On shutdown of some OSes, the keyboard handler goes away before the
system is down. If a key is typed during this window, qemu crashes.
Signed-off-by: Don Koch <dkoch@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit efbc42e5848bb8000bfa6927847f1870850942ba
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 22:12:18 2013 +0100
libcacard/vcard_emul_nss: Remove unused statement (value stored is never
read)
Warning from ccc-analyzer:
libcacard/vcard_emul_nss.c:937:9: warning:
Value stored to 'cert_count' is never read
cert_count = options->vreader[i].cert_count;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 754e72e195faca8042072ada054bc3668aa1647d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 22:11:23 2013 +0100
libcacard/cac: Remove unused statement (value stored is never read)
Warning from ccc-analyzer:
libcacard/cac.c:192:13: warning: Value stored to 'ret' is never read
ret = VCARD_DONE;
^ ~~~~~~~~~~
Here 'ret' is assigned a value inside of a switch statement and also after
that switch statement.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit cb77e358152afb348a513d8eb404cb7ff65cfad2
Author: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 27 15:35:26 2013 +0800
virtio-net: fix the indent
Signed-off-by: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1246b259f846136d58a89568fdc0421d02e4df65
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Dec 1 08:49:47 2013 +0100
misc: Replace 'struct QEMUTimer' by 'QEMUTimer'
Most code already used QEMUTimer without the redundant 'struct' keyword.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 47908a0f66c5369a94e93d951a5d0c28d007ff80
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 19:00:42 2013 +0100
qobject: Fix compiler warning (missing gnu_printf format attribute)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC qobject/qerror.o
qobject/qerror.c: In function â??qerror_from_infoâ??:
qobject/qerror.c:53:5: error:
function might be possible candidate for â??gnu_printfâ?? format
attribute [-Werror=suggest-attribute=format]
qerr->err_msg = g_strdup_vprintf(fmt, *va);
^
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 867d898ccf50ef095b95c403d7dc809c188b14e2
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 19:00:22 2013 +0100
acpi-build: Fix compiler warning (missing gnu_printf format attribute)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC m68k-softmmu/hw/m68k/mcf5206.o
hw/i386/acpi-build.c: In function â??build_append_namesegâ??:
hw/i386/acpi-build.c:294:5: error:
function might be possible candidate for â??gnu_printfâ?? format
attribute [-Werror=suggest-attribute=format]
g_string_vprintf(s, format, args);
^
When this warning is fixed, there is a new compiler warning:
CC i386-softmmu/hw/i386/acpi-build.o
hw/i386/acpi-build.c: In function â??build_append_notifyâ??:
hw/i386/acpi-build.c:632:5: error:
format not a string literal and no format arguments
[-Werror=format-security]
build_append_nameseg(method, name);
^
This is fixed here, too.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b2e2395f1308f784acd2e0af0d6f2a6f5668aafb
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 22 14:39:56 2013 +0800
.gitignore: Ignore config.status
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ef0dd982cb7dbff3ea234fe48187d556e69d6765
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 16:24:02 2013 +0100
gtk: Replace conditional debug messages by trace methods
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5d28b0e960cd3a99f7e013900a0e12468720b402
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 16:04:16 2013 +0100
console: Replace conditional debug messages by trace methods
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 12269616227c2ee34f4c853cae676e18a5e01b18
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 14:20:17 2013 +0100
trace: Remove trace.h from hw/usb/hcd-ehci.h (less dependencies)
This reduces the dependencies on trace.h.
Only one source file which needs hcd-ehci.h also needs trace.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ac86048bcd41129b18702ba63395f222871804de
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 14:20:16 2013 +0100
trace: Remove trace.h from console.h (less dependencies)
This reduces the dependencies on trace.h.
Only two source files which need console.h also need trace.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 7b6b145dbc62162df818dc2c5153defd0417c688
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:47 2013 +0100
coroutine: remove unused CoQueue AioContext
The AioContext ctx field is apparently unused in qemu codebase since
02ffb504485.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f287c41381efe172ff5dc62498e2afc83a9ab995
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Sun Dec 1 22:23:34 2013 +0100
coroutine: remove qemu_co_queue_wait_insert_head
qemu_co_queue_wait_insert_head() is unused in qemu code base now.
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1442d3e6912d7ec88480099503cfa0aeaedf5634
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 15 16:57:45 2013 +0200
add firmware to machine options
This patch adds firmware to the machine options. -bios <file> becomes a
shortcut for -machine firmware=<file>. Advantage is that the firmware
can be specified via config file as -machine is parsed using QemuOpts
and it is also possible to use different defaults for different
machine types (via QEMUMachine->default_machine_opts).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit aeca6e8d8b7dba78c3d1622463e238b773d9df13
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Dec 2 12:47:29 2013 +0100
add pc-{i440fx,q35}-2.0 machine types
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 539891a85d17bd8c23a2547e52e26993350d2c3a
Author: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Wed Nov 13 15:25:07 2013 +0000
xen-pvdevice: make device-id property compulsory
The intention of the Xen PV device is that it is used as a parent
device for PV drivers in Xen HVM guests and the set of PV drivers that
bind to the device is determined by its device ID (and possibly
vendor ID and revision). As such, the device should not have a default
device ID, it should always be supplied by the Xen toolstack.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit d18e173a07a9c1e7f087384a8832d295043136bb
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date: Mon Oct 14 13:53:53 2013 +0100
xen: fix two errors when debug is enabled
This patch fixes:
1. build error in xen_pt.c when XEN_PT_LOGGING_ENABLED is defined
2. debug output format string error when DEBUG_XEN is defined
In the second case I also have the output info in consistent with the
output in mapping function - that is, print start_addr instead of
phys_offset.
Signed-off-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
commit 0b959cf5e4cce08ed96bd7832447e1543cd3622f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Oct 15 15:00:36 2013 -0700
linux-user: Use qemu_getauxval for AT_EXECFD
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 664d2c4458a268eb176a223c397453a72ed167f4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Jun 10 09:05:09 2013 -0700
util: Use qemu_getauxval in linux qemu_cache_utils_init
With this we no longer pass down envp, and thus all systems can have
the same void prototype. So also eliminate a useless thunk.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c9baa30f42a87f61627391698f63fa4d1566d9d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jun 7 07:43:33 2013 -0700
tcg-s390: Use qemu_getauxval in query_facilities
No need to set up a SIGILL signal handler for detection anymore.
Remove a ton of sanity checks that must be true, given that we're
requiring a 64-bit build (the note about 31-bit KVM is satisfied
by configuring with TCI).
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 41d9ea80ac8455845494c889fe6ac447b39a7d64
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jun 7 07:26:20 2013 -0700
tcg-arm: Use qemu_getauxval
Allow host detection on linux systems without glibc 2.16 or later.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit cd629de1cf013e9654c6f0b92b2329f04dfaf880
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 11:37:17 2013 -0700
tcg-ppc64: Use qemu_getauxval
Allow host detection on linux systems without glibc 2.16 or later.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b6a3e690b4f396633c75e18a9c3e7b6771fb71ba
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jun 4 11:24:49 2013 -0700
osdep: Create qemu_getauxval and qemu_init_auxval
Abstract away dependence on a system implementation of getauxval.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 981cbf59b5360647e908186e7306ee9013a58c88
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Nov 28 09:48:04 2013 +0800
qemu-iotests: Add sample image and test for VMDK version 3
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 509d39aa22909c0ed1aabf896865f19c81fb38a1
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Nov 28 09:48:03 2013 +0800
vmdk: Allow read only open of VMDK version 3
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c34b8012e877f494c7be5abdfb67b51242a6935e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Nov 18 15:13:01 2013 +0800
qemu-iotests: Filter out 'qemu-io> ' prompt
This removes "qemu-io> " prompt from qemu-io output in _filter_qemu_io,
and updates all the output files with the following command:
cd tests/qemu-iotests && sed -i "s/qemu-io> //g" *.out
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 0d83c98bf15269e80e3558dc2c7b27e2f4386158
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Nov 18 15:10:58 2013 +0800
qemu-iotests: Filter qemu-io output in 025
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c9fbb99d41b05acf0d7b93deb2fcdbf9047c238e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Nov 28 11:58:02 2013 +0100
block: Use BDRV_O_NO_BACKING where appropriate
If you open an image temporarily just because you want to check its size
or get it flushed, there's no real reason to open the whole backing file
chain.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
commit f32f988c7778d0f1ff9c7e8d7547a354a7fdd3f6
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Nov 15 17:00:41 2013 +0100
qemu-iotests: Test snapshot mode
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 9fd3171af9d7de2777bf38ce79c2fe3dd6f9a49e
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Nov 14 15:37:12 2013 +0100
block: Enable BDRV_O_SNAPSHOT with driver-specific options
In the case of snapshot=on, don't rely on the backing file path in the
temporary image any more, but override the backing file with the given
set of options. This way, block drivers that don't use a file name can
be accessed with snapshot=on, for example:
-drive file.driver=nbd,file.host=localhost,snapshot=on
Which becomes internally something like:
file.filename=/tmp/vl.AWQZCu,backing.file.driver=nbd,backing.file.host=localhost
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b59b3d57737a0d40450f8232abd89e8986387402
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:56 2013 +0800
qemu-iotests: Make test case 030, 040 and 055 deterministic
Pause the drive and start the block job, so we won't miss the block job.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3cf53c771406ad360117f30e61b24635df0e9b50
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:55 2013 +0800
qemu-iotest: Add pause_drive and resume_drive methods
They wrap blkdebug "break" and "remove_break".
Add optional argument "resume" to cancel_and_wait().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4cc70e933731ebf4309e1f1ce90973a0de04f28f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:54 2013 +0800
blkdebug: add "remove_break" command
This adds "remove_break" command which is the reverse of blkdebug
command "break": it removes all breakpoints with given tag and resumes
all the requests.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5b43dbb699599cdb9f75a624cb28d4f709ad2cdf
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 20 10:01:53 2013 +0800
qemu-iotests: Drop local version of cancel_and_wait from 040
iotests.py already has one.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b3af018f3babfe7a0328759a86c00a6a6b4f6443
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Thu Nov 7 22:56:38 2013 +0800
sheepdog: support user-defined redundancy option
Sheepdog support two kinds of redundancy, full replication and erasure
coding.
# create a fully replicated vdi with x copies
-o redundancy=x (1 <= x <= SD_MAX_COPIES)
# create a erasure coded vdi with x data strips and y parity strips
-o redundancy=x:y (x must be one of {2,4,8,16} and 1 <= y <
SD_EC_MAX_STRIP)
E.g, to convert a vdi into sheepdog vdi 'test' with 8:3 erasure coding
scheme
$ qemu-img convert -o redundancy=8:3 linux-0.2.img sheepdog:test
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c31d482f29ffe4ba54065acfb2f31c3f4ce586b7
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Thu Nov 7 22:56:37 2013 +0800
sheepdog: refactor do_sd_create()
We can actually use BDRVSheepdogState *s to pass most of the parameters.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4d5977eaecd3675c1176274a50f74ebc40dd13ec
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Nov 20 13:09:21 2013 +0100
qdict: Optimise qdict_do_flatten()
Nested QDicts used to be both entered recursively in order to move their
entries to the target QDict and also be moved themselves to the target
QDict like all other objects. This is harmless because for the top
level, qdict_do_flatten() will encounter the (now empty) QDict for a
second time and then delete it, but at the same time it's obviously
unnecessary overhead. Just delete nested QDicts directly after moving
all of their entries.
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6273d1136af913aaf4badc4545ccf942557c747b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Nov 20 13:09:20 2013 +0100
qdict: Fix memory leak in qdict_do_flatten()
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dce32b6c2bfd5132c433638352eea6f7707caf9c
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Nov 20 15:51:59 2013 +0800
MAINTAINERS: add sheepdog development mailing list
This will help people find mailing list relevant to sheepdog.
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 091b1108ca6d6e3bfaea5f095f219bf5ea8c316b
Author: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Date: Fri Nov 15 19:47:02 2013 +0100
COW: Extend checking allocated bits to beyond one sector
cow_co_is_allocated() only checks one sector's worth of allocated bits
before returning. This is allowed but (slightly) inefficient, so extend
it to check all of the file's metadata sectors.
Signed-off-by: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
[kwolf: silenced compiler warning (-Wmaybe-uninitialized for changed)]
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 14b98fdaf3422fef19718033be9eca7e0b776a26
Author: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Date: Fri Nov 15 19:47:01 2013 +0100
COW: Speed up writes
Process a whole sector's worth of COW bits by reading a sector, setting
the bits after skipping any already set bits, then writing it out again.
Make sure we only flush once before writing metadata, and only if we
need to write metadata.
Signed-off-by: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 21b568350861a2c6eedfef95b70f88faf2fbd32a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 13 18:29:44 2013 +0800
qapi: Change BlockDirtyInfo to list
We have multiple dirty bitmaps in BDS now, switch QAPI to allow query
it (BlockInfo.dirty_bitmaps), and also drop old BlockInfo.dirty.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e4654d2d9406016d6e4e296ba8db3d118caf9ff6
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 13 18:29:43 2013 +0800
block: per caller dirty bitmap
Previously a BlockDriverState has only one dirty bitmap, so only one
caller (e.g. a block job) can keep track of writing. This changes the
dirty bitmap to a list and creates a BdrvDirtyBitmap for each caller, the
lifecycle is managed with these new functions:
bdrv_create_dirty_bitmap
bdrv_release_dirty_bitmap
Where BdrvDirtyBitmap is a linked list wrapper structure of HBitmap.
In place of bdrv_set_dirty_tracking, a BdrvDirtyBitmap pointer argument
is added to these functions, since each caller has its own dirty bitmap:
bdrv_get_dirty
bdrv_dirty_iter_init
bdrv_get_dirty_count
bdrv_set_dirty and bdrv_reset_dirty prototypes are unchanged but will
internally walk the list of all dirty bitmaps and set them one by one.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a29267846a52b4ca294ba3a962b74b67df7ce6d2
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Oct 30 14:46:32 2013 +0100
linux-user: pass correct parameter to do_shmctl()
Fix shmctl issue by passing correct parameter buf to do_shmctl().
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 55a2b1631fb343edac4a2d4596c72e58ee1372b3
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Wed Oct 30 14:46:31 2013 +0100
linux-user: create target_structs header to place ipc_perm and shmid_ds
Creating target_structs header in linux-user/$arch/ and making
target_ipc_perm and target_shmid_ds its first inhabitants.
The struct defintions may/should be further fine-tuned by arch
maintainers.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 9721cf2cd6ecfc50d2ab1349e27b53c4bc36df54
Author: Corey J. Boyle <corey@xxxxxxxxxxxxx>
Date: Sat Oct 5 07:46:31 2013 -0400
flatload: fix non-GOT relocations
Use target address rather than host address when performing
non-GOT relocations
Signed-off-by: Corey J. Boyle <corey@xxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f4f1e10a58cb5ec7806d47d20671e668a52c3e70
Author: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Date: Fri Nov 29 18:39:23 2013 +1100
linux-user: Implement handling of 5 POSIX timer syscalls.
Implement timer_create, timer_settime, timer_gettime, timer_getoverrun
and timer_delete.
Signed-off-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 905bba13ca292cb8c83fe5ccdf8a95bd04168bb1
Author: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Date: Fri Nov 29 18:39:22 2013 +1100
linux-user: Add target struct defs needed for POSIX timer syscalls.
Signed-off-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 0b1fa34e1dd2764ee7ae2be849e1c5ba5e8724ca
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 07:33:28 2013 +0100
usb: move usb_{hi,lo} helpers to header file.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2b81ba53887e6f3b5a79ecd2f446f849ed89561f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Nov 19 12:37:58 2013 +0100
usb: add vendor request defines
Add defines for vendor specific usb control requests.
Group defines by Device / Interface / Endpoint while
being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 904c063039f5923a07ce35fc40ed78ec6f7dee1a
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Nov 25 13:08:18 2013 +0100
trace-events: Clean up after removal of old usb-host code
Commit b5613fd neglected to drop the trace events along with the code.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 690af06aebdfd043a6222de96a535dcba2144caf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 14:32:27 2013 +0100
Revert "usb-tablet: Don't claim wakeup capability for USB-2 version"
This reverts commit aa1c9e971e80d25b92908dce3dec7c38b49480ea.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e489df40caa96d895d9672d77f536f23c9e42f94
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Nov 20 14:10:19 2013 +0100
ehci: implement port wakeup
Update portsc register and raise irq in case a suspended
port is woken up, so remote wakeup works on our ehci ports.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f4a193e717e6b5179a2e57423bfe110b724662d8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Nov 13 20:37:58 2013 +0100
block/stream: Don't stream unbacked devices
If a block device is unbacked, a streaming blockjob should immediately
finish instead of beginning to try to stream, then noticing the backing
file does not contain even the first sector (since it does not exist)
and then finishing normally.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8582972227196c289bb3b28086b3b2d01071d958
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Aug 7 16:59:53 2013 +0800
sheepdog: implement .bdrv_get_allocated_file_size
With this patch, qemu-img info sheepdog:image will show disk size for
sheepdog
images.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f8d1daea6f3ccd7450c2177ffb8903f0202711ee
Author: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Date: Thu Aug 8 03:23:14 2013 +0100
Test coroutine execution order
This patch adds a test for coroutine execution order in test-coroutine -
this catches a bug in the CPC coroutine implementation.
Signed-off-by: Charlie Shepherd <charlie@xxxxxxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b276d2499428795629eee8ee93ba1ea100bb1bc9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Nov 7 20:10:29 2013 +0100
util/error: Save errno from clobbering
There may be calls to error_setg() and especially error_setg_errno()
which blindly (and until now wrongly) assume these functions not to
clobber errno (e.g., they pass errno to error_setg_errno() and return
-errno afterwards). Instead of trying to find and fix all of these
constructs, just make sure error_setg() and error_setg_errno() indeed do
not clobber errno.
Suggested-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5a37b60a61c4c334e3b194758871f41494317d42
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:06 2013 +0200
qemu-img: conditionally zero out target on convert
If the target has_zero_init = 0, but supports efficiently
writing zeroes by unmapping we call bdrv_make_zero to
avoid fully allocating the target. This currently works
only for iscsi. It can be extended to raw with
BLKDISCARDZEROES for example.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11b6699af59b8684128debacfc7c44cbaa6ac53b
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:05 2013 +0200
qemu-img: add support for fully allocated images
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3d8688470a33feb0ea78c006b4399d50c13185e
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:04 2013 +0200
block/get_block_status: fix BDRV_BLOCK_ZERO for unallocated blocks
this patch does 2 things:
a) only do additional call outs if BDRV_BLOCK_ZERO is not already set.
b) use the newly introduced bdrv_unallocated_blocks_are_zero()
to return the zero state of an unallocated block. the used callout
to bdrv_has_zero_init() is only valid right after bdrv_create.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d75cbb5e68f5a7d64248ba89399a7f2073231de5
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:03 2013 +0200
block: introduce bdrv_make_zero
this patch adds a call to completely zero out a block device.
the operation is sped up by checking the block status and
only writing zeroes to the device if they currently do not
return zeroes. optionally the zero writing can be sped up
by setting the flag BDRV_REQ_MAY_UNMAP to emulate the zero
write by unmapping if the driver supports it.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d4cd961507e6f013fd0f9b1dc609f15ed2aaa40d
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:02 2013 +0200
iscsi: add bdrv_co_write_zeroes
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 01a6a238a30b0381846e3e68ba06e232567a7026
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:01 2013 +0200
iscsi: simplify iscsi_co_discard
now that bdrv_co_discard can handle limits we do not need
the request split logic here anymore.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ba6c59191f245147e7ee0c2b9ecaf5fb116f7877
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:07:00 2013 +0200
iscsi: set limits in BlockDriverState
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6f14da5247076bde1e00444f6d5b2b7ca8075a09
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:59 2013 +0200
block: honour BlockLimits in bdrv_co_discard
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c31cb70728d2c0c8900b35a66784baa446fd5147
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:58 2013 +0200
block: honour BlockLimits in bdrv_co_do_write_zeroes
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 04f19e4d2da4325297c99e94f20b0aca52546209
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:57 2013 +0200
block/raw: copy BlockLimits on raw_open
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fe81c2cca6dc69a5e423f6d8b235606b7f3ca7b7
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:56 2013 +0200
block: add BlockLimits structure to BlockDriverState
this patch adds BlockLimits which introduces discard and write_zeroes
limits and alignment information to the BlockDriverState.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 186d4f2b1deaae5c404798959bfbdb781e762045
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:55 2013 +0200
block/iscsi: add .bdrv_get_info
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4ce786914b745a144a9eda1ea33f3ff98328c527
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:54 2013 +0200
block: add wrappers for logical block provisioning information
This adds 2 wrappers to read the unallocated_blocks_are_zero and
can_write_zeroes_with_unmap info from the BDI. The wrappers are
required to check for the existence of a backing_hd and
if the devices are opened with the correct flags.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1a5c4bed44bc23f69f53883c657e31e150cab30
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:53 2013 +0200
block: add logical block provisioning info to BlockDriverInfo
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d32f35cbc5a87af5e1100dd55074a79fc2cb5307
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:52 2013 +0200
block: introduce BDRV_REQ_MAY_UNMAP request flag
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aa7bfbfff792538a9eeefe879fc4c629aa0b4203
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:51 2013 +0200
block: add flags to bdrv_*_write_zeroes
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6faac15fa80c4c1f813d96afc13bceaa3bc5ffe7
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 12:06:50 2013 +0200
block: make BdrvRequestFlags public
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7dc65c02fe3fb8f3146ce0b9ff5fec5945329f0e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 27 14:02:45 2013 -0800
Open 2.0 development tree
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0e7b9f06a6cc032be6ca2ac55a27592abd374179
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 27 11:30:46 2013 -0800
Update version for 1.7.0 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 171d64319c9604228429b0580edf764a69b67c75
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Nov 25 20:28:56 2013 +0100
qemu-iotests: Fix test 041
Performing multiple drive-mirror blockjobs on the same qemu instance
results in the image file used for the block device being replaced by
the newly mirrored file, which is not what we want.
Fix this by performing one dedicated test per sync mode.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1385407736-13941-3-git-send-email-mreitz@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 117e0c82881f05d88902d4059a3171bc6cd02df0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Nov 25 20:28:55 2013 +0100
block/drive-mirror: Reuse backing HD for sync=none
For "none" sync mode in "absolute-paths" mode, the current image should
be used as the backing file for the newly created image.
The current behavior is:
a) If the image to be mirrored has a backing file, use that (which is
wrong, since the operations recorded by "none" are applied to the
image itself, not to its backing file).
b) If the image to be mirrored lacks a backing file, the target doesn't
have one either (which is not really wrong, but not really right,
either; "none" records a set of operations executed on the image
file, therefore having no backing file to apply these operations on
seems rather pointless).
For a, this is clearly a bugfix. For b, it is still a bugfix, although
it might break existing API - but since that case crashed qemu just
three weeks ago (before 1452686495922b81d6cf43edf025c1aef15965c0), we
can safely assume there is no such API relying on that case yet.
Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1385407736-13941-2-git-send-email-mreitz@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 72391da50621c9f11bb8c57193ab2d1ad8bc5ad8
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:58 2013 +0100
xhci: Call usb_device_alloc/free_streams
Note this code is not as KISS as I would like, the reason for this is that
the Linux kernel interface wants streams on eps belonging to one interface
to be allocated in one call. Things will also work if we do this one ep
at a
time (as long as all eps support the same amount of streams), but lets
stick
to the kernel API.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3b444eadf7726d976be4ac89e8e742cb7eb7a5ee
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:57 2013 +0100
usb: Add usb_device_alloc/free_streams
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 04b300f85fafd2d6a92ec0a766f0035e9bc5835c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:56 2013 +0100
usb: Add max_streams attribute to endpoint info
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5007c940a9c96ad974573915192424ba00b49932
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:37:04 2013 +0100
uas: s/ui/iu/
The various uas data structures are called IU-s, which is short for
Information Unit, rather then UI-s.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 49cfa2fdc92be2cdd01b9fba846cd52aea1f7f63
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 31 10:35:31 2013 +0100
uas: Fix response iu struct definition
This patch mirrors a patch to the Linux uas kernel driver which I've just
submitted. It looks like the qemu uas struct definitions were taken from
the Linux kernel driver, and have inherited the same mistake.
Besides fixing the response iu struct, the patch also drops the add_info
parameter from the usb_uas_queue_response() function, it is always 0
anyways,
and expressing 3 zero-bytes as a function argument is a bit hard.
Below is the long explanation for this change taken from the kernel
commit:
The response iu struct before this patch has a size of 7 bytes, which is
weird
since all other iu-s are explictly padded to a multiple of 4 bytes.
Submitting a 7 byte bulk transfer to the status endpoint of a real uasp
device
when expecting a response iu results in an USB babble error, as the device
actually sends 8 bytes.
Up on closer reading of the UAS spec:
http://www.t10.org/cgi-bin/ac.pl?t=f&f=uas2r00.pdf
The reason for this becomes clear, the 2 entries in "Table 17 â??
RESPONSE IU"
are numbered 4 and 6, looking at other iu definitions in the spec, esp.
multi-byte fields, this indicates that the ADDITIONAL RESPONSE INFORMATION
field is not a 2 byte field as one might assume at a first look, but is
a multi-byte field containing 3 bytes.
This also aligns with the SCSI Architecture Model 4 spec, which UAS is
based
on which states in paragraph "7.1 Task management function procedure
calls"
that the "Additional Response Information" output argument for a Task
management function procedure call is 3 bytes.
Last but not least I've verified this by sending a logical unit reset task
management call with an invalid lun to an actual uasp device, and received
back a response-iu with byte 6 being 0, and byte 7 being 9, which is the
responce code for an invalid iu, which confirms that the response code is
being reported in byte 7 of the response iu rather then in byte 6.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3453f9a0dfa58578e6dadf0905ff4528b428ec73
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:53 2013 +0100
uas: Bounds check tags when using streams
Disallow the guest to cause us to address the data3 and status3 arrays
out of bounds.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 0478661ec5f949f16a70687b348c0fb2a56cc537
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:52 2013 +0100
uas: Streams are numbered 1-y, rather then 0-x
It is easier to simply make the arrays one larger, rather then
substracting one everywhere.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5eb6d9e3ef1fac096ab5b3f5c14e1f4079dd7367
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:51 2013 +0100
uas: Fix / cleanup usb_uas_task error handling
-The correct error if we cannot find the dev is INCORRECT_LUN rather then
INVALID_INFO_UNIT
-Move the device not found check to the top so we only need to do it once
-Remove the dev->lun != lun checks, dev is returned by scsi_device_find
which searches by lun, so this will never trigger
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d4bfc7b9f35da7dcc28ae87de503b28bd7ff56ee
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:50 2013 +0100
uas: Only use report iu-s for task_mgmt status reporting
Regular scsi cmds should always report their status using a sense-iu,
using
the sense code to report any errors.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9ec557bd53031fb50cc0cd426a2d529624d3d515
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Thu Oct 24 18:15:49 2013 +0100
scsi: Add 2 new sense codes needed by uas
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f1f8bc218a422081f36f0b325b3de5e6a5078b74
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 8 11:43:20 2013 +0100
xhci: add support for suspend/resume
The OS can ask the xhci controller to save and restore its
internal state, which is used by the OS when the system is
suspended and resumed.
This patch handles writes to the save + restore bits in the
command register. Only thing it does is updating the
restore error bit in the status register to signal an error
on restore. The guest OS should do a full reinitialization
after resume then.
This is the minimal patch which gets S3 going with xhci.
Implementing full save/restore support is TBD.
https://bugzilla.redhat.com/show_bug.cgi?id=1012365
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit de9de157fbb9aa66380ab1973dd6ecf12fbd8b25
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Nov 19 14:36:59 2013 +0100
xhci: Add a few missing checks for disconnected devices
One of the reworks of qemu's usb core made changes to usb-port's
disconnect
handling. Now ports with a device will always have a non 0 dev member, but
if the device is not attached (which is possible with usb redirection),
dev->attached will be 0.
So supplement all checks for dev to also check dev->attached, and add an
extra check in a path where a device check was completely missing.
This fixes various crashes (asserts triggering) I've been seeing when xhci
attached usb devices get disconnected at the wrong time.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7457fe9541b5162f285454947448d553a5d5a531
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 20:37:12 2013 -0800
Update version for v1.7.0-rc2 release
commit 032ac6f8bfb68746cb0eea407b1cd2b22a78898f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Nov 22 15:35:03 2013 +0100
curses: fixup SIGWINCH handler mess
Don't run code in the signal handler, only set a flag.
Use sigaction(2) to avoid non-portable signal(2) semantics.
Make #ifdefs less messy.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1385130903-20531-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 16f4e8fa737b58b7b0461b33581e43ac06991110
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Nov 25 20:54:17 2013 +0100
qga: Fix two format strings for MinGW
Both code locations cause a compiler warning. Using "%s" instead of "%lu"
would result in a program crash if the wrong code were executed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Message-id: 1385409257-2522-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 84dc96e1e51c74ebf40b6c5e0c383769402e1a2d
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Nov 25 22:46:55 2013 +0100
PPC: BookE: Make FIT/WDT timers at best millisecond grained
The default granularity for the FIT timer on 440 is on every 0x1000th
transition of TB from 0 to 1. Translated that means 48828 times a second.
Since interrupts are quite expensive for 440 and we don't really care
about the accuracy of the FIT to that significance, let's force FIT and
WDT to at best millisecond granularity.
This basically restores behavior as it was in QEMU 1.6, where timers
could only deal with millisecond granularities at all.
This patch greatly improves performance with the 440 target and restores
roughly the same performance level that QEMU 1.6 had for me.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1385416015-22775-3-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 455df3f32341a3dff00f1726ff0749b3dd783bdf
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Nov 25 22:46:54 2013 +0100
PPC: Make BookE FIT/WDT timers more lazy
Today we fire FIT and WDT timer events every time the respective bit
position in TB flips from 0 -> 1.
However, there is no need to do this if the end result would be that
we're changing a TSR bit that is set to 1 to 1 again. No guest visible
change would have occured.
So whenever we see that the TSR bit to our timer is already set, don't
even bother to update the timer that would potentially fire it off.
However, we do need to make sure that we update our timer that notifies
us of the TB flip when the respective TSR bit gets unset. In that case
we do care about the flip and need to notify the guest again. So add
a callback into our timer handlers when TSR bits get unset.
This improves performance for me when the guest is busy processing things.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Message-id: 1385416015-22775-2-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 134d42d614768b2803e551621f6654dab1fdc2d2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Nov 26 00:00:39 2013 +0200
acpi-build: fix support for glib < 2.22
glib < 2.22 does not have g_array_get_element_size,
limit it's use (to check all elements are 1 byte
in size) to newer glib.
This fixes build on RHEL 5.3.
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Reported-by: Erik Rull <erik.rull@xxxxxxxxxxxxx>
Tested-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20131125220039.GA16386@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c0caec178eadbbac4c672110c3914313091e0588
Merge: d916ada e007dbe
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:49:42 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc very last minute fixes for 1.7
This has a fix for a crasher bug with pci bridges,
boot failure fix for s390 on 32 bit hosts,
and fixes build for hosts with old glib.
There's also a fix for --iasl configure flag - it can be used
to work around broken iasl on some systems either
by using a non-standard iasl or by disabling it.
I've also reverted a e1000/rtl mac programming change
that seems slightly wrong and too risky for 1.8.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 25 Nov 2013 03:40:07 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (5) and Bandan Das (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
configure: make --iasl option actually work
Revert "e1000/rtl8139: update HMP NIC when every bit is written"
acpi-build: fix build on glib < 2.14
acpi-build: fix build on glib < 2.22
pci: unregister vmstate_pcibus on unplug
s390x: fix flat file load on 32 bit systems
Message-id: 1385379990-32093-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d916adaa606dd1b871316acb295d5979361133b7
Merge: 833637d d607a52
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:41:24 2013 -0800
Merge remote-tracking branch 'bonzini/tags/for-anthony' into staging
Here are a bunch of 1.7-tagged patches that I was afraid
were getting forgotten or that did not have a clear maintainer responsible
for making a pull request.
# gpg: Signature made Thu 21 Nov 2013 08:40:59 AM PST using RSA key ID
9B4D86F2
# gpg: Can't check signature: public key not found
# By Peter Maydell (3) and others
# Via Paolo Bonzini
* bonzini/tags/for-anthony:
qga: Fix compiler warnings (missing format attribute, wrong format
strings)
mips jazz: do not raise data bus exception when accessing invalid
addresses
target-i386: yield to another VCPU on PAUSE
rng-egd: offset the point when repeatedly read from the buffer
rng-egd: remove redundant free
target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid()
vfio-pci: Fix multifunction=on
atomic.h: Fix build with clang
pc: get rid of builtin pvpanic for "-M pc-1.5"
configure: Explicitly set ARFLAGS so we can build with GNU Make 4.0
sun4m: Add FCode ROM for TCX framebuffer
Message-id: 1385052578-32352-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 833637d46dd5a0859abdff085352ae7d48dc8189
Merge: 0ff1e1d bca4bf1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:37:44 2013 -0800
Merge remote-tracking branch 'mdroth/qga-pull-2013-11-22' into staging
# By Tomoki Sekiyama
# Via Michael Roth
* mdroth/qga-pull-2013-11-22:
qemu-ga: vss-win32: Install VSS provider COM+ application service
Message-id: 1385154505-15145-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0ff1e1dac4b6bccefc4b8a861ec2a643ecfb6e9d
Merge: 607bb02 30c367e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Nov 25 09:37:27 2013 -0800
Merge remote-tracking branch 'stefanha/net' into staging
# By Vlad Yasevich
# Via Stefan Hajnoczi
* stefanha/net:
qdev-properties-system.c: Allow vlan or netdev for -device, not both
Message-id: 1385118544-28482-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ef36fa1492e9105f3fa607b56edc63df513d7da1
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Mon Oct 28 18:51:46 2013 -0200
qemu: mempath: prefault pages manually (v4)
v4: s/fail/failed/ (Peter Maydell)
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
commit fb541ca59c8b55911821c9f794c3dbe5de9ba9d8
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Nov 22 12:12:44 2013 -0700
kvm: Query KVM for available memory slots
KVM reports the number of available memory slots (KVM_CAP_NR_MEMSLOTS)
using the extension interface. Both x86 and s390 implement this, ARM
and powerpc do not yet enable it. Convert the static slots array to
be dynamically allocated, supporting more slots when available.
Default to 32 when KVM_CAP_NR_MEMSLOTS is not implemented. The
motivation for this change is to support more assigned devices, where
memory mapped PCI MMIO BARs typically take one slot each.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e007dbece5fc4e55e10116c6cb42753e35a945bf
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Nov 24 11:38:05 2013 +0200
configure: make --iasl option actually work
--iasl option was added to CC option parsing section by mistake,
it's not effective there and attempts to use cause
an 'unknown option' error.
Fix this up.
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bca4bf1028b332f55502bc7f50345fa5ea1c4f40
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Fri Nov 1 17:47:25 2013 -0400
qemu-ga: vss-win32: Install VSS provider COM+ application service
Currently, qemu-ga for Windows fails to execute guset-fsfreeze-freeze when
no user is logging in to Windows, with an error message:
{"error":{"class":"GenericError",
"desc":"failed to add C:\\ to snapshotset: (error:
8004230f)"}}
To enable guest-fsfreeze-freeze/thaw without logging in users, this
installs
a service to execute qemu-ga VSS provider COM+ application that has full
access privileges to the local system. The service will automatically be
removed when the COM+ application is deregistered.
This patch replaces ICOMAdminCatalog interface with ICOMAdminCatalog2
interface that contains CreateServiceForApplication() method in addition.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Gal Hammer <ghammer@xxxxxxxxxx>
Reviewed-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Tested-by: Yan Vugenfirer <yvugenfi@xxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 30c367ed446b6ea53245589a5cf373578ac075d7
Author: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Date: Thu Nov 7 21:13:09 2013 -0500
qdev-properties-system.c: Allow vlan or netdev for -device, not both
It is currently possible to specify things like:
-device e1000,netdev=foo,vlan=1
With this usage, whichever argument was specified last (vlan or netdev)
overwrites what was previousely set and results in a non-working
configuration. Even worse, when used with multiqueue devices,
it causes a segmentation fault on exit in qemu_free_net_client.
That patch treates the above command line options as invalid and
generates an error at start-up.
Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Acked-by: Jason Wang <jasowang@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d607a52364e7bfc1cd6d3e425b898e86be4e525d
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 17 19:19:52 2013 +0100
qga: Fix compiler warnings (missing format attribute, wrong format
strings)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC qga/commands.o
qga/commands.c: In function â??slogâ??:
qga/commands.c:28:5: error:
function might be possible candidate for â??gnu_printfâ?? format
attribute [-Werror=suggest-attribute=format]
g_logv("syslog", G_LOG_LEVEL_INFO, fmt, ap);
^
gcc 4.8.2 reports this warning when slog is declared with the
gnu_printf format attribute:
qga/commands-posix.c: In function â??qmp_guest_file_openâ??:
qga/commands-posix.c:404:5: warning:
format â??%dâ?? expects argument of type â??intâ??, but argument 2 has
type â??int64_tâ?? [-Wformat=]
slog("guest-file-open, handle: %d", handle);
^
On 32 bit hosts there are three more warnings which are also fixed here.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b6a06e72ef5e66e539012f63fca52c161c0d2496
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Nov 4 23:26:17 2013 +0100
mips jazz: do not raise data bus exception when accessing invalid
addresses
MIPS Jazz chipset doesn't seem to raise data bus exceptions on invalid
accesses.
However, there is no easy way to prevent them. Creating a big memory
region
for the whole address space doesn't prevent memory core to directly call
unassigned_mem_read/write which in turn call cpu->do_unassigned_access,
which (for MIPS CPU) raise an data bus exception.
This fixes a MIPS Jazz regression introduced in
c658b94f6e8c206c59d02aa6fbac285b86b53d2c.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b5fc314bcbb80f76b8deaf23a4c45767b87f750b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 20 12:54:02 2013 +0100
target-i386: yield to another VCPU on PAUSE
After commit b1bbfe7 (aio / timers: On timer modification, qemu_notify
or aio_notify, 2013-08-21) FreeBSD guests report a huge slowdown.
The problem shows up as soon as FreeBSD turns out its periodic (~1 ms)
tick, but the timers are only the trigger for a pre-existing problem.
Before the offending patch, setting a timer did a timer_settime system
call.
After, setting the timer exits the event loop (which uses poll) and
reenters it with a new deadline. This does not cause any slowdown; the
difference is between one system call (timer_settime and a signal
delivery (SIGALRM) before the patch, and two system calls afterwards
(write to a pipe or eventfd + calling poll again when re-entering the
event loop).
Unfortunately, the exit/enter causes the main loop to grab the iothread
lock, which in turns kicks the VCPU thread out of execution. This
causes TCG to execute the next VCPU in its round-robin scheduling of
VCPUS. When the second VCPU is mostly unused, FreeBSD runs a "pause"
instruction in its idle loop which only burns cycles without any
progress. As soon as the timer tick expires, the first VCPU runs
the interrupt handler but very soon it sets it again---and QEMU
then goes back doing nothing in the second VCPU.
The fix is to make the pause instruction do "cpu_loop_exit".
Reported-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit fbdcec5c487685b46e78f1e40a236ebf83f862fa
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:51 2013 +0800
rng-egd: offset the point when repeatedly read from the buffer
The buffer content might be read out more than once, currently
we just repeatedly read the first data block, buffer offset is
missing.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 60aad298cb6de52f2716b2e82e1353ea9de95fd6
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:50 2013 +0800
rng-egd: remove redundant free
We didn't set default chr_name, the free is redundant.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2140cfa51d59177815f5b82e94ac48fb24909aba
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Wed Nov 13 23:09:07 2013 +0000
target-i386: Fix build by providing stub kvm_arch_get_supported_cpuid()
Fix build failures with clang when KVM is not enabled by
providing a stub version of kvm_arch_get_supported_cpuid().
We retain the compile time check that this function isn't
called when CONFIG_KVM is not set by guarding the stub with
ifndef __OPTIMIZE__ (we assume that an optimizing build will
do sufficient constant folding and dead code elimination to
remove the calls before linking).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8d07d6c46597a885eb38d99cc6fff399ce69cd21
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Nov 12 11:53:24 2013 -0700
vfio-pci: Fix multifunction=on
When an assigned device is initialized it copies the device config
space into the emulated config space. Unfortunately multifunction is
setup prior to the device initfn and gets clobbered. We need to
restore it just like pci-assign does.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 392a4d5b9a1860aae82429d09321dac302d70396
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Oct 22 10:58:41 2013 +0100
atomic.h: Fix build with clang
clang defines __ATOMIC_SEQ_CST but its implementation of the
__atomic_exchange() builtin differs from that of gcc. Move the
__clang__ branch of the ifdef ladder to the top and fix its
implementation (there is no such builtin as __sync_exchange),
so we can compile with clang again.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7839ff593be03a7de3c6760e0b50c565ea751d36
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 4 14:30:48 2013 +0100
pc: get rid of builtin pvpanic for "-M pc-1.5"
This causes two slight backwards-incompatibilities between "-M pc-1.5"
and 1.5's "-M pc":
(1) a fw_cfg file is removed with this patch. This is only a problem
if migration stops the virtual machine exactly during fw_cfg enumeration.
(2) after migration, a VM created without an explicit "-device pvpanic"
will stop reporting panics to management.
The first problem only occurs if migration is done at a very, very
early point (and I'm not sure it can happen in practice for
reasonable-size
VMs, since it will likely take more time to send the RAM to destination,
than it will take for BIOS to scan fw_cfg).
The second problem only occurs if the guest panics _and_ has a guest
driver _and_ management knows to look at the crash event, so it is
mostly theoretical at this point in time.
Thus keep the code simple, and pretend it was never broken.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 45d285abd7028ac72418c1a22f9298bb898fbfb8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Oct 21 21:03:06 2013 +0100
configure: Explicitly set ARFLAGS so we can build with GNU Make 4.0
Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be
explicitly specifying everything and not relying on any default
variables or rules. However we were accidentally relying on the
default ARFLAGS ("rv"). This went unnoticed because of a bug in
GNU Make 3.82 and earlier which meant that adding -rR to MAKEFLAGS
only affected submakes, not the currently running instance.
Explicitly set ARFLAGS in config-host.mak, in the same way we
handle CFLAGS and LDFLAGS; this will allow us to work with
Make 4.0.
Thanks to Paul Smith for analyzing this bug for us.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Ken Moffat <zarniwhoop@xxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit da87dd7bd70f71ceaf9ff40d7cdb8394a7dc4bf5
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Sat Nov 2 16:03:50 2013 +0000
sun4m: Add FCode ROM for TCX framebuffer
Upstream OpenBIOS now implements SBus probing in order to determine the
contents of a physical bus slot, which is required to allow OpenBIOS to
identify the framebuffer without help from the fw_cfg interface.
SBus probing works by detecting the presence of an FCode program
(effectively tokenised Forth) at the base address of each slot, and if
present executes it so that it creates its own device node in the
OpenBIOS device tree.
The FCode ROM is generated as part of the OpenBIOS build and should
generally be updated at the same time.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
CC: Blue Swirl <blauwirbel@xxxxxxxxx>
CC: Bob Breuer <breuerr@xxxxxx>
CC: Artyom Tarasenko <atar4qemu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 607bb022f2a44797cbf40e85e84da4134e2f0e01
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 08:11:47 2013 -0800
Update version for 1.7.0-rc1 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 187d62327aca39afbb038d13d7cd6bf2d11640d3
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Nov 12 11:53:24 2013 -0700
vfio-pci: Fix multifunction=on
When an assigned device is initialized it copies the device config
space into the emulated config space. Unfortunately multifunction is
setup prior to the device initfn and gets clobbered. We need to
restore it just like pci-assign does.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reviewed-by: Bandan Das <bsd@xxxxxxxxxx>
Message-id: 20131112185059.7262.33780.stgit@xxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7865eec4f5fb10224a2cd391a8476044cbe5a1f7
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Nov 12 11:16:56 2013 +1000
target-i386: Fix addr32 prefix in gen_lea_modrm
Fix the following run-test-x86_64 testsuite failures:
-lea (%%eax) = 0000000000000001
-lea (%%ebx) = 0000000000000002
-lea (%%ecx) = 0000000000000004
-lea (%%edx) = 0000000000000008
-lea (%%esi) = 0000000000000010
-lea (%%edi) = 0000000000000020
+lea (%%eax) = 0000abcc00000001
+lea (%%ebx) = 0000abcf00000002
+lea (%%ecx) = 0000abc900000004
+lea (%%edx) = 0000abc500000008
+lea (%%esi) = 0000abdd00000010
+lea (%%edi) = 0000abed00000020
In addition, reduce ifdeffery and minimize the number of TCG ops
produced during address computation.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1384219016-5170-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33effd3aab4a268fb573fd8d7e0fe0baed0cd61a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Oct 22 10:58:41 2013 +0100
atomic.h: Fix build with clang
clang defines __ATOMIC_SEQ_CST but its implementation of the
__atomic_exchange() builtin differs from that of gcc. Move the
__clang__ branch of the ifdef ladder to the top and fix its
implementation (there is no such builtin as __sync_exchange),
so we can compile with clang again.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1382435921-18438-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 76c2975a6feb5c232698e982b7f798431457822f
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Nov 19 17:49:46 2013 +0100
target-i386: do not override nr_cores for -cpu host
Commit 787aaf5 (target-i386: forward CPUID cache leaves when -cpu host is
used, 2013-09-02) brings bits 31..26 of CPUID leaf 04h out of sync with
the APIC IDs that QEMU reserves for each package. This number must come
from "-smp" options rather than from the host CPUID.
It also turns out that this unsyncing makes Windows Server 2012R2 fail
to boot.
Tested-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Message-id: 1384879786-6721-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 54e755588cf1e90f0b1460c4e8e6b6a54b6d3a32
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Mon Nov 4 23:26:17 2013 +0100
mips jazz: do not raise data bus exception when accessing invalid
addresses
MIPS Jazz chipset doesn't seem to raise data bus exceptions on invalid
accesses.
However, there is no easy way to prevent them. Creating a big memory
region
for the whole address space doesn't prevent memory core to directly call
unassigned_mem_read/write which in turn call cpu->do_unassigned_access,
which (for MIPS CPU) raise an data bus exception.
This fixes a MIPS Jazz regression introduced in
c658b94f6e8c206c59d02aa6fbac285b86b53d2c.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Message-id: 1383603977-7003-1-git-send-email-hpoussin@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 81f3053b77f7d3a4d9100c425cd8cec99ee7a3d4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Nov 20 12:54:02 2013 +0100
target-i386: yield to another VCPU on PAUSE
After commit b1bbfe7 (aio / timers: On timer modification, qemu_notify
or aio_notify, 2013-08-21) FreeBSD guests report a huge slowdown.
The problem shows up as soon as FreeBSD turns out its periodic (~1 ms)
tick, but the timers are only the trigger for a pre-existing problem.
Before the offending patch, setting a timer did a timer_settime system
call.
After, setting the timer exits the event loop (which uses poll) and
reenters it with a new deadline. This does not cause any slowdown; the
difference is between one system call (timer_settime and a signal
delivery (SIGALRM) before the patch, and two system calls afterwards
(write to a pipe or eventfd + calling poll again when re-entering the
event loop).
Unfortunately, the exit/enter causes the main loop to grab the iothread
lock, which in turns kicks the VCPU thread out of execution. This
causes TCG to execute the next VCPU in its round-robin scheduling of
VCPUS. When the second VCPU is mostly unused, FreeBSD runs a "pause"
instruction in its idle loop which only burns cycles without any
progress. As soon as the timer tick expires, the first VCPU runs
the interrupt handler but very soon it sets it again---and QEMU
then goes back doing nothing in the second VCPU.
The fix is to make the pause instruction do "cpu_loop_exit".
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Reported-by: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1384948442-24217-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1eb1bd9eafa890f1f4d16ef5cb8b9239a86874d9
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:51 2013 +0800
rng-egd: offset the point when repeatedly read from the buffer
The buffer content might be read out more than once, currently
we just repeatedly read the first data block, buffer offset is
missing.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1385023371-8198-3-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5e490b6a504912225dff0e520e1c6af68295d238
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 16:42:50 2013 +0800
rng-egd: remove redundant free
We didn't set default chr_name, the free is redundant.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1385023371-8198-2-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d44bb8604e87ecd3823f12f0c92d5e56d613de0d
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Nov 21 18:53:23 2013 +0800
virtio-rng: add check of period
If period is assigned to 0, limit timer will expire immediately.
It causes a qemu warning:
"main-loop: WARNING: I/O thread spun for 1000 iterations"
This limit is meaningless. This patch forbids to assign 0 to period.
Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Message-id: 1385031203-23790-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 376827d48922941d16ef9949672e86f820005d0a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 15:34:26 2013 +0200
s390x: fix flat file load on 32 bit systems
pc-bios/s390-zipl.rom is a flat image so it's expected that
loading it as elf will fail.
It should fall back on loading a flat file, but doesn't
on 32 bit systems, instead it fails printing:
qemu: hardware error: could not load bootloader 's390-zipl.rom'
The result is boot failure.
The reason is that a 64 bit unsigned interger which is set
to -1 on error is compared to -1UL which on a 32 bit system
with gcc is a 32 bit unsigned interger.
Since both are unsigned, no sign extension takes place and
comparison evaluates to non-equal.
There's no reason to do clever tricks: all functions
we call actually return int so just use int.
And then we can use == -1 everywhere, consistently.
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 20131121133426.GA30827@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b15654c21acef4d2bc17e6ac528c6c93abbb7e1e
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 14:17:54 2013 +0200
acpi-build: fix build on glib < 2.14
g_array_get_element_size was only added in glib 2.14.
Fortunately we don't use it for any arrays where
element size is > 1, so just add an assert.
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1385036128-8753-2-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 542da88f0013ebb2b2d8ca10becbfebd9948abba
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 14:17:51 2013 +0200
acpi-build: fix build on glib < 2.22
g_string_vprintf was only introduced in 2.24 so switch to vsnprintf
instead. A bit uglier but name size is fixed at 4 bytes here so it's
easy.
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1385036128-8753-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0a3c738507cef91bd751d8507676109bc7985e1a
Merge: ffb62da ef4cbe1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 07:09:52 2013 -0800
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Jan Kiszka (1) and others
# Via Gleb Natapov
* qemu-kvm/uq/master:
kvm: Fix uninitialized cpuid_data
pci-assign: Remove dead code for direct I/O region access from userspace
KVM: x86: fix typo in KVM_GET_XCRS
Message-id: cover.1385040432.git.gleb@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ffb62da7a23b1d13a3582bee6b2df599baa6ecfb
Merge: 425ff51 14a650e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 07:08:47 2013 -0800
Merge remote-tracking branch 'jliu/or32' into staging
# By Sebastian Macke
# Via Jia Liu
* jliu/or32:
target-openrisc: Correct carry flag check of l.addc and l.addic test
cases
target-openrisc: Correct memory bounds checking for the tlb buffers
openrisc-timer: Reduce overhead, Separate clock update functions
target-openrisc: Correct wrong epcr register in interrupt handler
target-openrisc: Remove executable flag for every page
target-openrisc: Remove unnecessary code generated by jump instructions
target-openrisc: Speed up move instruction
Message-id: 1384958318-9145-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 425ff5102f8668d5c921e2a1d77ee9173742bfdf
Merge: 394cfa3 8e86729
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Nov 21 07:08:31 2013 -0800
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Wangting (Kathy)
# Via Juan Quintela
* quintela/migration.next:
The calculation of bytes_xfer in qemu_put_buffer() is wrong
Message-id: 1384946787-8190-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 90d131fb6504ed12a37dc8433375cc683c30e9da
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 18 21:41:44 2013 +0200
Revert "e1000/rtl8139: update HMP NIC when every bit is written"
This reverts commit cd5be5829c1ce87aa6b3a7806524fac07ac9a757.
Digging into hardware specs shows this does not
actually make QEMU behave more like hardware:
There are valid arguments backed by the spec to indicate why the version
of e1000 prior to cd5be582 was more correct: the high byte actually
includes a valid bit, this is why all guests write it last.
For rtl8139 there's actually a separate undocumented valid bit, but we
don't implement it yet.
To summarize all the drivers we know about behave in one way
that allows us to make an assumption about write order and avoid
spurious, incorrect mac address updates to the monitor.
Let's stick to the tried heuristic for 1.7 and
possibly revisit for 1.8.
Reported-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Reviewed-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Cc: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fd8f5e37557596e14a859d8edf3dc24523bd4400
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 11:22:51 2013 +0200
acpi-build: fix build on glib < 2.14
g_array_get_element_size was only added in glib 2.14,
there's no way to find element size in with an older glib.
Fortunately we only use a single table (linker) where element size > 1.
Switch element size to 1 everywhere, then we can just look at len field
to get table size in bytes.
Add an assert to make sure we catch any violations of this rule.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b9c3b897c682cd9739c6aef73b3220c7204c243
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 11:19:58 2013 +0200
acpi-build: fix build on glib < 2.22
g_string_vprintf was only introduced in 2.24 so switch to vsnprintf
instead. A bit uglier but name size is fixed at 4 bytes here so it's
easy.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reported-by: Richard Henderson <rth@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5c397242d5d53c1adecce31817bb439383cf8228
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Wed Nov 6 17:52:17 2013 -0500
pci: unregister vmstate_pcibus on unplug
PCIBus registers a vmstate during init. Unregister it upon
removal/unplug.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit decbc880289526d94495bcbe6e1ba2a11b92e7a8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 21 13:59:15 2013 +0200
s390x: fix flat file load on 32 bit systems
pc-bios/s390-zipl.rom is a flat image so it's expected that
loading it as elf will fail.
It should fall back on loading a flat file, but doesn't
on 32 bit systems, instead it fails printing:
qemu: hardware error: could not load bootloader 's390-zipl.rom'
The result is boot failure.
The reason is that a 64 bit unsigned interger which is set
to -1 on error is compared to -1UL which on a 32 bit system
with gcc is a 32 bit unsigned interger.
Since both are unsigned, no sign extension takes place and
comparison evaluates to non-equal.
There's no reason to do clever tricks: all functions
we call actually return int so just use int.
And then we can use == -1 everywhere, consistently.
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 14a650ec25ca93a626397783d6c6e840ec2502c6
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:45 2013 +0200
target-openrisc: Correct carry flag check of l.addc and l.addic test cases
The test cases did not correctly test for the carry flag.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 93147a180c10b97bf9575a87e01c9a1c93e6c9ce
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:42 2013 +0200
target-openrisc: Correct memory bounds checking for the tlb buffers
The mtspr and mfspr routines didn't check for the correct memory
boundaries.
This fixes a segmentation fault while booting Linux.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit d51552176a2ab5e80a211514aa1339fe2575ec2a
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:41 2013 +0200
openrisc-timer: Reduce overhead, Separate clock update functions
The clock value is only evaluated when really necessary reducing
the overhead of the timer handling.
This also solves a problem in the way the Linux kernel
handles the timer and the expected accuracy.
The old version could lead to inaccurate timings.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit ae52bd96ceaea36c486d8ffeb798e160f31d3be8
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:40 2013 +0200
target-openrisc: Correct wrong epcr register in interrupt handler
This patch corrects several misbehaviors during an interrupt process.
Most of the time the pc is already correct and therefore no special
treatment
of the exceptions is necessary.
Tested by checking crashing programs which otherwise work in or1ksim.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 04359e6bb7f2841031aae645a770583f9c5df3cd
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:39 2013 +0200
target-openrisc: Remove executable flag for every page
Pages should be flagged executable only if the tlb executable flag is
set or the mmu is off.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit da1d77597b29f45bfd290d251ee459a2794112c6
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:38 2013 +0200
target-openrisc: Remove unnecessary code generated by jump instructions
The sr_f variable is only used for the l.bf and l.bnf instructions.
For clarity the code is also rewritten using a switch statement instead
of if chaining.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 352367e8bb53bd4e16abaecbcb9fc0bcadf5881b
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Tue Oct 22 02:12:37 2013 +0200
target-openrisc: Speed up move instruction
The OpenRISC architecture does not have its own move register
instruction. Instead it uses either "l.addi rd, r0, x" or
"l.ori rd, rs, 0" or "l.or rd, rx, r0"
The l.ori instruction is automatically optimized but not the l.addi
instruction.
This patch optimizes for this special case.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
commit 8e86729a0e83b557c22808a2337252c969ca3986
Author: Wangting (Kathy) <kathy.wangting@xxxxxxxxxx>
Date: Tue Nov 19 05:53:45 2013 +0000
The calculation of bytes_xfer in qemu_put_buffer() is wrong
In qemu_put_buffer(), bytes_xfer += size is wrong, it will be more
than expected, and should be bytes_xfer += l.
Signed-off-by: zhangmin <zhangmin6@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 394cfa39ba24dd838ace1308ae24961243947fb8
Merge: 4ed3479 fc1c4a5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:03:06 2013 -0800
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Peter Lieven
# Via Juan Quintela
* quintela/migration.next:
migration: drop MADVISE_DONT_NEED for incoming zero pages
Message-id: 1384878412-23521-1-git-send-email-quintela@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4ed34791696523522fa7e6a00301e0bf3a09ea29
Merge: 1c46e59 2ad645d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:00:52 2013 -0800
Merge remote-tracking branch 'stefanha/block' into staging
# By Andreas Färber
# Via Stefan Hajnoczi
* stefanha/block:
qtest: Use -display none by default
commit 1c46e594dc3eb0df4bdc1ea31b61c19ee0eed753
Merge: dc6dc0a 2d3aa28
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:00:09 2013 -0800
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM infrastructure fixes for 1.7
* QOM memory leak fix
# gpg: Signature made Tue 19 Nov 2013 01:58:58 AM PST using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Vlad Yasevich
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony:
qom: Fix memory leak in object_property_set_link()
commit dc6dc0a9879738236b4da03d34d3c72eedfd25bb
Merge: 4be6693 463230d
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 13:00:02 2013 -0800
Merge remote-tracking branch 'rth/tcg-ia64-17' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-ia64-17:
tcg-ia64: Introduce tcg_opc_bswap64_i
tcg-ia64: Introduce tcg_opc_ext_i
tcg-ia64: Introduce tcg_opc_movi_a
tcg-ia64: Introduce tcg_opc_mov_a
tcg-ia64: Use A3 form of logical operations
tcg-ia64: Use SUB_A3 and ADDS_A4 for subtraction
tcg-ia64: Use ADDS for small addition
tcg-ia64: Avoid unnecessary stop bit in tcg_out_alu
tcg-ia64: Move AREG0 to R32
tcg-ia64: Simplify brcond
tcg-ia64: Handle constant calls
tcg-ia64: Use shortcuts for nop insns
tcg-ia64: Use TCGMemOp within qemu_ldst routines
Message-id: 1384811395-7097-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 4be6693a8842023542d1ae1c6e4e2a3fd9988ebe
Merge: 38dc749 420508f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:59:48 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc last minute fixes for 1.8
This has a patch that drops an unused FW CFG entry.
I think it's best to include it before 1.7 to avoid
the need to maintain it in compat machine types.
There's also a doc bugfix by Amos: I'm guessing
doc fixes are still fair game even at this late stage.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 18 Nov 2013 03:48:14 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Amos Kong (1) and Igor Mammedov (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
doc: fix hardcoded helper path
pc: disable pci-info
Message-id: 1384775449-6693-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 38dc74907e2b2ce2249b8b84eae1a1664b122835
Merge: 7af3151 0478f37
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:59:26 2013 -0800
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Jan Krupa (4) and others
# Via Michael Tokarev
* mjt/trivial-patches:
hw/i386/Makefile.obj: use $(PYTHON) to run .py scripts consistently
configure: Use -B switch only for Python versions which support it
qga: Fix shutdown command of guest agent to work with SysV
console: Remove unused debug code
qga: Fix compilation for old versions of MinGW
.travis.yml: basic compile and check recipes
pci-assign: Fix error_report of pci-stub message
qapi: Fix comment for create-type to match code.
vl: fix build when configured with no graphic support
usb: drop unused USBNetState.inpkt field
qemu-char: add missing characters used in keymaps
qemu-char: add support for U-prefixed symbols
qemu-char: add Czech keymap file
qemu-char: add Czech characters to VNC keysyms
Message-id: 1384684850-6777-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7af31519e220efc0572cacec5ac65dc54e73985d
Merge: 88a47b9 06d22aa
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:59:09 2013 -0800
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block fixes for 1.7.0
# gpg: Signature made Fri 15 Nov 2013 09:51:25 AM PST using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
# By Max Reitz (3) and others
# Via Kevin Wolf
* kwolf/tags/for-anthony:
block: Fail if requested driver is not available
MAINTAINERS: add block driver sub-maintainers
qemu-img: Fix overwriting 'ret' before using
qemu-iotests: Test qcow2 count_contiguous_clusters()
qcow2: fix possible corruption when reading multiple clusters
qmp: access the local QemuOptsLists for drive option
MAINTAINERS: add block tree repo URLs
qemu-iotests: Extend 041 for unbacked mirroring
block/drive-mirror: Check for NULL backing_hd
qapi-schema: Update description for NewImageMode
block: Print its file name if backing file opening failed
Message-id: 1384537999-5972-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 88a47b9de2c01121e153b1feb24cdb2e033b2f04
Merge: 8c630d5 96e3504
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:58:32 2013 -0800
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong (1) and Sebastian Huber (1)
# Via Stefan Hajnoczi
* stefanha/net:
virtio-net: fix the memory leak in rxfilter_notify()
smc91c111: Fix receive starvation
Message-id: 1384532032-19057-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8c630d5150ddedea231a39727e43787e5a3b6690
Merge: 5c5432e 9d0e1da
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 19 12:57:16 2013 -0800
Merge remote-tracking branch 'agraf/tags/signed-ppc-for-upstream-1.7'
into staging
Patch queue for ppc - 2013-11-08
These are two patches that will hopefully make it into 1.7. The SLOF
update
fixes -append kernel command line argument passing into the guest kernel.
The
other patch makes VIO devices appear when using -device '?'.
# gpg: Signature made Thu 07 Nov 2013 07:34:54 PM PST using RSA key ID
03FEDC60
# gpg: Can't check signature: public key not found
# By Alexey Kardashevskiy
# Via Alexander Graf
* agraf/tags/signed-ppc-for-upstream-1.7:
pseries: Update SLOF firmware image
spapr: add vio-bus devices to categories
Message-id: 1383881766-13958-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fc1c4a5d32e15a4c40c47945da85ef9c1e0c1b54
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 09:21:29 2013 +0200
migration: drop MADVISE_DONT_NEED for incoming zero pages
The madvise for zeroed out pages was introduced when every transferred
zero page was memset to zero and thus allocated. Since commit
211ea740 we check for zeroness of a target page before we memset
it to zero. Additionally we memmap target memory so it is essentially
zero initialized (except for e.g. option roms and bios which are loaded
into target memory although they shouldn't).
It was reported recently that this madvise causes a performance
degradation
in some situations. As the madvise should only be called rarely and if
it's called
it is likely on a busy page (it was non-zero and changed to zero during
migration)
drop it completely.
Reported-By: Zhang Haoyu <haoyu.zhang@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 2d3aa28cc2cf382aa04cd577e0be542175eea9bd
Author: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Date: Fri Nov 15 12:09:47 2013 -0500
qom: Fix memory leak in object_property_set_link()
Save the result of the call to object_get_canonical_path()
so we can free it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Reviewed-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2ad645d2854746b55ddfd1d8e951f689cca5d78f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Nov 18 17:36:34 2013 +0100
qtest: Use -display none by default
This avoids each test needing to add it to suppress windows popping up.
[Commit 7ceeedd016facf8d58e14a0d1417fa7225d71072 ("blockdev-test: add
test case for drive_add duplicate IDs") and commit
43cd209803d6cffb1e1a028c9ff2fd0ff4fce954 ("qdev-monitor-test: add
device_add leak test cases") added qtest tests without specifying
-display none.
As a result, "make check" now tries to use graphics (GTK or SDL). Since
graphics are not used by the test and inappropriate for headless "make
check" runs, add the missing -display none.
This fixes "make check" in the QEMU buildbot.
-- Stefan]
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 96e35046e4a97df5b4e1e24e217eb1e1701c7c71
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Mon Nov 18 23:32:17 2013 +0800
virtio-net: fix the memory leak in rxfilter_notify()
object_get_canonical_path() returns a gchar*, it should be freed by the
caller.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Vlad Yasevich <vyasevic@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 420508fbba2a6e8eaff008715b5f7eff83f8e865
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Wed Oct 23 04:49:28 2013 +0800
doc: fix hardcoded helper path
The install directory of qemu-bridge-helper is configurable,
but we use a fixed path in the documentation.
DEFAULT_BRIDGE_HELPER macro isn't available in texi mode,
we should always use "/path/to/" prefix for dynamic paths
(e.g.: /path/to/image, /path/to/linux, etc).
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 463230d85e1e0898b1a94092af65026e615e6ec6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 19:20:40 2013 -0400
tcg-ia64: Introduce tcg_opc_bswap64_i
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit db008a8de2c5ea1325d6db455fa5a0a4bca66735
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 19:13:41 2013 -0400
tcg-ia64: Introduce tcg_opc_ext_i
Being able to "extend" from 64-bits (with a mov) simplifies
a few places where the conditional breaks the train of thought.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fa0cdb6c2a574774376b33c5fb0907e93403c188
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 18:56:39 2013 -0400
tcg-ia64: Introduce tcg_opc_movi_a
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3b9ccdcc74e06a3e7e10d012679583c2ee30d7fa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 18:48:42 2013 -0400
tcg-ia64: Introduce tcg_opc_mov_a
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 25c9c73bdc9029407da3b286ab0d1d694c851b3e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 17:13:43 2013 -0400
tcg-ia64: Use A3 form of logical operations
We can and/or/xor/andcm small constants, saving one cycle.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f940fb086c607fcb9c98d5ce67619fc5255f6abb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 16:44:18 2013 -0400
tcg-ia64: Use SUB_A3 and ADDS_A4 for subtraction
We can subtract from more small constants that just 0 with one insn,
and we can add the negative for most small constants.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8642088a3d73a599b31c6fdd1d2aa2c945d95ced
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 16:15:13 2013 -0400
tcg-ia64: Use ADDS for small addition
Avoids a wasted cycle loading up small constants.
Simplify the code assuming the tcg optimizer is going to work
and don't expect the first operand of the add to be constant.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c289cba9b82ff55f52287a642332d4c2ca62b95
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 15:56:44 2013 -0400
tcg-ia64: Avoid unnecessary stop bit in tcg_out_alu
When performing an operation with two input registers, we'd leave
the stop bit (and thus an extra cycle) that's only needed when one
or the other input is a constant.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d15de15ca01fa990544b015fb972f2d04ab4d2d0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 14:45:54 2013 -0400
tcg-ia64: Move AREG0 to R32
Since the move away from the global areg0, we're no longer globally
reserving areg0. Which means our use of R7 clobbers a call-saved
register. Shift areg0 into the windowed registers. Indeed, choose
the incoming parameter register that it comes to us by.
This requires moving the register holding the return address elsewhere.
Choose R33 for tidiness.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6d264b38fcc267b68df2890b22d27bc404878c8c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 12:47:41 2013 -0400
tcg-ia64: Simplify brcond
There was a misconception that a stop bit is required between a compare
and the branch that uses the predicate set by the compare. This lead to
the usage of an extra bundle in which to perform the compare. The extra
bundle left room for constants to be loaded for use with the compare insn.
If we pack the compare and the branch together in the same bundle, then
there's no longer any room for non-zero constants. At which point we
can eliminate half the function by not handling them.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6f65c780b952485d7d1edbb72bf199e9803995e2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 5 12:11:27 2013 -0400
tcg-ia64: Handle constant calls
Using only indirect calls results in 3 bundles (one to load the
descriptor address), and 4 stop bits. By looking through the
descriptor to the constants, we can perform the call with 2
bundles and only 1 stop bit.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5f7b16877a431c477d8dac92d0bb553d05c6402e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 19:00:52 2013 -0400
tcg-ia64: Use shortcuts for nop insns
There's no need to go through the full opcode-to-insn function call
to generate nops. This makes the source a bit more readable.
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e3afa1c4ad3162792421fb64bce937242bc7e0d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 17:24:38 2013 -0400
tcg-ia64: Use TCGMemOp within qemu_ldst routines
Acked-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0478f37ce258438d74164dd182b0ae125f174ec6
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Nov 16 14:09:14 2013 +0400
hw/i386/Makefile.obj: use $(PYTHON) to run .py scripts consistently
$(PYTHON) is a Make variable which is set by configure.
In all other places over the tree, .py files are run from
Makefiles using this variable, except of a single leftover
in hw/i386/Makefile.obj (and a nearby place in there uses
$(PYTHON) correctly). Fix this leftover too.
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Cc: Luigi Rizzo <rizzo@xxxxxxxxxxxx>
Reviewed-by:: Stefan Weil <sw@xxxxxxxxxxx>
commit 52510f8b2c0486e6c2743b1d069b3584ef4524da
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Nov 14 19:07:03 2013 +0100
configure: Use -B switch only for Python versions which support it
Commit 1d984a67a95d88f3e708b077dab8adeb47c38c93 added the -B switch
unconditionally. This breaks Python versions before 2.6 which don't
support that switch.
Now configure adds -B only if it is accepted by the Python interpreter.
This modification introduces a small incompatibility because -B might now
also be added when configure was called with --python=PYTHON_INTERPRETER.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 485e741cd15655b4032b07b8a912aa5c7a4f2028
Author: whitearchey <whitearchey@xxxxxxxxx>
Date: Wed Nov 6 10:54:04 2013 +0900
qga: Fix shutdown command of guest agent to work with SysV
For now guest agent uses following command to shutdown system:
shutdown -P +0 "blabla"
but this syntax works only with shutdown command from systemd or upstart,
because SysV shutdown requires -h switch.
Following patch changes the command so it works with systemd, upstart and
SysV
With upstart/systemd qga use one of thee commands, depending on 'mode'
parameter:
shutdown -P +0 "..."
shutdown -H +0 "..."
shutdown -r +0 "..."
SysV equivalents for these are:
shutdown -h -P +0 "..."
shutdown -h -H +0 "..."
shutdown -h -r +0 "..."
and these retain their meaning with upstart/systemd.
According to FreeBSD manpages, shutdown does not accept -P and -H
options. Commands should be:
shutdown -p +0 "..."
shutdown -h +0 "..."
shutdown -r +0 "..."
shutdown in Solaris does not accept any of -hHpPr and does not accept
time in "+0" format
Signed-off-by: Michael Avdienko <whitearchey@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 06d22aa36706a3d6051b74c8a183ab554a0cb808
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Aug 8 17:44:52 2013 +0200
block: Fail if requested driver is not available
If an explicit driver option is present, but doesn't specify a valid
driver, then bdrv_open() should fail instead of probing the format.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f05b328c9d85e57ab871ca73a36220493327a649
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 13 10:33:10 2013 +0100
MAINTAINERS: add block driver sub-maintainers
There are a number of contributors who maintain block drivers (image
formats and protocols). They should be listed in the MAINTAINERS file
so that get_maintainer.pl lists them.
Note that commits are still merged through Kevin or Stefan's block tree
but the block driver sub-maintainers are usually the ones to review
patches.
Acked-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Acked-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Acked-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Jeff Cody <jcody@xxxxxxxxxx>
Acked-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 36452f12f877c60f004b34641287d74b14c96208
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 13 20:26:49 2013 +0800
qemu-img: Fix overwriting 'ret' before using
This patch moves ret assignment after reporting original error.
We were lucky to pass qemu-iotests 048 (qemu-img compare case) but when
I tried to run with TEST_DIR=/tmp (tmpfs), it fails with a "wrong"
mismatch offset. This fixes two bugs.
In the first if branch, setting ret to 1 before using it makes dead code
in the next line: pnum is never added to mismatch offset even if ret was
0.
In the other if branch, currently the output error is always -4:
strerror(-4) -> Unknown error -4
Added regression test in case 048.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
commit a1144c0dbfa3f820916a135d2d3d6db5635adcc2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Nov 13 12:00:10 2013 +0100
qemu-iotests: Test qcow2 count_contiguous_clusters()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8b7acc79b9adb4dda6cc867b90e3a1e873f4f7e8
Author: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Date: Thu Nov 14 14:53:46 2013 +0100
smc91c111: Fix receive starvation
In case the smc91c111 interface signals that it cannot receive more
packets the packets are queued and further reception will be disabled.
In case the interface is again ready to receive packets notify the upper
layer.
Signed-off-by: Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 78a52ad5acca7053b774fcc80290e7b7e224c80a
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Nov 12 13:48:07 2013 +0100
qcow2: fix possible corruption when reading multiple clusters
if multiple sectors spanning multiple clusters are read the
function count_contiguous_clusters should ensure that the
cluster type should not change between the clusters.
Especially the for-loop should break when we have one
or more normal clusters followed by a compressed cluster.
Unfortunately the wrong macro was used in the mask to
compare the flags.
This was discovered while debugging a data corruption
issue when converting a compressed qcow2 image to raw.
qemu-img reads 2MB chunks which span multiple clusters.
CC: qemu-stable@xxxxxxxxxx
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 968854c8a106243eae7a68394ce1cb85dc138837
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Sat Nov 9 12:15:47 2013 +0800
qmp: access the local QemuOptsLists for drive option
Currently we have three QemuOptsList (qemu_common_drive_opts,
qemu_legacy_drive_opts, and qemu_drive_opts), only qemu_drive_opts
is added to vm_config_groups[].
This patch changes query-command-line-options to access three local
QemuOptsLists for drive option, and merge the description items
together.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d48adddac7d1839c8d734506aba6fd39fb9c3834
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Nov 6 16:06:25 2013 +0100
MAINTAINERS: add block tree repo URLs
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c15badee200f9e743e3639cc5e3e7dd62c69332f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Nov 6 19:50:45 2013 +0100
qemu-iotests: Extend 041 for unbacked mirroring
Add a new test case in file 041 for mirroring unbacked images in
"absolute-paths" mode. This should work, if possible, but most
importantly, qemu should never crash.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1452686495922b81d6cf43edf025c1aef15965c0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Nov 6 19:50:44 2013 +0100
block/drive-mirror: Check for NULL backing_hd
It should be possible to execute the QMP "drive-mirror" command in
"none" sync mode and "absolute-paths" mode even for block devices
lacking a backing file.
"absolute-paths" does in fact not require a backing file to be present,
as can be seen from the "top" sync mode code path. "top" basically
states that the device should indeed have a backing file - however, the
current code catches the case if it doesn't and then simply treats it as
"full" sync mode, creating a target image without a backing file (in
"absolute-paths" mode). Thus, "absolute-paths" does not imply the target
file must indeed have a backing file.
Therefore, the target file may be left unbacked in case of "none" sync
mode as well, if the specified device is not backed either. Currently,
qemu will crash trying to dereference the backing file pointer since it
assumes that it will always be non-NULL in that case ("none" with
"absolute-paths").
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1296c2f0bc8283164c925bf587e497511de7f569
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Nov 7 19:47:48 2013 +0100
qapi-schema: Update description for NewImageMode
If the NewImageMode is "absolute-paths" but no backing file is available
(e.g., when mirroring a device with an unbacked image), the target image
will not be backed either. This patch updates the documentation in
qapi-schema.json accordingly.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b04b6b6ec3a1e0ba90c2f58617286d9fc35fa372
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 8 11:26:49 2013 +0800
block: Print its file name if backing file opening failed
If backing file doesn't exist, the error message is confusing and
misleading:
$ qemu /tmp/a.qcow2
qemu: could not open disk image /tmp/a.qcow2: Could not open file: No
such file or directory
But...
$ ls /tmp/a.qcow2
/tmp/a.qcow2
$ qemu-img info /tmp/a.qcow2
image: /tmp/a.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 196K
cluster_size: 65536
backing file: /tmp/b.qcow2
Because...
$ ls /tmp/b.qcow2
ls: cannot access /tmp/b.qcow2: No such file or directory
This is not intuitive. It's better to have the missing file's name in
the error message. With this patch:
$ qemu-io -c 'read 0 512' /tmp/a.qcow2
qemu-io: can't open device /tmp/a.qcow2: Could not open backing
file: Could not open '/stor/vm/arch.raw': No such file or directory
no file open, try 'help open'
Which is a little bit better.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7f1bb742be39184b469d53c0901240b12bb85589
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Nov 6 13:48:40 2013 +0100
pc: disable pci-info
The BIOS that we ship in 1.7 does not use pci info
from host and so far isn't going to use it.
Taking in account problems it caused see 9604f70fdf and
to avoid future incompatibility issues, it's safest to
disable that interface by default for all machine types
including 1.7 as it was never exposed/used by guest.
And properly remove/cleanup it during 1.8 development cycle.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5c5432e7d630592ddcc1876ac8a1505f8f14ef15
Merge: 29c5b77 dce07e0
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:49:27 2013 -0800
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino (1) and Richard Henderson (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
MAINTAINERS: add git tree info for HMP, QMP and QAPI
Adjust qapi-visit for python-2.4.3
Message-id: 1384281985-11100-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 29c5b77d3dd7e970c7bd57cd1d73734ae01e29d2
Merge: b873a55 ef9e455
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:48:35 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, virtio bug fixes
This reverts PCI master abort support - we'll want it
eventually but it exposes too many core bugs to be safe for 1.7.
This also reverts a recent exec.c change that was an
attempt to work-around some of these core bugs.
Also included are small fixes in pc and virtio,
and a core loader fix for PPC bamboo.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 10 Nov 2013 05:13:22 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (3) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
Revert "exec: limit system memory size"
Revert "hw/pci: partially handle pci master abort"
loader: drop return value for rom_add_blob_fixed
acpi-build: disable with -no-acpi
virtio-net: only delete bh that existed
Fix pc migration from qemu <= 1.5
Message-id: 1384159176-31662-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit b873a55cf45f1fbff7026de885848d52939d18e1
Merge: deb0f50 cc386e9
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:48:02 2013 -0800
Merge remote-tracking branch 'stefanha/net' into staging
# By Dmitry Fleytman (1) and others
# Via Stefan Hajnoczi
* stefanha/net:
virtio-net: broken RX filtering logic fixed
net: fix qemu_flush_queued_packets() in presence of a hub
net: disallow to specify multicast MAC address
Message-id: 1383928804-28866-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit deb0f500651317863922964c87b4fa64eecdbd73
Merge: 70c4c5b 7e38200
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:47:44 2013 -0800
Merge remote-tracking branch 'stefanha/block' into staging
# By Jeff Cody (26) and others
# Via Stefan Hajnoczi
* stefanha/block: (37 commits)
block: Round up total_sectors
block: vhdx qemu-iotest - log replay of data sector
block: qemu-iotests for vhdx, add write test support
block: vhdx - update _make_test_img() to filter out vhdx options
block: vhdx - add .bdrv_create() support
block: vhdx - fix comment typos in header, fix incorrect struct fields
block: vhdx - break out code operations to functions
block: vhdx - move more endian translations to vhdx-endian.c
block: vhdx - remove BAT file offset bit shifting
block: vhdx write support
block: vhdx - add log write support
block: vhdx - add region overlap detection for image files
block: vhdx - log parsing, replay, and flush support
block: vhdx code movement - move vhdx_close() above vhdx_open()
block: vhdx - update log guid in header, and first write tracker
block: vhdx - break endian translation functions out
block: vhdx - log support struct and defines
block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to
header.
block: vhdx - add header update capability.
block: vhdx - minor comments and typo correction.
...
Message-id: 1383905551-16411-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 70c4c5b5621f6d954843547bcab9db857d882e99
Merge: 9f43a3f ebbfd5a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:47:06 2013 -0800
Merge remote-tracking branch 'filippov/tags/20131108-xtensa' into staging
Two small fixes for 1.7:
- add missing debug feature to dc233c xtensa core;
- fix qemu abort caused by gdb attempt to invalidate a breakpoint by
virtual address for which there's no mapping.
# gpg: Signature made Thu 07 Nov 2013 09:32:19 PM PST using RSA key ID
F83FA044
# gpg: Can't check signature: public key not found
# By Max Filippov
# Via Max Filippov
* filippov/tags/20131108-xtensa:
target-xtensa: add missing DEBUG section to dc233c config
exec: fix breakpoint_invalidate when pc may not be translated
Message-id: 1383889643-21621-1-git-send-email-jcmvbkbc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 9f43a3f541019a5836247c8cfdfc5fef89cf077d
Merge: 6bddfae 73204cf
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:46:23 2013 -0800
Merge remote-tracking branch 'kraxel/audio.3' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/audio.3:
ossaudio: check for oss support in oss_audio_init
Revert "ossaudio: do not enable by default"
Message-id: 1383823947-5132-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bddfae306001c6e474ff97ef59c518568ea5af4
Merge: 964668b 20d155b
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 13 11:45:58 2013 -0800
Merge remote-tracking branch 'sweil/mingw' into staging
# By Stefan Weil
# Via Stefan Weil
* sweil/mingw:
linux-user: Fix stat64 syscall for SPARC64
configure: Add config.status to recreate the current configuration
nsis: Improved support for parallel installation of 32 and 64 bit code
Message-id: 1383804909-376-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3325a83627de3e3bd9a97548f13bbb53b354d970
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 15:58:19 2013 +0100
console: Remove unused debug code
The local function console_print_text_attributes is no longer used since
commit 7d6ba01c3741bc32ae252bf64a5fd3f930c2df4f.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ba1c29310904b34265203e86e133fe177e9f6511
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Nov 10 18:49:11 2013 +0100
qga: Fix compilation for old versions of MinGW
While MinGW-w64 can compile the qga code, MinGW from Debian lenny
(gcc-mingw32 4.4.2-3) shows these errors:
In file included from qga/vss-win32.c:17:
qga/vss-win32/requester.h:31:
error: expected »=«, »,«, »;«, »asm« or »__attribute__« before
»requester_init«
qga/vss-win32/requester.h:32:
error: expected »=«, »,«, »;«, »asm« or »__attribute__« before
»requester_deinit«
The macro STDAPI is unknown, so add the missing include file which
defines it.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit fe863ab9855478e693d63f306141eb242217b424
Author: Alex Bennée <alex@xxxxxxxxxx>
Date: Wed Nov 6 10:43:37 2013 +0000
.travis.yml: basic compile and check recipes
This adds a build matrix definition for travis-ci.org continuous
integration service. It is usable on any public repository hosted on
GitHub. Once you have created an account signed into Travis you can
enable it on selected projects via travis-ci.org/profile. Alternatively
you can configure the service hooks on GitHub via the repository
Settings tab,then Service Hooks and selecting Travis.
Once setup Travis will automatically test every push as well as any pull
requests submitted to that repository.
The build matrix is currently split by target architecture (see TARGETS
environment variable) because a full build of QEMU can take some time.
This way you get quick feedback for any obvious errors. The additional
environment variables exist to allow additional builds to tweak the
environment. These are:
EXTRA_CONFIG - extra terms passed to configure
EXTRA_PKGS - extra dev packages to install
TEST_CMD - default "make check", can be overridden
I've confined the additional stuff to x86/x86_64 for convenience.
As Travis supports clang the main builds are done twice (once for gcc
and once for clang). However clang is disabled for the debug/trace
builds for the purposes of brevity.
Other wrinkles:
* The lttng user-space tracing back-end is disabled
(it is currently horribly broken)
* The ftrace back-end doesn't run "make check"
(it requires a mounted debugfs to work)
* There are two debug enabled build (with and without TCG interpreter)
Signed-off-by: Alex Bennée <alex@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 25a666d2ec0ab6e84489d50495b4c3e250531426
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Fri Oct 11 11:52:30 2013 -0400
pci-assign: Fix error_report of pci-stub message
Using multiple calls to error_report here means every line is
prefaced with the (potentially long) pci-assign command line
arguments.
Use a single error_printf to preserve the intended formatting.
Since this code path is always preceded by an error_report call,
we don't lose the command line reporting.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 669aa3f6bdf49663cb5cbceac605c020750263d6
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 1 17:35:29 2013 +0800
qapi: Fix comment for create-type to match code.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8111d0287821a9b2a2faefbf0be1f345dbe93222
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Tue Oct 29 08:36:31 2013 +0400
vl: fix build when configured with no graphic support
The following error occurs when building with no graphic output support:
vl.c: In function â??mainâ??:
vl.c:2829:19: error: variable â??dsâ?? set but not used
[-Werror=unused-but-set-variable]
DisplayState *ds;
^
cc1: all warnings being treated as errors
To reproduce this issue, just run:
$ ./configure \
--disable-curses \
--disable-sdl \
--disable-cocoa \
--disable-gtk \
--disable-vnc \
--enable-werror
$ make vl.o
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d9570cadd54115dd1b2bdff7d43c0d4f840e65e5
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Oct 29 15:44:31 2013 +0100
usb: drop unused USBNetState.inpkt field
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 4c6968c7a03d5e4805dad09aba0491e12b16a596
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:06 2013 +0200
qemu-char: add missing characters used in keymaps
This patch adds all missing characters used in regional keymap
files which already exist in QEMU. I checked for the missing
characters by going through all of the keymaps and matching that
with records in vnc_keysym.h. If the key wasn't found I looked
it up in libxkbcommon library [1]. If I understood it correctly
this is also the same place where most of the keymaps were
exported from according to the comment on the first line in those
files. I was able to find all symbols except "quotebl" used
in Netherland keymap.
I tested this update with Czech keyboard by myself. I also asked
Matej Serc to test Slovenian keyboard layout - he reported problems
with it few days ago on this mailing list. Both layouts seems
to work fine. I wasn't able to test the remaining layouts but
since this change doesn't modify any existing symbols, just adds
new ones, I don't expect any sideeffects.
[1] http://cgit.freedesktop.org/xorg/lib/libxkbcommon
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 828071592470d0703a283433ea195295dab0ad7d
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:05 2013 +0200
qemu-char: add support for U-prefixed symbols
This patch adds support for Unicode symbols in keymap files. This
feature was already used in some keyboard layouts in QEMU generated
from XKB (e.g. Arabic) but it wasn't implemented in QEMU source code.
There is no need for check of validity of the hex string after U character
because strtol returns 0 in case the conversion was unsuccessful.
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3751e72246b3efd9902bddc7fbd20df8f86bab21
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:04 2013 +0200
qemu-char: add Czech keymap file
This patch adds Czech keyboard layout to available keymap files
and Makefile.
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 018715f96cc1315df355743a1f807e1b95d2a10f
Author: Jan Krupa <JKrupa@xxxxxxxx>
Date: Wed Oct 16 14:40:03 2013 +0200
qemu-char: add Czech characters to VNC keysyms
This patch adds missing Czech characters to the VNC keysym table.
Signed-off-by: Jan Krupa <jkrupa@xxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit dce07e0b2b172ccce43955fdee2149ab2413251b
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Nov 5 16:09:37 2013 -0500
MAINTAINERS: add git tree info for HMP, QMP and QAPI
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7b75d9d61bf9b7b43f6df2fb2fbfc38c4eb9d2e9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 31 13:26:01 2013 -0700
Adjust qapi-visit for python-2.4.3
We say we support python 2.4, but python 2.4.3 does not
support the "expr if test else expr" syntax used here.
This allows QEMU to compile on RHEL 5.3, the last release for ia64.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ef9e455d645bed6d2360cd658dc00ca11a849877
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Nov 10 11:54:33 2013 +0200
Revert "exec: limit system memory size"
This reverts commit 818f86b88394b7b2b59d313e51043fe15a8004db.
This was a work-around for bugs elsewhere in the system,
exposed by commit a53ae8e934cd54686875b5bcfc2f434244ee55d6:
"hw/pci: partially handle pci master abort"
since that's reverted now, the work-around is not required for 1.7
anymore.
The proper fix is supporting full 64 bit addresses in the radix tree.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
commit 0fbf50b6ec126600dca115adb1563c657cc27695
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Sun Nov 10 11:49:57 2013 +0200
Revert "hw/pci: partially handle pci master abort"
This reverts commit a53ae8e934cd54686875b5bcfc2f434244ee55d6.
The patch being reverted introduced a low-priority memory region
covering all 64 bit pci address space. This exposed the following bugs
elsewhere in the code:
1. Some memory regions have INT64_MAX size, where the
intent was all 64 bit address space.
This results in a sub-page region, should be UINT64_MAX.
2. page table rendering in exec.c ignores physical address bits
above TARGET_PHYS_ADDR_SPACE_BITS.
Access outside this range (e.g. from device DMA, or gdb stub)
ends up with a wrong region. Registering a region outside this
range leads to page table corruption.
3. Some regions overlap PCI hole and have same priority.
This only works as long as no device uses the overlapping address.
It doesn't look like we can resolve all issues in time for 1.7.
Let's fix the bugs first and apply afterwards for 1.8.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fe1479aa251971abd3842dee4a783d4ebace8fb8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Nov 10 11:53:30 2013 +0200
loader: drop return value for rom_add_blob_fixed
rom_add_blob never fails, and neither does rom_add_blob_fixed,
so there's no need to return value from it.
In fact, rom_add_blob_fixed was erroneously returning -1 unconditionally
which made the only system that checked the return value -M bamboo fail
to start.
Drop the return value and drop checks from ppc440_bamboo to
fix this failure.
Reported-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 81adc5131534ca7554cebe64cd8f86bac28dbd1b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Thu Nov 7 14:12:05 2013 +0200
acpi-build: disable with -no-acpi
QEMU will currently crash if started with -no-acpi flag
since acpi build code probes the PM device which isn't present
in this configuration.
To fix, don't expose ACPI tables to guest when acpi has been
disabled from command line.
Fixes LP# 1248854
https://bugs.launchpad.net/qemu/+bug/1248854
Reported-by: chao zhou <chao.zhou@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Nov 6 16:58:08 2013 +0800
virtio-net: only delete bh that existed
We delete without check whether it existed during exit. This will lead
NULL
pointer deference since it was created conditionally depends on guest
driver
status and features. So add a check of existence before trying to delete
it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 04c7d8b8dea724f1007f0f6e76047ff03b4cb24f
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Nov 5 18:46:27 2013 -0500
Fix pc migration from qemu <= 1.5
The following commit introduced a migration incompatibility:
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()
The issue is that i440fx savevm idstr went from 0000:00:00.0/I440FX to
0000:00.0/I440FX. Unfortunately we are stuck with the breakage for
1.6 machine types.
Add a compat property to maintain the busted idstr for the 1.6 machine
types, but revert to the old style format for 1.7+, and <= 1.5.
Tested with migration from qemu 1.5, qemu 1.6, and qemu.git.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cc386e96727442f5b67052d4e0a602f6f652ffe6
Author: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Date: Sun Sep 22 18:09:13 2013 +0300
virtio-net: broken RX filtering logic fixed
Upon processing of VIRTIO_NET_CTRL_MAC_TABLE_SET command
multicast list overwrites unicast list in mac_table.
This leads to broken logic for both unicast and multicast RX filtering.
Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1597591cca8a8fa20b8872937b859ec2aaccba6c
Author: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Date: Tue Nov 5 10:54:29 2013 +0400
net: fix qemu_flush_queued_packets() in presence of a hub
Do not return after net_hub_flush(). Always flush callee network client
incoming queue.
Signed-off-by: Sergey Fedorov <s.fedorov@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d60b20cf2ae6644b05159b9361cba83fb6c0cb84
Author: Dmitry Krivenok <krivenok.dmitry@xxxxxxxxx>
Date: Mon Oct 21 12:08:44 2013 +0400
net: disallow to specify multicast MAC address
[Assigning a multicast MAC address to a NIC leads to confusing behavior.
Reject multicast MAC addresses so users are alerted to their error
straight away.
The "net/eth.h" in6_addr rename prevents a name collision with
<netinet/in.h> on Linux.
-- Stefan]
Signed-off-by: Dmitry V. Krivenok <krivenok.dmitry@xxxxxxxxx>
Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7e382003f1bd9d8a441ecc5ac8a74bad3564d943
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Nov 6 19:48:06 2013 +0800
block: Round up total_sectors
Since b94a2610, bdrv_getlength() is omitted when probing image. VMDK
monolithicFlat is broken by that because a file < 512 bytes can't be
read with its total_sectors truncated to 0. This patch round up the size
to BDRV_SECTOR_SIZE, when a image size is not sector aligned.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ebbfd5a094ead6f28d45718f97b4837bd3e7f916
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sun Oct 20 04:15:23 2013 +0400
target-xtensa: add missing DEBUG section to dc233c config
This fixes missing debug feature opcodes of dc233c core variant.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit e8262a1b5b7cfbcbc80c46e4ce6ff7c517b7b2f6
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Fri Sep 27 22:29:17 2013 +0400
exec: fix breakpoint_invalidate when pc may not be translated
This fixes qemu abort with the following message:
include/qemu/int128.h:22: int128_get64: Assertion `!a.hi' failed.
which happens due to attempt to invalidate breakpoint by virtual address
for which get_phys_page_debug couldn't find mapping.
For more details see
http://lists.nongnu.org/archive/html/qemu-devel/2013-09/msg04582.html
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9d0e1dac108ce90cbe62c89af57a7ace006f5152
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Oct 15 16:00:33 2013 +1100
pseries: Update SLOF firmware image
SLOF git commit is e2e8ac901e617573ea383f9cffd136146d0675a4
The main changes are:
* fixed bug with not passing arguments from -append
* client-architecture-support hypercall
* netboot
* USB stack fixes
The full list of changes:
> client-architecture-support: fix wrong version read
> client-architecture-support: fix redundant stack drop
> Update device tree returned by CAS hypercall
> fdt: introduce fdt-init
> Add ibm,client-architecture-support method
> Kernel parameter passed from qemu commandline ignored
> Allow more than one client to open net devices simultaneously
> ci: add missing close in else condition
> Add GPT support
> pci: fix interrupt-map for bridges
> usb-ohci: preserve the toggleCarry bit in ED
> usb-ohci: done_head processing fixes
> usb-ohci: update init and rationalize timings
> usb-msc: handle stall and other fixes
> scsi: make probe more error resilient
> usb-core: Add CLEAR FEATURE api
> Implement range allocator
> Remove bcm57xx network driver as module
> Remove e1000 network driver as module
> Remove virtio-net network driver as module
> Remove veth network driver as module
> Add missing close-dev in ping
> Remove lodable network driver modules and related functions
> Add bcm57xx network driver in libbcm
> Add e1000 network driver in libe1k
> Add virtio-net driver in libvirtio
> Add veth driver in libveth
> Get MAC address for client interface module
> Add SLOF usleep wrapper
> Add SLOF pci wrapper functions
> Fix 'canon' client interface
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 29fdedfed54db4b04fe391ce8a4d9bf5ff86218e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Oct 11 14:08:20 2013 +1100
spapr: add vio-bus devices to categories
In order to get devices appear in output of
"./qemu-system-ppc64 -device ?",
they must be assigned to one of DEVICE_CATEGORY_XXXX.
This puts VIO devices classes to corresponding categories.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e78835b722eb26f5a56370166e99b69e9751ea2a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:56 2013 -0400
block: vhdx qemu-iotest - log replay of data sector
This tests the replay of a data sector in a VHDX image file.
The image file is a 10G dynamic image, with 4MB block size. The
image was created with qemu-img, and the log left unplayed by
modification of the vhdx image format driver.
It was verified under both QEMU and Hyper-V that the image file,
post log replay, matched.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 751aec24cdcd4359b5927df5cebfe6b8d3e74515
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:55 2013 -0400
block: qemu-iotests for vhdx, add write test support
This removes the IMGFMT_GENERIC blocker for read-only, so existing
iotests run read/write tests for vhdx images created by qemu-img (e.g.
tests 001, 002, 003).
In addition, this updates the sample image test for the Hyper-V
created image, to verify we can write it as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 228b234dd73383408743d749d29a6c37e9d99981
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:54 2013 -0400
block: vhdx - update _make_test_img() to filter out vhdx options
The non-global option output is suppresed in _make_test_img() for
output verification in the 0?? tests. This adds suppression for
the vhdx-unique options as well. This allows check -vhdx to run
successfully.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3412f7b1bd8f250c34c9f933767d06b9444bb821
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:53 2013 -0400
block: vhdx - add .bdrv_create() support
This adds support for VHDX image creation, for images of type "Fixed"
and "Dynamic". "Differencing" types (i.e., VHDX images with backing
files) are currently not supported.
Options for image creation include:
* log size:
The size of the journaling log for VHDX. Minimum is 1MB,
and it must be a multiple of 1MB. Invalid log sizes will be
silently fixed by rounding up to the nearest MB.
Default is 1MB.
* block size:
This is the size of a payload block. The range is 1MB to 256MB,
inclusive, and must be a multiple of 1MB as well. Invalid sizes
and multiples will be silently fixed. If '0' is passed, then
a sane size is chosen (depending on virtual image size).
Default is 0 (Auto-select).
* subformat:
- "dynamic"
An image without data pre-allocated.
- "fixed"
An image with data pre-allocated.
Default is "dynamic"
When creating the image file, the lettered sections are created:
-----------------------------------------------------------------.
| (A) | (B) | (C) | (D) | (E)
| File ID | Header1 | Header 2 | Region Tbl 1 | Region Tbl 2
| | | | |
.-----------------------------------------------------------------.
0 64KB 128KB 192KB 256KB 320KB
.---- ~ ----------- ~ ------------ ~ ---------------- ~ -----------.
| (F) | (G) | (H) |
| Journal Log | BAT / Bitmap | Metadata | .... data ......
| | | |
.---- ~ ----------- ~ ------------ ~ ---------------- ~ -----------.
1MB (var.) (var.) (var.)
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 61c02e5687dcc581c9d3413b61040b023adeaa9c
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:52 2013 -0400
block: vhdx - fix comment typos in header, fix incorrect struct fields
VHDXPage83Data and VHDXParentLocatorHeader both incorrectly had their
MSGUID fields set as arrays of 16. This is incorrect (it stems from
an early version where those fields were uint_8 arrays). Those fields
were, up to this patch, unused.
Also, there were a couple of typos and incorrect wording in comments,
and those have been fixed up as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e74a971cb3229813112c74dca81e599812b66f3
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:51 2013 -0400
block: vhdx - break out code operations to functions
This is preperation for vhdx_create(). The ability to write headers,
and calculate the number of BAT entries will be needed within the
create() functions, so move this relevant code into helper functions.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c325ee1de84dde5b2a90c30e1b788defa31c5d53
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:50 2013 -0400
block: vhdx - move more endian translations to vhdx-endian.c
In preparation for vhdx_create(), move more endian translation
functions out to vhdx-endian.c.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0b7da092b40734538631c3ad461c1753a87535fc
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:49 2013 -0400
block: vhdx - remove BAT file offset bit shifting
Bit shifting can be fun, but in this case it was unnecessary. The
upper 44 bits of the 64-bit BAT entry is specifies the File Offset,
so we shifted the bits to get access to the value.
However, per the spec the value is in MB. So we dutifully shifted back
to the left by 20 bits, to convert to a true uint64_t file offset.
This replaces those steps with just a bit mask, to get rid of the lower
20 bits instead.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d92aa8833c051b53d3bf2614ff885df0037f10bb
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:48 2013 -0400
block: vhdx write support
This adds support for writing to VHDX image files, using coroutines.
Writes into the BAT table goes through the VHDX log. Currently, BAT
table writes occur when expanding a dynamic VHDX file, and allocating a
new BAT entry.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8adc52336d9c44ab4c7b9358a7be22ac0ef962bf
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:47 2013 -0400
block: vhdx - add log write support
This adds support for writing to the VHDX log.
For spec details, see VHDX Specification Format v1.00:
https://www.microsoft.com/en-us/download/details.aspx?id=34750
There are a few limitations to this log support:
1.) There is no caching yet
2.) The log is flushed after each entry
The primary write interface, vhdx_log_write_and_flush(), performs a log
write followed by an immediate flush of the log.
As each log entry sector is a minimum of 4KB, partial sector writes are
filled in with data from the disk write destination.
If the current file log GUID is 0, a new GUID is generated and updated
in the header.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1a848fd4517820981b542e0d10e64c0426414229
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:46 2013 -0400
block: vhdx - add region overlap detection for image files
Regions in the image file cannot overlap - the log, region tables,
and metdata must all be unique and non-overlapping.
This adds region checking by means of a QLIST; there can be a variable
number of regions and metadata (there may be metadata or region tables
that we do not recognize / know about, but are not required).
This adds the capability to register a region for later checking, and
to check against registered regions for any overlap.
Also, if neither the BAT or Metadata region tables are found, return
error.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0a43a1b5d7c33208120eeb2d98ebb9ab15dc2c87
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:45 2013 -0400
block: vhdx - log parsing, replay, and flush support
This adds support for VHDX v0 logs, as specified in Microsoft's
VHDX Specification Format v1.00:
https://www.microsoft.com/en-us/download/details.aspx?id=34750
The following support is added:
* Log parsing, and validation - validate that an existing log
is correct.
* Log search - search through an existing log, to find any valid
sequence of entries.
* Log replay and flush - replay an existing log, and flush/clear
the log when complete.
The VHDX log is a circular buffer, with elements (sectors) of 4KB.
A log entry is a variably-length number of sectors, that is
comprised of a header and 'descriptors', that describe each sector.
A log may contain multiple entries, know as a log sequence. In a log
sequence, each log entry immediately follows the previous entry, with an
incrementing sequence number. There can only ever be one active and
valid sequence in the log.
Each log entry must match the file log GUID in order to be valid (along
with other criteria). Once we have flushed all valid log entries, we
marked the file log GUID to be zero, which indicates a buffer with no
valid entries.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c46415afc2c99ea052f52f9d68ed9a78799f2c10
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:44 2013 -0400
block: vhdx code movement - move vhdx_close() above vhdx_open()
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c3906c5e8281b37a526c706596af8575d6ac00d3
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:43 2013 -0400
block: vhdx - update log guid in header, and first write tracker
Allow tracking of first file write in the VHDX image, as well as
the ability to update the GUID in the header. This is in preparation
for log support.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0f48e8f0978afe0bd44c63749e7df6411da6c437
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:42 2013 -0400
block: vhdx - break endian translation functions out
This moves the endian translation functions out from the vhdx.c source,
into a separate source file. In addition to the previously defined
endian functions, new endian translation functions for log support are
added as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 625565d27e8d7c7f7238ccd118a2cd49c1c52963
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:41 2013 -0400
block: vhdx - log support struct and defines
This adds some magic number defines, and internal structure definitions
for VHDX log replay support. The struct VHDXLogEntries does not reflect
an on-disk data structure, and thus does not need to be packed.
Some minor code style fixes are applied as well.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 28541d46280733b9afe7b106a3a6665275a45e5f
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:40 2013 -0400
block: vhdx code movement - VHDXMetadataEntries and BDRVVHDXState to
header.
In preparation for VHDX log support, move these structures to the
header.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f18b7824ab5eda9fe051f5b24e90e5f34d08a23
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:39 2013 -0400
block: vhdx - add header update capability.
This adds the ability to update the headers in a VHDX image, including
generating a new MS-compatible GUID.
As VHDX depends on uuid.h, VHDX is now a configurable build option. If
VHDX support is enabled, that will also enable uuid as well. The
default is to have VHDX enabled.
To enable/disable VHDX: --enable-vhdx, --disable-vhdx
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6e9d290bf62406098ca3d7bf3796463681ed3c39
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Oct 30 10:44:38 2013 -0400
block: vhdx - minor comments and typo correction.
Just a couple of minor comments to help note where allocated
buffers are freed, and a typo fix.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0173e7bbf3c892abd4e35507ddeb2f23c1a44829
Author: Peter Lieven <pl@xxxxxxx>
Date: Mon Oct 21 16:00:18 2013 +0200
block/vpc: fix virtual size for images created with disk2vhd
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 17826bc159893300a05551d8a830275c5ecf0092
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Nov 5 20:03:33 2013 +0100
block: Save errno before error_setg_errno
error_setg_errno() may overwrite errno; therefore, its value should be
read before calling that function and not afterwards.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 43cd209803d6cffb1e1a028c9ff2fd0ff4fce954
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:35 2013 +0100
qdev-monitor-test: add device_add leak test cases
Ensure that the device_add error code path deletes device objects.
Failure to do so not only leaks the objects but can also keep other
objects (like drive or netdev) alive due to qdev properties holding
references.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7ceeedd016facf8d58e14a0d1417fa7225d71072
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:34 2013 +0100
blockdev-test: add test case for drive_add duplicate IDs
The following should work:
(qemu) drive_add if=none,id=drive0
(qemu) drive_del drive0
(qemu) drive_add if=none,id=drive0
Previous versions of QEMU produced a duplicate ID error because
drive_add leaked the options.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0c460dac03e7919079525d8e24ef2c4c607c219d
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:33 2013 +0100
libqtest: add qmp(fmt, ...) -> QDict* function
Add a qtest qmp() function that returns the response object. This
allows test cases to verify the result or to check for error responses.
It also allows waiting for QMP events.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit 0d1aa05e9eba2437fdcdfbaa846c850c986bf7c6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:32 2013 +0100
libqtest: rename qmp() to qmp_discard_response()
Existing qmp() callers do not expect a response object. In order to
implement real QMP test cases it will be necessary to inspect the
response object.
Rename qmp() to qmp_discard_response(). Later patches will introduce a
qmp() function that returns the response object and tests that use it.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
commit ec9c10d29c6bb5613a680af62f5825d3bb2d31d4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Oct 30 14:54:30 2013 +0100
blockdev: fix drive_init() opts and bs_opts leaks
These memory leaks also make drive_add if=none,id=drive0 without a file=
option leak the options list. This keeps ID "drive0" around forever.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit db5dc557288fb1b7a17ffabe3b92f299fc2dc187
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:42 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage in 061
When creating images with backing files in the test, the backing
file argument was not quoted properly. This caused the test to fail
when run from a pathname with a space. Pass the backing argument in
with the -b option to _make_test_img, so it can be properly quoted.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1ab391938d29ebc3956d07b622c987c350434eaf
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:41 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage for 051
There were still a couple of instances of unquoted usage of
$TEST_IMG and $TEST_IMG.orig. Quoted these so they will not fail
on pathnames with spaces in them.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f897e3939cbbcec26e99415a499654ae7ae09b64
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:40 2013 -0400
block: qemu-iotests, removes duplicate double quotes in 039
Test 039 had $TEST_IMG with duplicate double quotes - remove duplicate.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3cbe3e8d25529ecb4e1838d1c6856e199b3a66d4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:39 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage in 019
There were still instances of $TEST_IMG not being properly quoted.
This was in the usage of a string built up for a 'for' loop; modify
the loop so we can quote $TEST_IMG properly.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02cde1688131090d3abb2f210e30a44d96804167
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:38 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG.base usage in 017
$TEST_IMG.base is used unquoted. Add quotes so that pathnames with
spaces are supported.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0018c03f5d37f3a7df23eef0e9f1e6e6189ed634
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:37 2013 -0400
block: qemu-iotests, fix _make_test_img() to work with spaced pathnames
_make_test_img() currently works with spaced pathnames only when not
specifying a backing file. This fixes it so that the backing file
argument is properly quoted.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0084043888f6773d905c1b5d644b89c79d1c7714
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Thu Oct 31 11:57:36 2013 -0400
block: qemu-iotests, add quotes to $TEST_IMG usage io pattern tests
The usage of $TEST_IMG was not properly quoted everywhere in
common.pattern.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 511018e4b49a5f0f1c7b051bb79fe8eccbb590fe
Author: Andreas Tobler <andreast@xxxxxxxxxxx>
Date: Thu Oct 31 22:41:46 2013 +0100
block/raw-posix: fix FreeBSD compilation
The below patch is needed to compile qemu trunk on FreeBSD with gcc48,
clang will fail.... ;). Host x84_64-freebsd.
Signed-off-by: Andreas Tobler <andreast@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 64815e2a966f0a3f18818b9d542f1ef02dc992a2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Nov 2 14:52:11 2013 +0100
qemu-iotests: Filter out actual image size in 067
The actual size of the image file may differ depending on the Linux
kernel currently running on the host. Filtering out this value makes
this test pass in such cases.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a9a443c874cf92b583852cf8ea5b75df8580df32
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Nov 1 17:35:29 2013 +0800
qapi: Fix comment for create-type to match code.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 73204cffe55ce65b3a344afc3da637d67beb8c32
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 7 12:24:41 2013 +0100
ossaudio: check for oss support in oss_audio_init
Check whenever the device path (/dev/dsp by default) exists and qemu is
allowed to access it. Return NULL if it isn't, so ossaudio will not
be used on systems wihtout oss support (increasinly common on modern
linux systems).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 926de75432d57cade393750da8102f3ba1eeb4a0
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Nov 7 12:25:02 2013 +0100
Revert "ossaudio: do not enable by default"
This reverts commit c905c5012ac0c6fde3b8094d2206a3139deddba2.
There is a better fix for the issue at hand.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ef4cbe14342c1f63b3c754e306218f004f4e26c4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Nov 6 22:35:27 2013 +0100
kvm: Fix uninitialized cpuid_data
This error was reported by valgrind when running qemu-system-x86_64
with kvm:
==975== Conditional jump or move depends on uninitialised value(s)
==975== at 0x521C38: cpuid_find_entry (kvm.c:176)
==975== by 0x5235BA: kvm_arch_init_vcpu (kvm.c:686)
==975== by 0x4D5175: kvm_init_vcpu (kvm-all.c:267)
==975== by 0x45035B: qemu_kvm_cpu_thread_fn (cpus.c:858)
==975== by 0xD361E0D: start_thread (pthread_create.c:311)
==975== by 0xD65E9EC: clone (clone.S:113)
==975== Uninitialised value was created by a stack allocation
==975== at 0x5226E4: kvm_arch_init_vcpu (kvm.c:446)
Instead of adding more memset calls for parts of cpuid_data, the existing
calls were removed and cpuid_data is now initialized completely in one
call.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 3a902babf1d7b5ef1ffa8bc95be271fe1270c2f6
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Nov 4 14:42:55 2013 +0100
pci-assign: Remove dead code for direct I/O region access from userspace
This feature was already deprecated back then in qemu-kvm, ie. before
pci-assign went upstream. assigned_dev_ioport_rw will never be invoked
with resource_fd < 0.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 20d155bc902f41c5b354937e730ad85b43614ae9
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Oct 30 22:52:24 2013 +0100
linux-user: Fix stat64 syscall for SPARC64
Some targets use a stat64 structure for the stat64 syscall while others
use a stat structure. SPARC64 used the wrong kind.
Instead of extending the conditional compilation in syscall.c, now a
macro TARGET_HAS_STRUCT_STAT64 is defined whenever a target has a
target_stat64.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Erik de Castro Lopo <erikd@xxxxxxxxxxxxx>
commit bdf523e6923f1e667055e947e71fc600549cefae
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Oct 20 18:39:21 2013 +0200
configure: Add config.status to recreate the current configuration
The latest configure invocation was saved in config-host.mak and could
be extracted from that file to recreate the configuration.
Now it is saved in a new file config.status which can be directly executed
to recreate the configuration. The file name and the comments were copied
from GNU autoconf.
Makefile now uses config.status, but also includes transitional code
for the old mechanism.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
commit 40b9cc5e40ca69c15a2243852fa20fd1a35a0ea6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Sep 28 10:34:30 2013 +0200
nsis: Improved support for parallel installation of 32 and 64 bit code
32 and 64 bit variants of QEMU already had different default installation
directories, but used a common registry key for saving the choosen
directory. This is confusing for users who want to install both variants,
so fix it by using different registry keys.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 964668b03d26f0b5baa5e5aff0c966f4fcb76e9e
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Wed Nov 6 21:49:39 2013 -0800
Update version for 1.7.0-rc0 release
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 898ae2846de4dcb19da0b80f99ef2215dd137e56
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:07:16 2013 +0800
sdl: Reverse support for video mode setting
Currently, If the setting of video mode failed, qemu will exit. It
should go back to the previous setting if the new screen resolution
failed. This patch fixes LP#1216368, add support to revert to existing
surface for the failure of video mode setting.
Reported-by: Sascha Krissler <sascha@xxxxxxxxx>
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1378285636-7091-1-git-send-email-lilei@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5f3e31012e334f3410e04abae7f88565df17c91a
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 28 17:32:18 2013 +0100
timers: fix stop/cont with -icount
Stop/cont commands are broken with -icount due to a deadlock. The
real problem is that the computation of timers_state.cpu_ticks_offset
makes no sense with -icount enabled: we set it to an icount clock value
in cpu_disable_ticks, and subtract a TSC (or similar, whatever
cpu_get_real_ticks happens to return) value in cpu_enable_ticks.
The fix is simple. timers_state.cpu_ticks_offset is only used
together with cpu_get_real_ticks, so we can use cpu_get_real_ticks
in cpu_disable_ticks. There is no need to update cpu_ticks_prev
at the time cpu_disable_ticks is called; instead, we can do it
the next time cpu_get_ticks is called.
The change to cpu_disable_ticks is the important part of the patch.
The rest modifies the code to always check timers_state.cpu_ticks_prev,
even when the ticks are not advancing (i.e. the VM is stopped). It also
makes a similar change to cpu_get_clock_locked, so that the code remains
similar for cpu_get_ticks and cpu_get_clock_locked.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-id: 1382977938-13844-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd5be5829c1ce87aa6b3a7806524fac07ac9a757
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Tue Nov 5 19:17:18 2013 +0800
e1000/rtl8139: update HMP NIC when every bit is written
We currently just update the HMP NIC info when the last bit of macaddr
is written. This assumes that guest driver will write all the macaddr
from bit 0 to bit 5 when it changes the macaddr, this is the current
behavior of linux driver (e1000/rtl8139cp), but we can't do this
assumption.
The macaddr that is used for rx-filter will be updated when every bit
is changed. This patch updates the e1000/rtl8139 nic to update HMP NIC
info when every bit is changed. It will be same as virtio-net.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Message-id: 1383650238-16015-1-git-send-email-akong@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit fe2dafa02de4f80ab36f6e0f4ddfcd6418c03c49
Author: Jason Wang <jasowang@xxxxxxxxxx>
Date: Wed Nov 6 16:58:08 2013 +0800
virtio-net: only delete bh that existed
We delete without check whether it existed during exit. This will lead
NULL
pointer deference since it was created conditionally depends on guest
driver
status and features. So add a check of existence before trying to delete
it.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383728288-28469-1-git-send-email-jasowang@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c2d30667760e3d7b81290d801e567d4f758825ca
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Aug 14 13:29:43 2013 +0200
rtc: remove dead SQW IRQ code
This was once introduced by commit 100d9891d6 but was never used in-tree
and then got broken by commit 32e0c8260d. Time to clean up.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Message-id: 520B6A27.4040207@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 2c8ebac7ccf51a8e683de593c4240d2ed7d592ec
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Tue Nov 5 16:15:54 2013 +0100
vga: fix invalid read after free
After calling dpy_gfx_replace_surface(s->con, surface), the outer
surface is invalid.
==5370== Invalid read of size 4
==5370== at 0x460229: surface_bits_per_pixel (console.h:250)
==5370== by 0x466A81: get_depth_index (vga.c:1173)
==5370== by 0x467EC2: vga_draw_graphic (vga.c:1718)
==5370== by 0x4687A5: vga_update_display (vga.c:1914)
==5370== by 0x2A782E: qxl_hw_update (qxl.c:1766)
==5370== by 0x3EB83B: graphic_hw_update (console.c:254)
==5370== by 0x3FBE31: qemu_spice_display_refresh (spice-display.c:418)
==5370== by 0x2A7D01: display_refresh (qxl.c:1886)
==5370== by 0x3EEE1C: dpy_refresh (console.c:1436)
==5370== by 0x3EB543: gui_update (console.c:192)
==5370== by 0x3C43B3: timerlist_run_timers (qemu-timer.c:488)
==5370== by 0x3C4416: qemu_clock_run_timers (qemu-timer.c:499)
==5370== Address 0x22ffb1e0 is 0 bytes inside a block of size 56 free'd
==5370== at 0x4A074C4: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5370== by 0x4245FC: free_and_trace (vl.c:2771)
==5370== by 0x50899AE: g_free (gmem.c:252)
==5370== by 0x3EE8D3: qemu_free_displaysurface (console.c:1332)
==5370== by 0x3EEDB7: dpy_gfx_replace_surface (console.c:1427)
==5370== by 0x467EB6: vga_draw_graphic (vga.c:1714)
==5370== by 0x4687A5: vga_update_display (vga.c:1914)
==5370== by 0x2A782E: qxl_hw_update (qxl.c:1766)
==5370== by 0x3EB83B: graphic_hw_update (console.c:254)
==5370== by 0x3FBE31: qemu_spice_display_refresh (spice-display.c:418)
==5370== by 0x2A7D01: display_refresh (qxl.c:1886)
==5370== by 0x3EEE1C: dpy_refresh (console.c:1436)
Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Message-id: 1383664554-15248-1-git-send-email-marcandre.lureau@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 5cb6be2ca3094f4b6b6fd4c44eabec0098acd3e3
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Nov 5 17:42:48 2013 +0100
tests: fix 64-bit int literals for 32-bit hosts
On 32-bit hosts:
CC tests/test-opts-visitor.o
tests/test-opts-visitor.c: In function 'test_value':
tests/test-opts-visitor.c:128: warning: integer constant is too large for
'long' type
CC tests/test-bitops.o
tests/test-bitops.c:34: warning: integer constant is too large for 'long'
type
tests/test-bitops.c:35: warning: integer constant is too large for 'long'
type
tests/test-bitops.c:35: warning: integer constant is too large for 'long'
type
CC tests/endianness-test.o
tests/endianness-test.c:47: warning: integer constant is too large for
'long' type
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1383669768-23926-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6f1ce94a2935dab5d0aa3bd13ecc33e352213dc7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Oct 15 15:42:34 2013 +0100
docs/memory.txt: Clarify and expand priority/overlap documentation
The documentation of how overlapping memory regions behave and how
the priority system works was rather brief, and confusion about
priorities seems to be quite common for developers trying to understand
how the memory region system works, so expand and clarify it.
This includes a worked example with overlaps, documentation of the
behaviour when an overlapped container has "holes", and mention
that it's valid for a region to have both MMIO callbacks and
subregions (and how this interacts with priorities when it does).
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1381848154-31602-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 61cc919f73ea7ca134c0ac41b748981ad63a253b
Author: Mike Frysinger <vapier@xxxxxxxxxx>
Date: Sun Jun 30 23:30:18 2013 -0400
configure: detect endian via compile test
This avoids needing to execute a program and keeping an (incomplete)
list when cross-compiling.
Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Tested-by: James Hogan <james.hogan@xxxxxxxxxx> [mips]
Message-id: 1372649418-4987-1-git-send-email-vapier@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 8aa15b6e527f234e491a6d354bed4d10da3a01a7
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 6 02:35:51 2013 +0800
tests: fix memleak in error path test for input visitor
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1383676551-18806-3-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3dce9cad5a6c0b0dbe0830973b270c9466c8ab4b
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Nov 6 02:35:50 2013 +0800
qapi: fix memleak by adding implict struct functions in dealloc visitor
Otherwise member "base" is leaked in a qapi_free_STRUCTURE() call.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Message-id: 1383676551-18806-2-git-send-email-xiawenc@xxxxxxxxxxxxxxxxxx
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 7d579514a5a7b308b52d4e8567aa9bd1f7aa761b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:37 2013 +0000
bswap.h: Remove cpu_to_32wu()
Replace the legacy cpu_to_32wu() with stl_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-10-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e4ef9f465cf7cbc66b85e9df4eebe13086b46f11
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:36 2013 +0000
bswap.h: Remove cpu_to_be64wu()
Replace the legacy cpu_to_be64wu() with stq_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-9-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6bd194ab9957361f83fdbfb22d452d97b4af28e2
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:35 2013 +0000
bswap.h: Remove cpu_to_be32wu()
Replace the legacy cpu_to_be32wu() with stl_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-8-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit d8ee2591e495d5feb0e0250866222dedc805c8d8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:34 2013 +0000
bswap.h: Remove cpu_to_be16wu()
Replace the legacy cpu_to_be16wu() with stw_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-7-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 09fa8439730c707b34af6ab055fc353f6cadc57d
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:33 2013 +0000
bswap.h: Remove be32_to_cpupu()
Replace the legacy be32_to_cpupu() with ldl_be_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-6-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f567656a67e3859a8be2371c45ff66e90321a2c1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:32 2013 +0000
bswap.h: Remove le32_to_cpupu()
Replace the legacy le32_to_cpupu() with ldl_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-5-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c65e5de94dbe667743d1523d6b4ac301cd76b0fe
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:31 2013 +0000
bswap.h: Remove le16_to_cpupu()
Replace the legacy le16_to_cpupu() with lduw_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-4-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 6e931878c1bde26ff594f284a6857e0d786674bc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:30 2013 +0000
bswap.h: Remove cpu_to_le32wu()
Replace the legacy cpu_to_le32wu() with stl_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-3-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 587ae227607d86d07b0a0fb30fff55604ff9ee80
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Nov 5 16:38:29 2013 +0000
bswap.h: Remove cpu_to_le16wu()
Replace the legacy cpu_to_le16wu() with stw_le_p().
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Message-id: 1383669517-25598-2-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a30b377e0a921bf93349dc4adb94580a3bec7ea4
Merge: c905c50 80bbaee
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 10:33:32 2013 -0800
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* QTest coverage for all machines
* QOM realize for Milkymist UART
* QOM realize for ARM MPCore
* device_add bug fixes and cleanups
* QOM for PCMCIA/MicroDrive (last legacy IDE device)
# gpg: Signature made Tue 05 Nov 2013 09:07:03 AM PST using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (49) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony: (54 commits)
pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState
ide: Drop ide_init2_with_non_qdev_drives()
microdrive: Coding Style cleanups
pcmcia: QOM'ify PCMCIACardState and MicroDriveState
pxa: Fix typo "dettach"
qom: Fix pointer to int property helpers' documentation
qdev-monitor: Inline qdev_init() for device_add
qdev-monitor: Avoid qdev as variable name
qdev: Drop misleading qdev_free() function
qdev-monitor: Unref device when device_add fails
qdev-monitor: Fix crash when device_add is called with abstract driver
qdev-monitor: Clean up qdev_device_add() variable naming
arm11mpcore: Split off RealView MPCore
arm11mpcore: Prepare for QOM embedding
arm11mpcore: Convert mpcore_rirq_state to QOM realize
realview_gic: Prepare for QOM embedding
realview_gic: Convert to QOM realize
arm11mpcore: Convert ARM11MPCorePriveState to QOM realize
arm11mpcore: Split off SCU device
arm11mpcore: Create container MemoryRegion in instance_init
...
commit 80bbaee66ac38bcb5fe5a6f285e20457afcc8bec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 12:23:05 2013 +0200
pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState
Turn it into a SysBusDevice and use a container MemoryRegion.
Add a link<pcmcia-card> property to the PCMCIACardState.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e3d4d36d1bff6b1a0b68b794c33bbe8666afc840
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 11:30:50 2013 +0200
ide: Drop ide_init2_with_non_qdev_drives()
All its users have finally been converted.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a6cb20fcba97bffd893e532f8cc70442200d3e15
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 3 10:32:49 2013 +0200
microdrive: Coding Style cleanups
Add missing braces.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d1f2c96a81a4d18b99b7f471bf58e65c9afab33f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 19:46:16 2013 +0200
pcmcia: QOM'ify PCMCIACardState and MicroDriveState
Turn PCMCIACardState into a device.
Move callbacks to new PCMCIACardClass.
Derive TYPE_MICRODRIVE from TYPE_PCMCIA_CARD.
Replace ide_init2_with_non_qdev_drives().
Signed-off-by: Othmar Pasteka <pasteka@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 853ca11dafb625e36db036b8e83d6e2168703e1f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Jul 17 19:06:47 2013 +0200
pxa: Fix typo "dettach"
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit a25ebcacdda4dd6e68ac62acb4c72f3f868b938d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 7 12:35:01 2013 +0300
qom: Fix pointer to int property helpers' documentation
Relocate to alongside the other object_property_add_* helpers while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 852e2c5008563692a8868260480e76b95bb9018c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 7 16:42:34 2013 +0200
qdev-monitor: Inline qdev_init() for device_add
For historic reasons, qdev_init() unparents the device on failure.
Inline this to make the error paths clearer and consistent.
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2bcb0c62f620a7033e9e25c5b645d50bf9e6a8f2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Oct 7 16:17:54 2013 +0200
qdev-monitor: Avoid qdev as variable name
Prepares for bringing error cleanup code into canonical QOM form.
Includes a whitespace removal after curly brace by Stefan.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 02a5c4c97422b40034f31265e0f139f7846172a8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Sep 11 14:54:09 2013 +0200
qdev: Drop misleading qdev_free() function
The qdev_free() function name is misleading since all the function does
is unlink the device from its parent. The device is not necessarily
freed.
The device will be freed when its QObject refcount reaches zero. It is
usual for the parent (bus) to hold the final reference but there are
cases where something else holds a reference so "free" is a misleading
name.
Call object_unparent(obj) directly instead of having a qdev wrapper
function.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ee6abeb6ec08473713848ce9028110f1684853b7
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Sep 10 18:21:08 2013 +0200
qdev-monitor: Unref device when device_add fails
qdev_device_add() leaks the created device upon failure. I suspect this
problem crept in because qdev_free() unparents the device but does not
drop a reference - confusing name.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2fa4e56d88aa0039062bbc7f9a88e9f90c77ed94
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Sep 17 15:32:32 2013 +0200
qdev-monitor: Fix crash when device_add is called with abstract driver
User is able to crash running QEMU when following monitor
command is called:
device_add intel-hda-generic
Crash is caused by assertion in object_initialize_with_type()
when type is abstract.
Checking if type is abstract before instance is created in
qdev_device_add() allows to prevent crash on incorrect user input.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f4d85795605c7dc594c013221a4b6d62967bd8ab
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 24 01:21:22 2013 +0200
qdev-monitor: Clean up qdev_device_add() variable naming
Avoid confusion between object (obj) and object class (oc).
Tidy DeviceClass variable while at it (k -> dc).
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 9c219b7be6eeaf31dccaf9b74d738e0ce2ea813b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 01:33:59 2013 +0200
arm11mpcore: Split off RealView MPCore
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7b960dc37df088f9ca71bdc2a611864eae38c5c4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 01:27:19 2013 +0200
arm11mpcore: Prepare for QOM embedding
Move state struct, type constant and cast macro to a new header.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 306476eaec483afbbf7f31abeae97874e6d3d29c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 23:38:15 2013 +0200
arm11mpcore: Convert mpcore_rirq_state to QOM realize
Embed ARM11MPCorePriveState and RealViewGICState and replace SysBus
initfn with realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ce31825de64c305cbf0def5657edac21aab7368b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 00:48:55 2013 +0200
realview_gic: Prepare for QOM embedding
Move state struct, type constant and cast macro to a new header.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 612daf06283e2cf6b3aa6178826516512d219de0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 19 00:37:07 2013 +0200
realview_gic: Convert to QOM realize
Embed GICState and replace SysBus initfn with realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 08602ac5bf4f024d7e979de3a4e5df87db01b0ae
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 22:04:31 2013 +0200
arm11mpcore: Convert ARM11MPCorePriveState to QOM realize
Embed child devices and replace SysBus initfn with realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 53cb9a1c2ffa78f5b5f6e4084dc03b98558cea4f
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 20:07:36 2013 +0200
arm11mpcore: Split off SCU device
Inspired by a9scu.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 2c42c3a063c2a8dda74b613bfab021b86ebc7ee5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 20:48:33 2013 +0200
arm11mpcore: Create container MemoryRegion in instance_init
This allows to map the region directly after object initialization.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 21ebaf1d812471e3379c85ffb8b0cc2311d5bff0
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 22:08:59 2013 +0200
arm11mpcore: Drop unused fields
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4c14253c9e889ab1cbd6126eed883682c1cd2718
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 20:36:33 2013 +0200
arm11mpcore: Fix typo in MemoryRegion name
"mpcode" -> "mpcore"
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b4a37f17fef343f6400f0ccc1d1e037c6c430807
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 18 21:00:29 2013 +0200
a9scu: Build only once
It does not have a target or ARMCPU dependency.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 43482f72dbe48448442c3b27f0a26b16d49e8f97
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:31:01 2013 +0200
a15mpcore: Prepare for QOM embedding
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 7c76a48db48accca337e1e99b9085646b696a895
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:22:54 2013 +0200
a15mpcore: Convert to QOM realize
Turn SysBusDevice initfn into a QOM realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 524a2d8e2628b3241f0dcaa6a96d57e8120cc439
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:20:26 2013 +0200
a15mpcore: Embed GICState
This covers both emulated and KVM GIC.
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit b9ed148d243839aba3864b4419114396f6fda2fc
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 21:07:31 2013 +0200
a15mpcore: Split off instance_init
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit de4c2dcf7fedf5fa727113e1dec0d0e5dd0462a0
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 20:44:23 2013 +0200
a9mpcore: Prepare for QOM embedding
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 837cf1013e6e1aa821ce13d7f63bb3dc0a92a1ab
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 20:36:15 2013 +0200
a9mpcore: Convert to QOM realize
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit eb110bd843d3ef70850a7cf44d05056b8a3e81aa
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 20:30:27 2013 +0200
a9mpcore: Embed ARMMPTimerState
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 0aadb4909c330bbde8542fcafc465817530cb835
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:42:55 2013 +0200
arm_mptimer: Convert to QOM realize
Split the SysBusDevice initfn into instance_init and realizefn.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit fc719d77412513a07b718e1f083b64dbcac62524
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:29:36 2013 +0200
a9mpcore: Embed A9SCUState
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 9eb39db520cea30620b24098b6d731f78cc819a0
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:22:12 2013 +0200
a9scu: QOM cleanups
Rename A9SCUState::busdev field to parent_obj and turn realizefn into an
instance_init function to allow early MMIO mapping.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 9b5f952bb8015b079783a9197f3331085075fbc4
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:01:18 2013 +0200
a9mpcore: Embed GICState
Prepares for conversion to QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit 83728796ad3f2ce7d6162c1cb894528b12915646
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 23 03:37:49 2013 +0200
arm_gic: Extract headers hw/intc/arm_gic{,_common}.h
Rename NCPU to GIC_NCPU and move GICState away from gic_internal.h.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 753bc6e981101b2a1d8bd4cb68f54dcdf82e9b63
Author: Andreas Färber <andreas.faerber@xxxxxx>
Date: Sun Jun 30 19:52:31 2013 +0200
a9mpcore: Split off instance_init
Prepares for QOM realize.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <andreas.faerber@xxxxxx>
commit c77dd5f6140acd62ba73fbb8b8144c42c003b995
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Sat Aug 31 21:22:40 2013 +0400
milkymist-uart: Use Device::realize instead of SysBusDevice::init
Use of SysBusDevice::init is deprecated. Use Device::realize instead.
Also introduce TypeInfo::instance_init milkymist_uart_init().
Reported-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7c41f2177e280dec1f1d4c5cd72333c5c55943af
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 05:44:47 2013 +0200
qtest: Prepare QOM machine tests
Instantiate all [*] machines per target, so that they get a bit of test
coverage at all. This has proven helpful during QOM refactorings.
[*] ppcemb target contains some non-working non-embedded machines, and
ppc405 CPUs are not available there either.
i386 and x86_64 do not cover pc*-x.y or xenfv.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 7761254120905cb2c5c435246f97e51968ddddec
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 17:58:58 2013 +0200
leon3: Don't enforce use of -bios with qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d32f7d2506f1dab996e977e478f19baff5d47b51
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 17:51:15 2013 +0200
shix: Don't require firmware presence for qtest
Adopt error_report() while at it.
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b6e770ee505771a6f3c3ffbf05719c149e069e3d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 17:53:24 2013 +0200
shix: Drop debug output
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c00eb5cee145ec7ff030a6bfcb98afd7285868c2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Aug 4 16:49:28 2013 +0200
milkymist: Suppress -kernel/-bios/-drive error for qtest
Acked-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 19c82aac7540acdd4645b033bb99ceff960f9570
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:48:58 2013 +0200
an5206: Don't enforce use of kernel for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5c12762c2d9cfc7ff9744e4af14ef35190c5369b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:47:21 2013 +0200
mcf5208: Don't enforce use of kernel for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5efe843a9a0e049d3d2a13411b7df7d3a430540c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:40:20 2013 +0200
axis_dev88: Don't enforce use of kernel for qtest
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5633b90ad44f08a57c44bb602cb0ae6668420ac9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:36:59 2013 +0200
armv7m: Don't enforce use of kernel for qtest
Adopt error_report().
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4bd2f93ff9dcf5fbbdb55affc55b7f1a568e43cf
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:29:54 2013 +0200
exynos4_boards: Silence lack of -smp 2 warning for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit db3fd06902c96644cb4d4a76f54924c754faf13c
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:27:58 2013 +0200
omap_sx1: Don't enforce use of kernel or flash for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1ca8334e42d84cf246db88502cebf11042df2c51
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:24:47 2013 +0200
palm: Don't enforce loading ROM or kernel for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e25ac5f66275b3f9615a6c24d7ef5625f1b49ef4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:15:55 2013 +0200
z2: Don't enforce use of -pflash for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bdf921d65f83c1958e00c347816c0f754f9bc6dc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:15:01 2013 +0200
gumstix: Don't enforce use of -pflash for qtest
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit d2f7c496c32476bb5eff616f6fda293393d70740
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:12:41 2013 +0200
mainstone: Don't enforce use of -pflash for qtest
Simply skip flash setup for now.
Also drop useless debug output.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit f741a26c126448adebee7b85fc87b72176c3dfa5
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 18:43:57 2013 +0200
puv3: Turn puv3_load_kernel() into a no-op for qtest without -kernel
Replacing the assert() with more user-friendly error handling is left
for a follow-up.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 22d5523d3fbb95264055e11eb47738a7442a4ecb
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jul 29 17:01:37 2013 +0200
mips_mipssim: Silence BIOS loading warning for qtest
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6d0a37354259ec446bace1a671685ba27f1fe1d6
Merge: a126050 df39076
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Nov 5 17:46:04 2013 +0100
Merge tag 'for_anthony' of git://git.kernel.org/pub/scm/virt/kvm/mst/qemu
pci, pc, pvpanic bug fixes
This fixes strange pvpanic behaviour: you had to
pause to let VM continue (and potentially reboot on panic
if enabled).
This also fixes two bugs reported by Andreas.
One is a long-standing bug exposed by recent pci changes,
the other affects old piix machine types and was caused
by recent acpi changes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c905c5012ac0c6fde3b8094d2206a3139deddba2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Sun Nov 3 08:45:54 2013 -0800
ossaudio: do not enable by default
Modern Linux's no longer support /dev/dsp so enabling it by
default causes audio failures on newer Linux distros.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Tested-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1383497154-9271-1-git-send-email-aliguori@xxxxxxxxxx
commit 29f8f3835f63fb7c55c7bb56d26165ade793fc49
Merge: f772a83 4a46c99
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 08:39:49 2013 -0800
Merge remote-tracking branch 'spice/spice.v76' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* spice/spice.v76:
qxl: replace pipe signaling with bottom half
Message-id: 1383656322-24150-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit f772a83113a9b692b94dc48b4f282224a2c6ccf2
Merge: 0d6e9a2 df39076
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 08:29:56 2013 -0800
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, pvpanic bug fixes
This fixes strange pvpanic behaviour: you had to
pause to let VM continue (and potentially reboot on panic
if enabled).
This also fixes two bugs reported by Andreas.
One is a long-standing bug exposed by recent pci changes,
the other affects old piix machine types and was caused
by recent acpi changes.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 04 Nov 2013 05:42:46 AM PST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (2) and Paolo Bonzini (1)
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
vl: allow "cont" from panicked state
exec: limit system memory size
pc: disable acpi info for isapc and old pc machine
Message-id: 1383572851-28326-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0d6e9a23ae6a839f4fa6e3e2816367e0ffa09869
Merge: a126050 7db16f2
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Tue Nov 5 08:26:57 2013 -0800
Merge remote-tracking branch 'kraxel/e820.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/e820.1:
pc: register e820 entries for ram
pc: add etc/e820 fw_cfg file
Message-id: 1383567431-13540-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0fd53fec92c5b636ef4774fe130f6029fde9fc3c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 17 16:47:52 2013 +0200
KVM: x86: fix typo in KVM_GET_XCRS
Only the first item of the array was ever looked at. No
practical effect, but still worth fixing.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit df39076850958b842ac9e414dc3ab2895f1877bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Nov 4 14:30:47 2013 +0100
vl: allow "cont" from panicked state
After reporting the GUEST_PANICKED monitor event, QEMU stops the VM.
The reason for this is that events are edge-triggered, and can be lost if
management dies at the wrong time. Stopping a panicked VM lets management
know of a panic even if it has crashed; management can learn about the
panic when it restarts and queries running QEMU processes. The downside
is of course that the VM will be paused while management is not running,
but that is acceptable if it only happens with explicit "-device pvpanic".
Upon learning of a panic, management (if configured to do so) can pick a
variety of behaviors: leave the VM paused, reset it, destroy it. In
addition to all of these behaviors, it is possible to dump the VM core
from the host.
However, right now, the panicked state is irreversible, and can only be
exited by resetting the machine. This means that any policy decision
is entirely in the hands of the host. In particular there is no way to
use the "reboot on panic" option together with pvpanic.
This patch makes the panicked state reversible (and removes various
workarounds that were there because of the state being irreversible).
With this change, management has a wider set of possible policies: it
can just log the crash and leave policy to the guest, it can leave the
VM paused. In particular, the "log the crash and continue" is implemented
simply by sending a "cont" as soon as management learns about the panic.
Management could also implement the "irreversible paused state" itself.
And again, all such actions can be coupled with dumping the VM core.
Unfortunately we cannot change the behavior of 1.6.0. Thus, even if
it uses "-device pvpanic", management should check for "cont" failures.
If "cont" fails, management can then log that the VM remained paused
and urge the administrator to update QEMU.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 818f86b88394b7b2b59d313e51043fe15a8004db
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 4 08:06:08 2013 +0200
exec: limit system memory size
The page table logic in exec.c assumes
that memory addresses are at most TARGET_PHYS_ADDR_SPACE_BITS.
But pci addresses are full 64 bit so if we try to render them ignoring
the extra bits, we get strange effects with sections overlapping each
other.
To fix, simply limit the system memory size to
1 << TARGET_PHYS_ADDR_SPACE_BITS,
pci addresses will be rendered within that.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 98af2ac93fa6bd83e19f7cff1cc9513fa7c4d58d
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Nov 4 12:42:46 2013 +0200
pc: disable acpi info for isapc and old pc machine
Disable acpi build for isapc and no_kvmclock machine
types (used by xen), since acpi build currently expects pci.
Reported-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4a46c99c8118586f19894fe66fc6e353f159d4d9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Oct 29 13:29:43 2013 +0100
qxl: replace pipe signaling with bottom half
qxl creates a pipe, then writes something to it to wake up the iothread
from the spice server thread to raise an irq. These days qemu bottom
halves can be scheduled from threads and signals, so there is no reason
to do this any more. Time to clean it up.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7db16f2480db5e246d34d0c453cff4f58549df0e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Oct 10 10:30:27 2013 +0200
pc: register e820 entries for ram
So RAM shows up in the new etc/e820 fw_cfg file.
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7d67110f2d9a6a2d6b5215a948abc95d07258735
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Oct 18 11:31:54 2013 +0200
pc: add etc/e820 fw_cfg file
Unlike the existing FW_CFG_E820_TABLE entry which carries reservations
only the new etc/e820 file also has entries for RAM.
Format is simliar to the FW_CFG_E820_TABLE, it is a simple list of
e820_entry structs. Unlike FW_CFG_E820_TABLE it has no count though
as the number of entries can be figured from the file size.
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a126050a103c924b03388a9a64ce9af8c96b0969
Merge: ef5cfe5 f4c129a
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:02:26 2013 +0100
Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging
Block patches for 1.7.0-rc0 (v2)
# gpg: Signature made Thu 31 Oct 2013 04:44:39 PM CET using RSA key ID
C88F2FD6
# gpg: Can't check signature: public key not found
* kwolf/tags/for-anthony: (30 commits)
vmdk: Implment bdrv_get_specific_info
qapi: Add optional field 'compressed' to ImageInfo
qemu-iotests: prefill some data to test image
sheepdog: check simultaneous create in resend_aioreq
sheepdog: cancel aio requests if possible
sheepdog: make add_aio_request and send_aioreq void functions
sheepdog: try to reconnect to sheepdog after network error
coroutine: add co_aio_sleep_ns() to allow sleep in block drivers
sheepdog: reload inode outside of resend_aioreq
sheepdog: handle vdi objects in resend_aio_req
sheepdog: check return values of qemu_co_recv/send correctly
qemu-iotests: Test case for backing file deletion
qemu-iotests: drop duplicated "create_image"
qemu-iotests: Fix 051 reference output
block: Avoid unecessary drv->bdrv_getlength() calls
block: Disable BDRV_O_COPY_ON_READ for the backing file
ahci: fix win7 hang on boot
sheepdog: pass copy_policy in the request
sheepdog: explicitly set copies as type uint8_t
block: Don't copy backing file name on error
...
Message-id: 1383064269-27720-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit ef5cfe5bbd8bb05a51afaf7ab313769eb9ef44b6
Merge: 1ba1905 203cea2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:01:43 2013 +0100
Merge remote-tracking branch 'mjt/trivial-patches' into staging
* mjt/trivial-patches:
audio/mixeng_template.h: fix inline declaration
misc: Spelling and grammar fixes in comments
docs/ccid.txt: fix the typo
qapi: fix documentation example
.gitignore: ignore qmp-commands.txt
misc: New spelling fixes in comments
configure: create fsdev/ directory
Message-id: 1382779887-15971-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 1ba1905abd72f34836b153f3348d618da6148f87
Merge: e2cb290 3bbf37f
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:01:12 2013 +0100
Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging
* agraf/ppc-for-upstream: (29 commits)
spapr: Use DeviceClass::fw_name for device tree CPU node
target-ppc: Fill in OpenFirmware names for some PowerPCCPU families
target-ppc: dump-guest-memory support
dump-guest-memory: Check for the correct return value
target-ppc: Use #define for max slb entries
target-ppc: Check for error on address translation in memsave command
target-ppc: Update slb array with correct index values.
spapr-pci: enable irqfd for INTx
xics-kvm: enable irqfd for MSI
xics: Implement H_XIRR_X
xics: Implement H_IPOLL
xics-kvm: Support for in-kernel XICS interrupt controller
xics: add cpu_setup callback
xics: split to xics and xics-common
xics: add missing const specifiers to TypeInfo
xics: convert init() to realize()
xics: add pre_save/post_load dispatchers
xics: replace fprintf with error_report
spapr: move cpu_setup after kvmppc_set_papr
xics: move reset and cpu_setup
...
Message-id: 1382736474-32128-1-git-send-email-agraf@xxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e2cb2902bacb0efaa4adf680719aa77758dd33cd
Merge: cb95ec1 b4350de
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:00:55 2013 +0100
Merge remote-tracking branch 'kraxel/audio.2' into staging
* kraxel/audio.2:
audio: honor QEMU_AUDIO_TIMER_PERIOD instead of waking up every *nano*
second
Message-id: 1382622110-19460-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit cb95ec1b83ae3972a976e5331f9e772cde1ebd1c
Merge: 3fa4270 c90daa1
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:00:25 2013 +0100
Merge remote-tracking branch 'kraxel/usb.91' into staging
* kraxel/usb.91:
usb-hcd-xhci: Update endpoint context dequeue pointer for streams too
usb-hcd-xhci: Report completion of active transfer with CC_STOPPED on
ep stop
usb-hcd-xhci: Remove unused cancelled member from XHCITransfer
usb-hcd-xhci: Remove unused sstreamsm member from XHCIStreamContext
usb-host-libusb: Detach kernel drivers earlier
usb-host-libusb: Configuration 0 may be a valid configuration
usb-host-libusb: Fix reset handling
Message-id: 1382620267-18065-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 3fa4270a651503ac1a6aec5154ef17171ddae4e9
Merge: a9c78bb c20b7fa
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 17:00:07 2013 +0100
Merge remote-tracking branch 'luiz/queue/qmp' into staging
* luiz/queue/qmp:
monitor: eliminate monitor_event_state_lock
Message-id: 1382121003-5211-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit a9c78bb82efd825256c496e69aa884b1da7edea3
Merge: b0eb759 0624c7f
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 16:58:58 2013 +0100
Merge remote-tracking branch 'kraxel/e820.1' into staging
* kraxel/e820.1:
e820: pass high memory too.
Message-id: 1382008179-5968-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit b0eb759fb244c023bc4cee60cb4336eadda3da1a
Merge: b861605 742f5d2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Oct 31 16:58:32 2013 +0100
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, acpi fixes, enhancements
This includes some pretty big changes:
- pci master abort support by Marcel
- pci IRQ API rework by Marcel
- acpi generation support by myself
Everything has gone through several revisions, latest versions have been
on
list for a while without any more comments, tested by several
people.
Please pull for 1.7.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Tue 15 Oct 2013 07:33:48 AM CEST using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
* mst/tags/for_anthony: (39 commits)
ssdt-proc: update generated file
ssdt: fix PBLK length
i386: ACPI table generation code from seabios
pc: use new api to add builtin tables
acpi: add interface to access user-installed tables
hpet: add API to find it
pvpanic: add API to access io port
ich9: APIs for pc guest info
piix: APIs for pc guest info
acpi/piix: add macros for acpi property names
i386: define pc guest info
loader: allow adding ROMs in done callbacks
i386: add bios linker/loader
loader: use file path size from fw_cfg.h
acpi: ssdt pcihp: updat generated file
acpi: pre-compiled ASL files
acpi: add rules to compile ASL source
i386: add ACPI table files from seabios
q35: expose mmcfg size as a property
q35: use macro for MCFG property name
...
Message-id: 1381818560-18367-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit f4c129a38a5430b7342a7a23f53a22831154612f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Oct 31 10:06:23 2013 +0800
vmdk: Implment bdrv_get_specific_info
Implement .bdrv_get_specific_info to return the extent information.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b86160555f8d1fe11d6bcec393e08e645d7e1e8d
Author: Alex Bennée <alex@xxxxxxxxxx>
Date: Tue Oct 22 15:16:06 2013 +0100
integrator: fix Linux boot failure by emulating dbg region
Commit 9b8c69243 (since reverted) broke the ability to boot the kernel
as the value returned by unassigned_mem_read returned non-zero and left
the kernel looping forever waiting for it to change (see
integrator_led_set in the kernel code).
Relying on a varying implementation detail is incorrect anyway so this
introduces a basic stub of a memory region for the debug/LED section
on the integrator board.
Signed-off-by: Alex Bennée <alex@xxxxxxxxxx>
Message-id: 1382451366-9539-1-git-send-email-alex.bennee@xxxxxxxxxx
[PMM: removed three unused fields from struct IntegratorDebugState]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 0bc2a331e476c6c834278b8dcc17408a3f0d8f6a
Author: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Oct 11 19:38:45 2013 +0200
target-arm: fix sorting issue of KVM cpreg list
The compare_u64 function was not sorting the KVM cpreg_list in the
right way due to the wrong returned value. Since we are comparing
two 64bit values we can't simply return their difference if the
returned type is int.
Signed-off-by: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Message-id:
1381513125-26802-2-git-send-email-a.rigo@xxxxxxxxxxxxxxxxxxxxxx
[PMM: fixed coding style, indent and commit message formatting]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit cbf239b76934c8c2d1e147372ef9478ecc39fdfb
Author: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri Oct 11 19:38:44 2013 +0200
target-arm: sort TCG cpreg list by KVM-style 64 bit ID number
Both KVM and TCG populate the cpreg_list with 64 bit register IDs,
but in the TCG side the cpreg_list is sorted using the 32 bit ID
version while in the kvm side the 64 bit ID version is used. This
patch makes the sorting of the cpreg_list consistent between KVM and
TCG.
Signed-off-by: Alvise Rigo <a.rigo@xxxxxxxxxxxxxxxxxxxxxx>
Message-id:
1381513125-26802-1-git-send-email-a.rigo@xxxxxxxxxxxxxxxxxxxxxx
[PMM: fixed indent, coding style and commit message formatting]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 8641136c54d216edb5bb8ef723c754039b4c5cf3
Author: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Date: Fri Oct 25 15:44:38 2013 +0100
target-arm: Add CP15 VBAR support
Added Vector Base Address remapping on ARM v7.
Signed-off-by: Nathan Rossi <nathan.rossi@xxxxxxxxxx>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xxxxxxxxxx>
[PMM: removed spurious mask of value with 1<<31]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit dacecf5485bf02b2dfe49e9d9c852668884a71be
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Oct 25 15:44:38 2013 +0100
hw/arm: Tidy up conditional calls to arm_load_kernel
Now that arm_load_kernel doesn't insist on a kernel filename
being present, we can remove some unnecessary conditionals
in board models.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1379980897-21277-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 9546dbabd5f6ff199ffd7741dfd57b8bff723bd1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Oct 25 15:44:38 2013 +0100
hw/arm/boot: Make user not specifying a kernel not an error
Typically ARM boards will have some kind of flash which might contain
a boot ROM; it's therefore a valid use case to provide only an
image for the boot ROM and not require QEMU's internal boot loader
at all. Remove the fatal error if -kernel isn't specified.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1379980897-21277-2-git-send-email-peter.maydell@xxxxxxxxxx
commit cbe82d7fb32e5d8e76434671d50853df5f50d560
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 18 11:12:44 2013 +0800
qapi: Add optional field 'compressed' to ImageInfo
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7890111b642e8e03430c3bf8bd6cedee26cec4fe
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Oct 30 17:42:28 2013 +0800
qemu-iotests: prefill some data to test image
Case 030 occasionally fails because of block job compltes too fast to be
captured by script, and 'unexpected qmp event' of job completion causes
the test failure.
Simply fill in some data to the test image to make this false alarm less
likely to happen.
(For other benefits to prefill data to test image, see also commit
ab68cdfaa).
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 80308d33ec70834a80351a79eba106049b44a366
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:18 2013 +0900
sheepdog: check simultaneous create in resend_aioreq
After reconnection happens, all the inflight requests are moved to the
failed request list. As a result, sd_co_rw_vector() can send another
create request before resend_aioreq() resends a create request from
the failed list.
This patch adds a helper function check_simultaneous_create() and
checks simultaneous create requests more strictly in resend_aioreq().
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 35200687a1e04a79b0345be476185dc23d1604fb
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:17 2013 +0900
sheepdog: cancel aio requests if possible
This patch tries to cancel aio requests in pending queue and failed
queue. When the sheepdog driver cannot cancel the requests, it waits
for them to be completed.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a37dcdf9aea8e19fcec6b1c5aa2c27c325fc4644
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:16 2013 +0900
sheepdog: make add_aio_request and send_aioreq void functions
These functions no longer return errors. We can make them void
functions and simplify the codes.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 011603cacf1cae9212453efd82ec908cd42ce466
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:15 2013 +0900
sheepdog: try to reconnect to sheepdog after network error
This introduces a failed request queue and links all the inflight
requests to the list after network error happens. After QEMU
reconnects to the sheepdog server successfully, the sheepdog block
driver will retry all the requests in the failed queue.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3ab7bd1917d210eac5d2a80593899ec70c4e998c
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:14 2013 +0900
coroutine: add co_aio_sleep_ns() to allow sleep in block drivers
This helper function behaves similarly to co_sleep_ns(), but the
sleeping coroutine will be resumed when using qemu_aio_wait().
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 72e0996c41d879473bb2aa85c8eeec129ae8ec9b
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:13 2013 +0900
sheepdog: reload inode outside of resend_aioreq
This prepares for using resend_aioreq() after reconnecting to the
sheepdog server.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2412aec745066495f0c91dfcde9258382d7850e9
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:12 2013 +0900
sheepdog: handle vdi objects in resend_aio_req
The current resend_aio_req() doesn't work when the request is against
vdi objects. This fixes the problem.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 80731d9da560461bbdcda5ad4b05f4a8a846fccd
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Thu Oct 24 16:01:11 2013 +0900
sheepdog: check return values of qemu_co_recv/send correctly
If qemu_co_recv/send doesn't return the specified length, it means
that an error happened.
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Tested-by: Liu Yuan <namei.unix@xxxxxxxxx>
Reviewed-by: Liu Yuan <namei.unix@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 321fd7d2b88defe11528e4d5a9f686c89ebee1ee
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Oct 29 19:18:54 2013 +0100
qemu-iotests: Test case for backing file deletion
Add a test case for trying to open an image file where it is impossible
to open its backing file (in this case, because it was deleted). When
doing this, qemu (or qemu-io in this case) should not crash but rather
print an appropriate error message.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 915365a9c622be52c87fcc1cc9d63fbc5cd75b6d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Oct 30 17:23:54 2013 +0800
qemu-iotests: drop duplicated "create_image"
There's a same common function in iotests.py
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a7cf03d4e150abec88f5837461242dc8a0eee189
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Oct 29 17:05:35 2013 +0100
qemu-iotests: Fix 051 reference output
Commit 684b254 forgot to update it.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b94a2610573cd9314f244207c8b04cb75e42d7f8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Oct 29 12:18:58 2013 +0100
block: Avoid unecessary drv->bdrv_getlength() calls
The block layer generally keeps the size of an image cached in
bs->total_sectors so that it doesn't have to perform expensive
operations to get the size whenever it needs it.
This doesn't work however when using a backend that can change its size
without qemu being aware of it, i.e. passthrough of removable media like
CD-ROMs or floppy disks. For this reason, the caching is disabled when a
removable device is used.
It is obvious that checking whether the _guest_ device has removable
media isn't the right thing to do when we want to know whether the size
of the host backend can change. To make things worse, non-top-level
BlockDriverStates never have any device attached, which makes qemu
assume they are removable, so drv->bdrv_getlength() is always called on
the protocol layer. In the case of raw-posix, this causes unnecessary
lseek() system calls, which turned out to be rather expensive.
This patch completely changes the logic and disables bs->total_sectors
caching only for certain block driver types, for which a size change is
expected: host_cdrom and host_floppy on POSIX, host_device on win32; also
the raw format in case it sits on top of one of these protocols, but in
the common case the nested bdrv_getlength() call on the protocol driver
will use the cache again and avoid an expensive drv->bdrv_getlength()
call.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 87a5debd3161d24a7d4c685e3c0d8765b5d92a74
Author: Thibaut LAURENT <thibaut.laurent@xxxxxxxxx>
Date: Fri Oct 25 02:15:07 2013 +0200
block: Disable BDRV_O_COPY_ON_READ for the backing file
Since commit 0ebd24e0a203cf2852c310b59fbe050190dc6c8c,
bdrv_open_common will throw an error when trying to open a file
read-only with the BDRV_O_COPY_ON_READ flag set.
Although BDRV_O_RDWR is unset for the backing files,
BDRV_O_COPY_ON_READ is still passed on if copy-on-read was requested
for the drive. Let's unset this flag too before opening the backing
file, or bdrv_open_common will fail.
Signed-off-by: Thibaut LAURENT <thibaut.laurent@xxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8464b273d69c61e33c55347e5b6bc0659687bae2
Author: Alexander Graf <agraf@xxxxxxx>
Date: Mon Oct 28 21:01:51 2013 +0200
ahci: fix win7 hang on boot
When AHCI executes an asynchronous IDE command, it checked DRDY without
checking either DRQ or BSY. This sometimes caused interrupt to be sent
before command is actually completed.
This resulted in a race condition: if guest then managed to access the
device before command has completed, it would hang waiting for an
interrupt.
This was observed with windows 7 guests.
To fix, check for DRQ or BSY in additiona to DRDY, if set,
the command is asynchronous so delay the interrupt until
asynchronous done callback is invoked.
Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Tested-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1841f8801c8898fa57c66e27a08541ffcc6f3948
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Oct 23 16:51:52 2013 +0800
sheepdog: pass copy_policy in the request
Currently copy_policy isn't used. Recent sheepdog supports erasure
coding, which
make use of copy_policy internally, but require client explicitly passing
copy_policy from base inode to newly creately inode for snapshot related
operations.
If connected sheep daemon doesn't utilize copy_policy, passing it to sheep
daemon is just one extra null effect operation. So no compatibility
problem.
With this patch, sheepdog can provide erasure coded volume for QEMU VM.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Acked-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 29a67f7e9204a25bc4b6221f287ad0ae38d8cbdc
Author: Liu Yuan <namei.unix@xxxxxxxxx>
Date: Wed Oct 23 16:51:51 2013 +0800
sheepdog: explicitly set copies as type uint8_t
'copies' is actually uint8_t since day one, but request headers and some
helper
functions parameterize it as uint32_t for unknown reasons and effectively
reserve 24 bytes for possible future use. This patch explicitly set the
correct
for copies and reserve the left bytes.
This is a preparation patch that allow passing copy_policy in request
header.
Cc: Kevin Wolf <kwolf@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Liu Yuan <namei.unix@xxxxxxxxx>
Acked-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 61ed2684539f7f31304e193d7c0e68d57ce6be88
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sat Oct 26 15:44:43 2013 +0200
block: Don't copy backing file name on error
bdrv_open_backing_file() tries to copy the backing file name using
pstrcpy directly after calling bdrv_open() to open the backing file
without checking whether that was actually successful. If it was not,
ps->backing_hd->file will probably be NULL and qemu will crash.
Fix this by moving pstrcpy after checking whether bdrv_open() succeeded.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Amos Kong <kongjianjun@xxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d1f3a23bfac4fe38056ab5e07186939b7be8852b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jun 27 13:50:05 2013 +0200
tests: Multiboot mmap test case
This adds a test case for Multiboot memory map in the tests/multiboot
directory, where future i386 test kernels can be dropped. Because this
requires an x86 build host and an installed 32 bit libgcc, the test is
not part of a regular 'make check'.
The reference output for the test is verified against test runs of the
same multiboot kernel booted by some GRUB 0.97.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d7b7e580096255c766f7b1e7502a9151b95091e8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 22 14:26:25 2013 +0200
ide-test: Check what happens with bus mastering disabled
The main goal is that qemu doesn't crash.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e85d9db5f6f86299688a0acd2796ac1ccc96610c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Jul 22 14:30:23 2013 +0200
exec: Fix bounce buffer allocation in address_space_map()
This fixes a regression introduced by commit e3127ae0c, which kept the
allocation size of the bounce buffer limited to one page in order to
avoid unbounded allocations (as explained in the commit message of
6d16c2f88), but broke the reporting of the shortened bounce buffer to
the caller. The caller therefore assumes that the full requested size
was provided and causes memory corruption when writing beyond the end of
the actually allocated buffer.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ba2ab2f2ca4150a7e314fbb19fa158bd8ddc36eb
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 24 20:35:06 2013 +0200
qcow2: Flush image after creation
Opening the qcow2 image with BDRV_O_NO_FLUSH prevents any flushes during
the image creation. This means that the image has not yet been flushed
to disk when qemu-img create exits. This flush is delayed until the next
operation on the image involving opening it without BDRV_O_NO_FLUSH and
closing (or directly flushing) it. For large images and/or images with a
small cluster size and preallocated metadata, this flush may take a
significant amount of time and may occur unexpectedly.
Reopening the image without BDRV_O_NO_FLUSH right before the end of
qcow2_create2() results in hoisting the potentially costly flush into
the image creation, which is expected to take some time (whereas
successive image operations may be not).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 203cea22a3d33ac86d170af74f8c655f119c8c62
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Tue Oct 22 10:26:28 2013 +0100
audio/mixeng_template.h: fix inline declaration
Fix error: â??inlineâ?? is not at beginning of declaration
[-Werror=old-style-declaration]
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 59b00962136f5621895bee7c96b2a1d9271b9dc5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Oct 11 21:34:33 2013 +0200
misc: Spelling and grammar fixes in comments
* it's -> its
* grammar fix in ui/vnc-enc-zywrle.h
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Don Koch <dkoch@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5f32804c79ba9554e62c9699db83ee34df8a46c1
Author: WengFan <wengfan-fnst@xxxxxxxxxxxxxx>
Date: Fri Oct 25 11:18:22 2013 -0400
docs/ccid.txt: fix the typo
Signed-off-by: WengFan <wengfan-fnst@xxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 63922c647730eba01865e05bf1e80dd7d682e287
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Sat Oct 19 17:52:33 2013 +0100
qapi: fix documentation example
The QMP wire format uses "", not '', around strings.
* docs/qapi-code-gen.txt: Fix typo.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit eb02dc0b118c87a366002e3a725ab3373e1738db
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 15 10:58:39 2013 +0800
.gitignore: ignore qmp-commands.txt
This file is moved out from QMP/ to BUILD dir, change the ignore file
too.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 73f395fa88d87ae14f38ad0aa7f863148d98eef2
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Oct 10 20:53:40 2013 +0200
misc: New spelling fixes in comments
compatiblity -> compatibility
continously -> continuously
existance -> existence
usefull -> useful
shoudl -> should
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2b170effc7a0bb27f019727e5be02cd989e54e7d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Mon Oct 21 12:33:58 2013 +0400
configure: create fsdev/ directory
In some cases when building with parallelism (make -jN),
build fails because the directory where output files are
supposed to be does not exist. In particular, when make
decides to build virtfs-proxy-helper.1 before other files
in fsdev/, build will fail with the following error:
perl -Ww -- BUILDDIR/scripts/texi2pod.pl
BUILDDIR/fsdev/virtfs-proxy-helper.texi fsdev/virtfs-proxy-helper.pod &&
pod2man --utf8 --section=1 --center=" " --release=" "
fsdev/virtfs-proxy-helper.pod > fsdev/virtfs-proxy-helper.1
opening "fsdev/virtfs-proxy-helper.pod": No such file or directory
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3bbf37f2692652cc9d48030a9e7f34e2207429f6
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Oct 15 18:33:37 2013 +0200
spapr: Use DeviceClass::fw_name for device tree CPU node
Instead of relying on cpu_model, obtain the device tree node label
per CPU. Use DeviceClass::fw_name as source.
Whenever DeviceClass::fw_name is unknown, default to "PowerPC,UNKNOWN".
As a consequence, spapr_fixup_cpu_dt() can operate on each CPU's fw_name,
obsoleting sPAPREnvironment::cpu_model, and spapr_create_fdt_skel() can
drop its cpu_model argument.
Signed-off-by: Prerna Saxena <prerna@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 793826cd460828975591f289de78672af4a47ef9
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Oct 15 18:33:36 2013 +0200
target-ppc: Fill in OpenFirmware names for some PowerPCCPU families
Set the expected values for POWER7, POWER7+, POWER8 and POWER5+.
Note that POWER5+ and POWER7+ are intentionally lacking the '+', so the
lack of a POWER7P family constitutes no problem.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit e62fbc54d459d4cc8e91dc0938383a7f4c13768c
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:33 2013 +0530
target-ppc: dump-guest-memory support
This patch add support for dumping guest memory using dump-guest-memory
monitor command.
Before patch:
(qemu) dump-guest-memory testcrash
this feature or command is not currently supported
(qemu)
After patch:
(qemu) dump-guest-memory testcrash
(qemu)
crash was able to read the file
crash> bt
PID: 0 TASK: c000000000c0d0d0 CPU: 0 COMMAND: "swapper/0"
R0: 0000000028000084 R1: c000000000cafa50 R2: c000000000cb05b0
R3: 0000000000000000 R4: c000000000bc4cb0 R5: 0000000000000000
R6: 001efe93b8000000 R7: 0000000000000000 R8: 0000000000000000
R9: b000000000001032 R10: 0000000000000001 R11: 0001eb2117e00d55
....
...
NOTE: Currently crash tools doesn't look at ELF notes in the dump on
ppc64.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb6b684363e83586c90d20127b0d0a79793ab1e2
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:32 2013 +0530
dump-guest-memory: Check for the correct return value
We should check for error with s->note_size
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d83af16786ca672bea9a206490f801bec7a057eb
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:31 2013 +0530
target-ppc: Use #define for max slb entries
Instead of opencoding 64 use MAX_SLB_ENTRIES. We don't update the kernel
header here.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 2f4d0f5990ede025720e41fa473029e9ca85e8b8
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:30 2013 +0530
target-ppc: Check for error on address translation in memsave command
When we translate the virtual address to physical check for error.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4b4d4a21b988f6d56e0792058aa0b968e19fda6b
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Oct 1 21:49:28 2013 +0530
target-ppc: Update slb array with correct index values.
Without this, a value of rb=0 and rs=0 results in replacing the 0th
index. This can be observed when using gdb remote debugging support.
(gdb) x/10i do_fork
0xc000000000085330 <do_fork>: Cannot access memory at address
0xc000000000085330
(gdb)
This is because when we do the slb sync via kvm_cpu_synchronize_state,
we overwrite the slb entry (0th entry) for 0xc000000000085330
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5cc7a967e9de8c7b16c15aee4cb9f5bfcf0c5989
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:48 2013 +1000
spapr-pci: enable irqfd for INTx
This enables IRQFD for LSI (level triggered INTx interrupts) by adding
a spapr_route_intx_pin_to_irq() callback to the sPAPR PCI host bus. This
callback is called to know the global interrupt number to link resampling
fd
with IRQFD's fd in KVM.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9554233c9b8fe7d94dfa53db09ce3d186f2e8b9e
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:47 2013 +1000
xics-kvm: enable irqfd for MSI
This enables IRQFD support for sPAPR. The feature decreases the latency
of interrupt handling.
To enable IRQFD for MSI, this sets kvm_gsi_direct_mapping to true which
enables direct MSI mapping.
To enable IRQFD for LSI (level triggered INTx interrupts), a PCI host bus
callback is required. The patch for that is coming next.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5d87e4b74a0100fbb7970edaa3449eb04b06f782
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:46 2013 +1000
xics: Implement H_XIRR_X
This implements H_XIRR_X hypercall in addition to H_XIRR as
it is mandatory for PAPR+ and there is no way for the guest to
detect whether it is supported or not so just add it.
As the Partition Adjunct Option is not supported at the moment,
the CPPR parameter of the hypercall is ignored.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 075edbe3bad4c22995ab472c507565b48c4e0985
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:45 2013 +1000
xics: Implement H_IPOLL
This adds support for the H_IPOLL hypercall which the guest
uses to poll for a pending interrupt. This hypercall is
mandatory for PAPR+ and there is no way for the guest to
detect whether it is supported or not so just add it.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 11ad93f68195f68cc94d988f2aa50b4d190ee52a
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:44 2013 +1000
xics-kvm: Support for in-kernel XICS interrupt controller
Recent (host) kernels support emulating the PAPR defined "XICS" interrupt
controller system within KVM. This patch allows qemu to initialize and
configure the in-kernel XICS, and keep its state in sync with qemu's XICS
state as necessary.
This should give considerable performance improvements. e.g. on a simple
IPI ping-pong test between hardware threads, using qemu XICS gives us
around 5,000 irqs/second, whereas the in-kernel XICS gives us around
70,000 irqs/s on the same hardware configuration.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>: fixed mistype which caused
ics_set_kvm_state() to fail]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5eb92ccc3f23f958c0d21bed7c22abe6c1f1adda
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:43 2013 +1000
xics: add cpu_setup callback
This adds a cpu_setup callback to the XICS device class (as XICS-KVM
will do it different), xics_cpu_setup() will call it if it is set.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5a3d7b23ba41b4884b43b6bc936ea18f999d5c6b
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:42 2013 +1000
xics: split to xics and xics-common
The upcoming XICS-KVM support will use bits of emulated XICS code.
So this introduces new level of hierarchy - "xics-common" class. Both
emulated XICS and XICS-KVM will inherit from it and override class
callbacks when required.
The new "xics-common" class implements:
1. replaces static "nr_irqs" and "nr_servers" properties with
the dynamic ones and adds callbacks to be executed when properties
are set.
2. xics_cpu_setup() callback renamed to xics_common_cpu_setup() as
it is a common part for both XICS'es
3. xics_reset() renamed to xics_common_reset() for the same reason.
The emulated XICS changes:
1. the part of xics_realize() which creates ICPs is moved to
the "nr_servers" property callback as realize() is too late to
create/initialize devices and instance_init() is too early to create
devices as the number of child devices comes via the "nr_servers"
property.
2. added ics_initfn() which does a little part of what xics_realize() did.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 456df19cf7fd7f6d9ce986a3fb8f7603df5c3b22
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:41 2013 +1000
xics: add missing const specifiers to TypeInfo
This adds missing const specifiers to ICS and ICP TypeInfo's.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit b45ff2d942022d7ee139a153f17f638d87935e03
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:40 2013 +1000
xics: convert init() to realize()
This fixes XICS according new QOM rules.
This converts ICS's init() callbacks to realize().
This converts legacy qdev_init_nofail() to property_set(realized).
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit d1b5682d88f72f8662ce6d20e07af3adfbf39ed0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:39 2013 +1000
xics: add pre_save/post_load dispatchers
The upcoming support of in-kernel XICS will redefine migration callbacks
for both ICS and ICP so classes and callback pointers are added.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9ccff2a4d604d31f01398190758072253dc3c188
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:38 2013 +1000
xics: replace fprintf with error_report
This replaces old-style fprintf with new style error_report.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 24408a7d2b459bed3697367b81ada76518ca96ef
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:37 2013 +1000
spapr: move cpu_setup after kvmppc_set_papr
This moves the xics_cpu_setup() call after kvmppc_set_papr()
in order to get VCPUs initialized as this is required by upcoming
XICS-KVM.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 8ffe04ed2ed44b32f97575bc3cb7c29eefdd70da
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Sep 26 16:18:36 2013 +1000
xics: move reset and cpu_setup
This simple change makes following patches nicer.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit feaa64c41f56b1b3111c31f652999799b28b9e12
Author: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 16:18:35 2013 +1000
target-ppc: Add helper for KVM_PPC_RTAS_DEFINE_TOKEN
Recent PowerKVM allows the kernel to intercept some RTAS calls from the
guest directly. This is used to implement the more efficient in-kernel
XICS for example. qemu is still responsible for assigning the RTAS token
numbers however, and needs to tell the kernel which RTAS function name is
assigned to a given token value. This patch adds a convenience wrapper
for
the KVM_PPC_RTAS_DEFINE_TOKEN ioctl() which is used for this purpose.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 4fe822e075d6befa3714f7066158678e92cedb8b
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Sep 27 18:10:18 2013 +1000
spapr-rtas: fix h_rtas parameters reading
On the real hardware, RTAS is called in real mode and therefore
top 4 bits of the address passed in the call are ignored.
So does the patch.
This converts h_rtas() to use existing rtas_ld() handlers.
This fixed rtas_ld()/rtas_st() to ignore top 4 bits.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit dcb861cb883e9e6d236514a4d0b4def4db736d13
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Sep 27 18:11:51 2013 +1000
spapr: Add ibm, purr property on power7 and newer
PAPR+ says that no "ibm,purr" tells the guest that H_PURR is not
supported. However some guests still try calling H_PURR on POWER7 unless
the property is present and equal to 0. This adds the property for CPUs
supporting the PURR special register.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 3bf6eedd4b6ee5cb7be53aa962583a24293d3441
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Sep 24 15:59:55 2013 +1000
spapr: increase temporary fdt buffer size
At the moment the size of the buffer is set to 64K which is
enough for approximately 150 VCPUs which is not the limit.
This increases the buffer up to 256K which allows having
a tree for approximately 600 VCPUs which is way beyond the real
number we need.
As only the real size of the tree is copied to the guest, there
will be no impact on existing configurations.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 9633fcc6a02f23e3ef00aa5fe3fe9c41f57c3456
Author: Alexander Graf <agraf@xxxxxxx>
Date: Wed Sep 25 15:41:12 2013 +0200
PPC: Fix L2CR write accesses
Commit 2345f1c01 was supposed to render L2CR writes into noops. Instead,
it made them illegal instruction traps which apparently didn't confuse
XNU, but can easily confuse other OSs.
Fix it up by actually doing nothing when we write to L2CR.
Reported-by: Julio Guerra <guerr@xxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Tested-by: Julio Guerra <guerr@xxxxxxxx>
commit bbfb6f132abc032229f5c1f25e6e959861c6f759
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Sep 25 17:42:46 2013 +1000
target-ppc: Little Endian Correction to Load/Store Vector Element
The Load Vector Element (lve*x) and Store Vector Element (stve*x)
instructions not only byte-swap in Little Endian mode, they also
invert the element that is accessed. For example, the RTL for
lvehx contains this:
eb <-- EA[60:63]
if Big-Endian byte ordering then
VRT[8*eb:8*eb+15] <-- MEM(EA,2)
else
VRT[112-(8*eb):127-(8*eb)] <-- MEM(EA,2)
This patch adds the element inversion, as described in the last line
of the RTL.
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 04f1f7842e18c4b5e50203cc5b207cafb7c62974
Author: Tom Musta <tommusta@xxxxxxxxx>
Date: Wed Sep 25 17:41:13 2013 +1000
ppc: Add CFAR, DAR and DSISR to the dictionary of printable registers
The CFAR, DAR and DSISR registers are currently missing from the
dictionary of registers that may be printed in the QEMU console.
These are interesting registers when debugging. With this patch,
the following commands work properly:
(qemu) print $cfar
(qemu) print $dar
(qemu) print $dsisr
Signed-off-by: Tom Musta <tommusta@xxxxxxxxx>
Reviewed-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 16457e7f4a10125db06b84e5e843d9544552436e
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Wed Sep 25 17:40:15 2013 +1000
pseries: Fix loading of little endian kernels
Try loading the kernel as little endian if it fails big endian.
Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anton Blanchard <anton@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 09b04845a7b7ffba2fa0cd99a2329f6e8ffa9027
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Aug 27 13:42:47 2013 +1000
pseries: Update SLOF firmware image
This has reworked USB OHCI and adds support of USB EHCI,
VIRTIO-SCSI and various fixes (IBM VSCSI, VGA and more).
The full list of fixes is:
* usb-ohci: Convert td-phys every time to td-virt
* usb-storage: Fix cbwflags field
* Add -fno-strict-aliasing in global CFLAGS
* usb: fix various issues found with js2x
* Move hex64-{decode,encode}-unit to node.fs
* usb: Use separate in-memory endian swap
* usb-ohci: collect TDs from done list
* js2x: more fixes
* js2x: Fix build of takeover image
* js2x: use new usb stack
* usb-ohci: Use proper memory barriers always
* usb: Fix a couple of warnings
* Fix $cat-instance-unit
* Cache phandle of /chosen
* Use root.fs on qemu as well
* usb-ehci: Add ehci handshake
* usb: add mb for write accessors
* usb-ohci: add missing memory barriers
* usb-ohci: suspend the controller in exit code path
* usb-ohci: Add a reset when closing the OHCI
* usb: Use proper accessors for MMIO and separate in-memory endian swap
* Use a global definition of sync() and mb()
* net-snk: Remove exception handling
* usb: unmap buffers
* slof: call quiesce on closing of stdin
* usb-kbd: accept "s" to drop to OF prompt
* USB storage driver
* usb-ohci: add Bulk transfer support
* usb-ehci: Add bulk support
* usb-core: add usb bulk support
* USB generic hub device driver
* usb-ehci: setup new device
* usb-ehci: Check ehci ports
* usb-ehci: initialize controller
* USB keyboard driver
* usb-core: setup new device
* usb-core: create dev pool allocation
* usb-ohci: implement ohci send control
* usb-core: usb send control
* usb-core: implement usb_{get,put}_pipe routines
* usb-ohci: allocate pipe pool
* usb-ohci: reset, init and check-ports
* Add standard header stdbool.h
* usb-slof: forth support routines for C
* usb-ehci: Add USB EHCI skeleton
* usb-core: Add register accessor functions
* Use __builtin_bswap routines for endianness swapping
* usb-core: hcd registration and query routines
* usb-core: adding generic dev-hci.fs
* usb-core: registration and makefiles
* Add new USB code
* Remove old usb code
* vga: fix hcall-invert-screen and hcall-blink-screen
* Enumerate disk/cdrom aliases for multiple disks or cdroms
* scsi: unify scsi probing code
* vscsi: generalizing probe code
* virtio-scsi: iterate through targets
* scsi: unify and use make-disk-alias
* nvram: remove unnecessary prints
* Add hack to client interface finddevice of "/memory"
* scsi: Fix cdrom boot crash when no medium present
* Look for /memory@0, not just /memory
* Fix instance>qname crashing when displaying instance arguments
* Fix js2x build
* scsi-disk: Bound check read-blocks
* Fix off by one error in scsi-disk get-capacity
* scsi: fix report-luns handling
* SLOF: virtio-scsi block driver code
* scsi: Move bits of vio-vscsi.fs to a common helpers file
* scsi: Move scsi-disk.fs to a generic place
* SLOF: virtio-scsi helper routines
* SLOF: virtio-scsi - add pci device file
* iso9660: Don't constantly reallocate the read buffer
* vscsi: Sanitize interface between scsi-disk.fs and vio-vscsi.fs
* vio-vscsi: Rework vio-vscsi support
* virtio: Add a virtio-set-qaddr helper
* disk-label: Allocate 4096 bytes for 4k block devices
* disk-label: Increase the max size of the PReP boot partition
* Make load-base a real environment variable
* vio-vscsi: Switch to using a wildcard "disk" node and make scsi-disk
generic
* Fix disk-label package to use proper instance path
* Increase size of catpad
* Fix instance>path to contain unit address for wildcard nodes
* Fix handling of wildcard nodes in open-dev
* vio-vscsi: Get CRQ on open and release on close
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit ab6f2bbb2871db8a7ed2457328e864cdf2e2fc82
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 24 20:24:43 2013 +0200
qemu-iotests: Test for loading VM state from qcow2
Add a test for saving a VM state from a qcow2 image and loading it back
(with having restarted qemu in between); this should work without any
problems.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ec426ff808cd421036f81ab34c0d5884743982aa
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Sun May 5 11:06:37 2013 +0200
hw/microblaze: Add support for loading initrd images
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit d0b022a0e9dcf574d56243f6039d675ba80dba16
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Sun May 5 10:52:41 2013 +0200
hw/microblaze: Indentation cleanups
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 11a7621763e7c91fef5169942a90e30bfd66a837
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Wed Oct 23 16:54:31 2013 +0200
microblaze: At swx, check that the reserved word is unmodified
This improves the reservation check for system emulation, making
it possible to catch stores that modify reserved word.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 4a536270454cc6e59960857a4e4a7c1ebb7fdd4b
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Wed Oct 23 16:44:08 2013 +0200
microblaze: Turn res_addr into a tcg global
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 536446e914caa8702053efb506b4f4d92128d7e6
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Wed Oct 23 13:58:08 2013 +0200
microblaze: Move the saving of the reservation addr into gen_load
No functional change.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 09b9f113ad9e2bad57b41f6c67228353972ad1af
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 19:18:28 2013 +0200
microblaze: Improve src
Microblaze carry is mirrored in MSR[31], pick it directly from
there. Also, no need to mask cpu_R[dc->ra] when calling
write_carry.
15% improvement in linux-user src loops.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit bb3cb951ef530da7d248051347c974e4d20e6ea0
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 19:03:44 2013 +0200
microblaze: Improve srl
write_carry only looks at bit zero, no need to mask out the others.
Meassured a 12% speed improvement in linux-user srl loops.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit a235900e225d21237a13333eaff40198974bc861
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 18:49:46 2013 +0200
microblaze: Simplify andn by using tcg_gen_andc
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 65ab5eb4ede9859b83a35c24c0d36936e62e76a2
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 12:49:05 2013 +0200
microblaze: Make write_carryi input a boolean
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 04ec7df7085b71894f18668c5164370547eb2e76
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Thu Oct 24 22:31:22 2013 +0200
microblaze: Clarify expected input of write_carry
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit fb8fe35f63a56170cf1bf92b1991d0056385b901
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 09:16:03 2013 +0200
block/vpc: check that the image has not been truncated
this adds a check that a dynamic VHD file has not been
accidently truncated (e.g. during transfer or upload).
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fefddf951b6dfe51c28d41f86669bfffb68c7a15
Author: Peter Lieven <pl@xxxxxxx>
Date: Thu Oct 24 08:53:34 2013 +0200
qemu-img: add special exit code if bdrv_check is not supported
currently it is not possible to distinguish by exitcode if there
has been an error or if bdrv_check is not supported by the image
format. Change the exitcode from 1 to 63 for the latter case.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6e13610aa454beba52944e8df6d93158d68ab911
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sun Oct 20 21:52:35 2013 +0200
qcow2: Unset zero_beyond_eof in save_vmstate
Saving the VM state is done using bdrv_pwrite. This function may perform
a read-modify-write, which in this case results in data being read from
beyond the end of the virtual disk. Since we are actually trying to
access an area which is not a part of the virtual disk, zero_beyond_eof
has to be set to false before performing the partial write, otherwise
the VM state may become corrupted.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit eedff66f21e542650d895801549ce05ac108278b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Sun Oct 20 20:28:20 2013 +0200
qcow2: Restore total_sectors value in save_vmstate
Since df2a6f29a5, bdrv_co_do_writev increases the total_sectors value of
a growable block devices on writes after the current end. This leads to
the virtual disk apparently growing in qcow2_save_vmstate, which in turn
affects the disk size captured by the internal snapshot taken directly
afterwards through e.g. the HMP savevm command. Such a "grown" snapshot
cannot be loaded after reopening the qcow2 image, since its disk size
differs from the actual virtual disk size (writing a VM state does not
actually increase the virtual disk size).
Fix this by restoring total_sectors at the end of qcow2_save_vmstate.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b4350deed67b95651896ddb60cf9f765093a4848
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Wed Oct 9 21:33:44 2013 +0200
audio: honor QEMU_AUDIO_TIMER_PERIOD instead of waking up every *nano*
second
Now that we no longer have MIN_REARM_TIMER_NS a bug in the audio subsys
has
clearly shown it self by trying to make a timer fire every nano second.
Note we have a similar problem in 1.6, 1.5 and older but there
MIN_REARM_TIMER_NS limits the wakeups caused by audio being active to
4000 times / second. This still causes a host cpu load of 50 % for simply
playing audio, where as with this patch git master is at 13%, so we should
backport this to 1.5 and 1.6 too.
Note this will not apply to 1.5 and 1.6 as is.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c90daa1c109348099088c1cc954c1e9f3392ae03
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:12 2013 +0200
usb-hcd-xhci: Update endpoint context dequeue pointer for streams too
With streams the endpoint context dequeue pointer should point to the
dequeue value for the currently active stream.
At least Linux guests expect it to point to value set by an set_ep_dequeue
upon completion of the set_ep_dequeue (before kicking the ep).
Otherwise the Linux kernel will complain (and things won't work):
xhci_hcd 0000:00:05.0: Mismatch between completed Set TR Deq Ptr command
& xHCI internal state.
xhci_hcd 0000:00:05.0: ep deq seg = ffff8800366f0880, deq ptr =
ffff8800366ec010
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 582d6f4aba0ff24604a82b48aee2db17b100d4b4
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:11 2013 +0200
usb-hcd-xhci: Report completion of active transfer with CC_STOPPED on ep
stop
As we should per the XHCI spec "4.6.9 Stop Endpoint".
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 8de1838afed4b5b05d18cc42a3e5a6fe9b19f29b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:10 2013 +0200
usb-hcd-xhci: Remove unused cancelled member from XHCITransfer
Since qemu's USB model is geared towards emulated devices cancellation
is instanteneous, so no need to wait for cancellation to complete, as
such there is no wait for cancellation code, and the cancelled bool
as well as the bogus comment about it can be removed.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 946ff2c0c353e4bf493f6ff2bcc308adddee4a4c
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:09 2013 +0200
usb-hcd-xhci: Remove unused sstreamsm member from XHCIStreamContext
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f34d5c750897abb3853910ce73f63d88d74dc827
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:08 2013 +0200
usb-host-libusb: Detach kernel drivers earlier
If we detach the kernel drivers on the first set_config, then they will
be still attached when the device gets its initial reset. Causing the
drivers
to re-initialize the device after the reset, dirtying the device state.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1294ca797c6bee39d4dbc3e92010873ce4047e0e
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:07 2013 +0200
usb-host-libusb: Configuration 0 may be a valid configuration
Quoting from: linux/Documentation/ABI/stable/sysfs-bus-usb:
Note that some devices, in violation of the USB spec, have a
configuration with a value equal to 0. Writing 0 to
bConfigurationValue for these devices will install that
configuration, rather then unconfigure the device.
So don't compare the configuration value against 0 to check for
unconfigured
devices, instead check for a LIBUSB_ERROR_NOT_FOUND return from
libusb_get_active_config_descriptor().
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5af35d7feccaa7d26b72c6c3d14116421d736b36
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Oct 8 21:58:06 2013 +0200
usb-host-libusb: Fix reset handling
The guest will issue an initial device reset when the device is attached,
but
since the current usb-host-libusb code only actually does the reset when
udev->configuration != 0, and on attach the device is not yet configured,
the reset gets ignored. This means that the device gets passed to the
guest
in an unknown state, which is not good.
The udev->configuration check is there because of the release / claim
interfaces done around the libusb_device_reset call, but these are not
necessary. If interfaces are claimed when libusb_device_reset gets called
libusb will release + reclaim them itself.
The usb_host_ep_update call also is not necessary. If the reset succeeds
the
original config and interface alt settings will be restored.
Last if the reset fails, that means the device has either disconnected or
morphed into an another device and has been completely re-enumerated,
so it is treated by the host as a new device and our handle is invalid,
so on reset failure we need to call usb_host_nodev().
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit cc94712b9ec93d1301eea1fb8f1b08589c7e242e
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Sat Oct 19 17:52:33 2013 +0100
qapi: fix documentation example
The QMP wire format uses "", not '', around strings.
* docs/qapi-code-gen.txt: Fix typo.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c20b7fa4b2fedd979bcb0cc974bb5d08a10e3448
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 16 19:17:08 2013 +0200
monitor: eliminate monitor_event_state_lock
This lock does not protect anything that the BQL does not already
protect. Furthermore, with -nodefaults and no monitor, the mutex
is not initialized but monitor_protocol_event_queue is called
anyway, which causes a crash under mingw (and only works by luck.
under Linux or other POSIX OSes).
Reported-by: Orx Goshen <orx.goshen@xxxxxxxxx>
Cc: Daniel Berrange <berrange@xxxxxxxxxx>
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit fc8ead74674b7129e8f31c2595c76658e5622197
Merge: 3551643 7174e54
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:03:24 2013 -0700
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Paolo Bonzini (2) and Jan Kiszka (1)
# Via Gleb Natapov
* qemu-kvm/uq/master:
kvmvapic: Prevent reading beyond the end of guest RAM
x86: cpuid: reconstruct leaf 0Dh data
x86: fix migration from pre-version 12
Message-id: 1382108641-4862-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 3551643eb7198398017829a7d26646de1710b0b6
Merge: 1da9772 23c37c3
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:02:48 2013 -0700
Merge remote-tracking branch 'stefanha/net' into staging
# By Amos Kong
# Via Stefan Hajnoczi
* stefanha/net:
net/rtl8139: update network information when macaddr is changed in guest
net/e1000: update network information when macaddr is changed in guest
net: update nic info during device reset
Message-id: 1382103314-21608-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1da9772d83576cef463b88adb7c390f978ef4ea3
Merge: 9896449 dbbcaa8
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:02:14 2013 -0700
Merge remote-tracking branch 'stefanha/block' into staging
# By Fam Zheng (3) and others
# Via Stefan Hajnoczi
* stefanha/block:
vmdk: fix VMFS extent parsing
vmdk: Only read cid from image file when opening
virtio: Remove unneeded memcpy
block/raw-win32: Always use -errno in hdev_open
blockdev: fix cdrom read_only flag
sd: Avoid access to NULL BlockDriverState
hmp: drop bogus "[not inserted]"
Message-id: 1382105915-27735-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 989644915c281ac83f06f65923d716272ede1ed8
Merge: 1cb9b64 041603f
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:49 2013 -0700
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Paolo Bonzini (10) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
exec: remove qemu_safe_ram_ptr
icount: make it thread-safe
icount: document (future) locking rules for icount
icount: prepare the code for future races in calling qemu_clock_warp
icount: reorganize icount_warp_rt
icount: use cpu_get_icount() directly
timer: add timer_mod_anticipate and timer_mod_anticipate_ns
timer: extract timer_mod_ns_locked and timerlist_rearm
timer: make qemu_clock_enable sync between disable and timer's cb
qemu-thread: add QemuEvent
timer: protect timers_state's clock with seqlock
seqlock: introduce read-write seqlock
vga: Mark relevant portio lists regions as coalesced MMIO flushing
cirrus: Mark vga io region as coalesced MMIO flushing
portio: Allow to mark portio lists as coalesced MMIO flushing
compatfd: switch to QemuThread
memory: fix 128 arithmetic in info mtree
Message-id: 1382024935-28297-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1cb9b64df380f232bcd142ab27c085cff0add1d8
Merge: c21611a 2324841
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:37 2013 -0700
Merge remote-tracking branch 'bonzini/configure' into staging
# By Peter Maydell (3) and �kos Kovács (2)
# Via Paolo Bonzini
* bonzini/configure:
ui/Makefile.objs: delete unnecessary cocoa.o dependency
default-configs/: CONFIG_GDBSTUB_XML removed
Makefile.target: CONFIG_NO_* variables removed
rules.mak: New string testing functions
rules.mak: New logical functions for handling y/n values
commit c21611ab8d0d6e0b3f3e5483777b5c929fb5a96c
Merge: cd22e32 9fa0328
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:21 2013 -0700
Merge remote-tracking branch 'spice/spice.v75' into staging
# By Gerd Hoffmann (2) and others
# Via Gerd Hoffmann
* spice/spice.v75:
spice: fix multihead support
spice-display: add display channel id to the debug messages.
Fix VNC SASL authentication when using a QXL device
spice: replace use of deprecated API
Message-id: 1382006760-19388-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit cd22e320a01b790d158d915a45d930f9d0a4bc91
Merge: 1680d48 ca529f8
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 18 10:01:08 2013 -0700
Merge remote-tracking branch 'filippov/tags/20131015-xtensa' into staging
xtensa queue 2013-10-15
# gpg: Signature made Tue 15 Oct 2013 06:27:41 AM PDT using RSA key ID
F83FA044
# gpg: Can't check signature: public key not found
# By Max Filippov
# Via Max Filippov
* filippov/tags/20131015-xtensa:
target-xtensa: add in_asm logging
Message-id: 1381844297-1728-1-git-send-email-jcmvbkbc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit dbbcaa8d4358fdf3c42bf01e9e2d687300e84770
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 18 15:07:33 2013 +0800
vmdk: fix VMFS extent parsing
The VMFS extent line in description file doesn't have start offset as
FLAT lines does, and it should be defaulted to 0. The flat_offset
variable is initialized to -1, so we need to set it in this case.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c338b6ad609699cf352c8dd6338360b7e3895ad0
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 18 13:17:19 2013 +0800
vmdk: Only read cid from image file when opening
Previously cid of parent is parsed from image file for every IO request.
We already have L1/L2 cache and don't have assumption that parent image
can be updated behind us, so remove this to get more efficiency.
The parent CID is checked only for once after opening.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 23c37c37f0280761072c23bf67d3a4f3c0ff25aa
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Oct 17 15:02:50 2013 +0800
net/rtl8139: update network information when macaddr is changed in guest
rtl8139 has same problem as e1000, nic info isn't updated when macaddr
is changed in guest.
This patch updates the nic info when the last bit of macaddr is written.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7c36507c2b8776266f50c5e2739bd18279953b93
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Oct 17 15:02:49 2013 +0800
net/e1000: update network information when macaddr is changed in guest
If we change macaddr in guest by 'ifconfig eth0 hw ether
12:12:12:34:35:36',
the mac register of e1000 is already updated, but we don't update
network information in qemu. Therefor, the information in monitor
is wrong.
This patch updates nic info when the second part of macaddr is written.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 655d3b63b036b70714adbdae685055f1bda0f8f1
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Thu Oct 17 16:38:34 2013 +0800
net: update nic info during device reset
macaddr is reset during device reset, but nic info
isn't updated, this problem exists in e1000 & rtl8139
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b432779a9fe9c2a1bb8cbd98feb341af6e32f892
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Oct 17 21:23:26 2013 +0200
virtio: Remove unneeded memcpy
Report from valgrind:
==19521== Source and destination overlap in memcpy(0x31d38938,
0x31d38938, 64)
==19521== at 0x4A0A343: memcpy@@GLIBC_2.14 (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==19521== by 0x42774E: virtio_blk_device_init (virtio-blk.c:686)
==19521== by 0x46EE9E: virtio_device_init (virtio.c:1158)
==19521== by 0x25405E: device_realize (qdev.c:178)
==19521== by 0x2559B5: device_set_realized (qdev.c:699)
==19521== by 0x3A819B: property_set_bool (object.c:1315)
==19521== by 0x3A6CE0: object_property_set (object.c:803)
Valgrind is right: blk == &s->blks, so it is a memcpy of 64 byte with
source == destination which can be removed.
Reported-by: Dave Airlie <airlied@xxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 041603fe5d4537cd165941f96bd76a31f7f662fd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Sep 9 17:49:45 2013 +0200
exec: remove qemu_safe_ram_ptr
This is not needed since the RAM list is not modified anymore by
qemu_get_ram_ptr. Replace it with qemu_get_ram_block.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 17a15f1b768fe2aab8c5f360b05c0daddf0c438b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 3 15:17:25 2013 +0200
icount: make it thread-safe
This lets threads other than the I/O thread use vm_clock even in -icount
mode.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a3270e19ccf05603dfaf09e1f18510f7c93095e0
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:18:15 2013 +0200
icount: document (future) locking rules for icount
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ce78d18ced118b03e821135e702ba1d513c8b2a7
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:30:02 2013 +0200
icount: prepare the code for future races in calling qemu_clock_warp
Computing the deadline of all vm_clocks is somewhat expensive and calls
out to qemu-timer.c; two reasons not to do it in the seqlock's write-side
critical section. This however opens the door for races in setting and
reading vm_clock_warp_start.
To plug them, we need to cover the case where a new deadline slips in
between the call to qemu_clock_deadline_ns_all and the actual modification
of the icount_warp_timer. Restrict changes to vm_clock_warp_start and
the icount_warp_timer's expiration time, to only move them back (which
would simply cause an early wakeup).
If a vm_clock timer is cancelled while CPUs are idle, this might cause the
icount_warp_timer to fire unnecessarily. This is not a problem, after it
fires the timer becomes inactive and the next call to timer_mod_anticipate
will be precise.
In addition to this, we must deactivate the icount_warp_timer _before_
checking whether CPUs are idle. This way, if the "last" CPU becomes idle
during the call to timer_del we will still set up the icount_warp_timer.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 8ed961d95708ee6cadac22fba7762724d533a5b4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:26:07 2013 +0200
icount: reorganize icount_warp_rt
To prepare for future code changes, move the increment of qemu_icount_bias
outside the "if" statement.
Also, hoist outside the if the check for timers that expired due to the
"warping". The check is redundant when !runstate_is_running(), but
doing it this way helps because the code that increments qemu_icount_bias
will be a critical section.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 468cc7cf3b85dd20a833773e6bde9f720f2df677
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Oct 7 17:21:51 2013 +0200
icount: use cpu_get_icount() directly
This will help later when we will have to place these calls in
a critical section, and thus call a version of cpu_get_icount()
that does not take the lock.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit add40e9777de139fb317ca6b1fb0dc142601cfcd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 3 15:11:43 2013 +0200
timer: add timer_mod_anticipate and timer_mod_anticipate_ns
These let a user anticipate the deadline of a timer, atomically with
other sites that call the function. This helps avoiding complicated
lock hierarchies.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0f809e5fbebb36788aea3523be7f93c04f2c7f8c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Oct 3 15:06:39 2013 +0200
timer: extract timer_mod_ns_locked and timerlist_rearm
These will be reused in timer_mod_anticipate functions.
Reviewed-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 3c05341157f4d08dc3cc8ffa675a0aaa4818d028
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Wed Sep 25 14:21:00 2013 +0800
timer: make qemu_clock_enable sync between disable and timer's cb
After disabling the QemuClock, we should make sure that no QemuTimers
are still in flight. To implement that with light overhead, we resort
to QemuEvent. The caller of disabling will wait on QemuEvent of each
timerlist.
Note, qemu_clock_enable(foo,false) can _not_ be called from timer's cb.
Also, the callers of qemu_clock_enable() should be protected by the BQL.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c7c4d063f50f0de980d99f02e055722227d703bc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 25 14:20:59 2013 +0800
qemu-thread: add QemuEvent
This emulates Win32 manual-reset events using futexes or conditional
variables. Typical ways to use them are with multi-producer,
single-consumer data structures, to test for a complex condition whose
elements come from different threads:
for (;;) {
qemu_event_reset(ev);
... test complex condition ...
if (condition is true) {
break;
}
qemu_event_wait(ev);
}
Or more efficiently (but with some duplication):
... evaluate condition ...
while (!condition) {
qemu_event_reset(ev);
... evaluate condition ...
if (!condition) {
qemu_event_wait(ev);
... evaluate condition ...
}
}
QemuEvent provides a very fast userspace path in the common case when
no other thread is waiting, or the event is not changing state.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cb365646a942ed58aae053064b2048a415337ba2
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Wed Sep 25 14:20:58 2013 +0800
timer: protect timers_state's clock with seqlock
QEMU_CLOCK_VIRTUAL may be read outside BQL. This will make its
foundation, i.e. cpu_clock_offset exposed to race condition.
Using private lock to protect it.
After this patch, reading QEMU_CLOCK_VIRTUAL is thread safe
unless use_icount is true, in which case the existing callers
still rely on the BQL.
Lock rule: private lock innermost, ie BQL->"this lock"
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ea753d81e8b085d679f13e4a6023e003e9854d51
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 25 14:20:57 2013 +0800
seqlock: introduce read-write seqlock
Seqlock implementation for QEMU. Usage idiom
reader:
do {
start = seqlock_read_begin(&sl);
...
} while (seqlock_read_retry(&sl, start));
writer:
seqlock_write_lock(&sl);
...
seqlock_write_unlock(&sl);
initialization:
seqlock_init(QemuSeqLock *sl, QemuMutex *mutex)
mutex could be NULL if the caller will provide its own protection
for concurrent write sides (typically using the BQL).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c46860ea53854a96b11af0d6e23b623ce199e95e
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 21:37:40 2013 +0200
vga: Mark relevant portio lists regions as coalesced MMIO flushing
This allows to remove the explicit qemu_flush_coalesced_mmio_buffer
calls.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eb25a1d9d4e88f4dd41702e35199ce4bbd7d1cee
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 21:19:02 2013 +0200
cirrus: Mark vga io region as coalesced MMIO flushing
This allows to remove the explicit qemu_flush_coalesced_mmio_buffer
calls - the memory core will invoke them now.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c76bc480e2d70762d02373678942c98fb193b9e5
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Jul 2 20:22:37 2013 +0200
portio: Allow to mark portio lists as coalesced MMIO flushing
This will enable us to remove all remaining explicit calls of
qemu_flush_coalesced_mmio_buffer in IO handlers.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 518420dfec2f082cfecbc6eec79fcc91388cf751
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Thu May 2 10:21:18 2013 +0200
compatfd: switch to QemuThread
qemu_thread_create already does signal blocking and detaching for us.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a66670c79c5c7d530d818430ffcdaa25cbf2c2ab
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Aug 30 18:10:38 2013 +1000
memory: fix 128 arithmetic in info mtree
mtree_print_mr() calls int128_get64() in 3 places but only 2 places
handle 2^64 correctly.
This fixes the third call of int128_get64().
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 45d57f6e718e44e55780bcf1d09fa140dce7ec08
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 14:30:16 2013 +0200
block/raw-win32: Always use -errno in hdev_open
On one occasion, hdev_open() returned -1 in case of an unknown error
instead of a proper -errno value. Adjust this to match the behavior of
raw_open() (in raw-win32), which is to return -EINVAL in this case.
Also, change the call to error_setg*() to match the one in raw_open() as
well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0624c7f916b4d97f17726d9b295d6a6b0dc5076d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Oct 10 10:30:27 2013 +0200
e820: pass high memory too.
We have a fw_cfg entry to pass e820 entries from qemu to the firmware.
Today it's used to pass reservations only. This patch makes qemu pass
entries for RAM too.
This allows to pass RAM sizes larger than 1TB to the firmware and it
will also allow to pass non-contignous memory ramges should we decide
to implement that some day, say for our virtual numa nodes.
Obviously this needs some extra care to not break existing firware.
SeaBIOS loads the entries and happily adds them without looking at the
type. Which is problematic for memory below 4g as this will overwrite
reservations added for bios memory etc. For memory above 4g it works
just fine, seabios will merge the entry derived from cmos with the one
loaded from fw_cfg.
OVMF doesn't look at the fw_cfg e820 table.
coreboot doesn't look at the fw_cfg e820 table.
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-By: Igor Mammedov <imammedo@xxxxxxxxxx>
commit 9fa032866daae68357d99abc725c18fe9ed4b61b
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Oct 11 22:39:59 2013 +0200
spice: fix multihead support
This patch fixes spice display initialization to handle
multihead properly.
spice-core now keeps track of which QemuConsole has a spice
display channel attached to it and which has not. It also
manages display channel ids.
spice-display looks at all QemuConsoles and will pick up any
graphic console not yet bound to a spice channel (which in practice
are all non-qxl graphic devices).
Result is that
(a) you'll get a spice client window for each graphical device
now (first only without this patch), and
(b) mixing qxl and non-qxl vga cards works properly.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 35b2122db446a03be9b88f540e865930efd01d6a
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Oct 17 12:11:43 2013 +0200
spice-display: add display channel id to the debug messages.
And s/__FUNCTION__/__func__/ while being at it.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 764eb39d1b6f614e9734ea3ed1b7dcf6c3aaa260
Author: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Date: Wed Oct 16 17:52:33 2013 +0200
Fix VNC SASL authentication when using a QXL device
ui/vnc.c:vnc_display_open() and spice-server/server/reds.c:do_spice_init()
are both calling sasl_server_init(). If spice_server_set_sasl_appname()
hasn't been called, spice-server will call it with "spice" as an appname,
causing cyrus-sasl to try to use a /etc/sasl2/spice.conf config file
rather
than the /etc/sasl2/qemu.conf file that QEMU uses.
When using -spice sasl on the command line, QEMU properly calls
spice_server_set_sasl_appname() to set the SASL appname as "qemu",
but when using a QXL device without using SPICE, spice_server_init()
is called from qemu_spice_add_interface() without setting the appname
to "qemu", which then causes the VNC code to try to use spice.conf
instead of qemu.conf.
Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 26defe81f6a878f33e0aaeb1df4d0d7022c929ca
Author: Marc-André Lureau <marcandre.lureau@xxxxxxxxx>
Date: Fri Oct 4 13:10:46 2013 +0200
spice: replace use of deprecated API
hose API are deprecated since 0.11, and qemu depends on 0.12 already.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a7fdbcf0e6e52d935ebff6d849fe4b5473e5860d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 15 17:45:50 2013 +0800
blockdev: fix cdrom read_only flag
Since 0ebd24e0, cdrom doesn't have read-only on by default, which will
error out when using an read only image. Fix it by setting the default
value when parsing opts.
Reported-by: Edivaldo de Araujo Pereira <edivaldoapereira@xxxxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 794cbc26eb94ce13c75d105eea9ff0afff56e2c2
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Oct 16 15:24:01 2013 +0200
sd: Avoid access to NULL BlockDriverState
Commit 4f8a066b5fc254eeaabbbde56ba4f5b29cc68fdf (blockdev: Remove IF_*
check for read-only blockdev_init) added a usage of bdrv_is_read_only()
to sd_init(), which is called for versatilepb, versatileab and
xilinx-zynq-a9 machines among others with NULL argument by default,
causing the new qom-test to fail.
Add a check to prevent this.
Suggested-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 684b25447c10b9171e5aa9305075b830885fe6e3
Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Date: Wed Oct 16 23:16:01 2013 -0400
hmp: drop bogus "[not inserted]"
Commit 3e9fab690d59ac15956c3733fe0794ce1ae4c4af ("block: Add support for
throttling burst max in QMP and the command line.") introduced bogus
"[not inserted]" output, possibly due to a merge failure. Remove this
artifact.
Output of 'info block'
scsi0-hd0: /images/f18-ppc64.qcow2 (qcow2)
[not inserted]
scsi0-cd2: [not inserted]
Removable device: not locked, tray closed
floppy0: [not inserted]
Removable device: not locked, tray closed
sd0: [not inserted]
Removable device: not locked, tray closed
There will be no additional lines between scsi0-hd0 and
scsi0-cd2.
At the same time, scsi0-hd0 already inserted, but still has
'[not inserted]' flag. This line should be removed.
This patch is to solve this.
Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2324841c0275f31505168e7a6ceb71bcede92d33
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Thu Oct 10 19:26:09 2013 +0800
ui/Makefile.objs: delete unnecessary cocoa.o dependency
Delete an unnecessary dependency for cocoa.o; we already have
a general rule that tells Make that we can build a .o file
from a .m source using an ObjC compiler, so this specific
rule is unnecessary. Further, it is using the dubious construct
"$(SRC_PATH)/$(obj)" to get at the source directory, which will
break when $(obj) is redefined as part of the preparation for
per-object library support.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b77abd95a9484ca5ffd7fb4cda25155bb8677bfb
Author: �kos Kovács <akoskovacs@xxxxxxx>
Date: Fri Sep 13 18:25:54 2013 +0100
default-configs/: CONFIG_GDBSTUB_XML removed
Makefile.target: Build gdbstub-xml.o only when
TARGET_XML_FILES is not empty.
Signed-off-by: �kos Kovács <akoskovacs@xxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit cf01ba9eef81d828c8292eacab70c67c81ca4501
Author: �kos Kovács <akoskovacs@xxxxxxx>
Date: Fri Sep 13 18:25:53 2013 +0100
Makefile.target: CONFIG_NO_* variables removed
CONFIG_NO_* variables replaced with the lnot logical function
Signed-off-by: �kos Kovács <akoskovacs@xxxxxxx>
[PMM: fixed a few CONFIG_NO_* uses that were missed]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9ef622e31e7168a9a2c80f95d245c2ad156e3fa7
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Sep 13 18:25:52 2013 +0100
rules.mak: New string testing functions
Add new string testing functions which return a y/n result:
eq : are two strings equal (ignoring leading/trailing space)?
ne : are two strings unequal?
isempty : is a string empty?
notempty : is a string non-empty?
Based on an idea by �kos Kovács <akoskovacs@xxxxxxx>.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 837a2e267f9c01cd9204d5b701712d6d26a5220e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Sep 13 18:25:51 2013 +0100
rules.mak: New logical functions for handling y/n values
Add new logical functions for handling y/n values like those we
use in CONFIG_FOO variables:
lnot : logical NOT
land : logical AND
lor : logical OR
lxor : logical XOR
leqv : logical equality, inverse of lxor
lif : like Make's $(if) but with an eq-like test
Based on an idea by �kos Kovács <akoskovacs@xxxxxxx>.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ca529f8e13557cc2feb2eee3872d422712d9bcb0
Author: Max Filippov <jcmvbkbc@xxxxxxxxx>
Date: Sat Aug 17 12:30:57 2013 +0400
target-xtensa: add in_asm logging
Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
commit 1680d485777ecf436d724631ea8722cc0c66990e
Merge: ded77da f8da40a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Oct 14 09:59:59 2013 -0700
Merge remote-tracking branch 'rth/tcg-ldst-6' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-ldst-6:
target-alpha: Convert to new ldst opcodes
tcg-ppc64: Support new ldst opcodes
tcg-ppc: Support new ldst opcodes
tcg-ppc64: Convert to le/be ldst helpers
tcg-ppc: Convert to le/be ldst helpers
tcg-ppc64: Use TCGMemOp within qemu_ldst routines
tcg-ppc: Use TCGMemOp within qemu_ldst routines
tcg-arm: Improve GUEST_BASE qemu_ld/st
tcg-arm: Convert to new ldst opcodes
tcg-arm: Tidy variable naming convention in qemu_ld/st
tcg-arm: Convert to le/be ldst helpers
tcg-arm: Use TCGMemOp within qemu_ldst routines
tcg-i386: Support new ldst opcodes
tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
tcg-i386: Tidy softmmu routines
tcg-i386: Use TCGMemOp within qemu_ldst routines
tcg: Use TCGMemOp for TCGLabelQemuLdst.opc
Message-id: 1381620683-4568-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ded77da3cd6b6bcd201a4e36abb3294d725be644
Merge: 08683cb 6ef8263
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Oct 14 09:15:47 2013 -0700
Merge remote-tracking branch 'jliu/or32' into staging
# By Sebastian Macke
# Via Jia Liu
* jliu/or32:
target-openrisc: Removes a non-conforming behavior for the first page
of the memory
target-openrisc: Correct handling of page faults.
Message-id: 1380789702-18935-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 08683cb53286848913d4b58afb3f975a29d93535
Merge: 575ddeb b1c50c5
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon Oct 14 09:14:30 2013 -0700
Merge remote-tracking branch 'awilliam/tags/vfio-pci-for-qemu-20131010.0'
into staging
vfio-pci updates include:
- Forgotten MSI affinity patch posted several months ago
- Lazy option ROM loading to delay load until after device/bus resets
- Error reporting cleanups
- PCI hot reset support introduced with Linux v3.12 development kernels
- Debug build fix for int128
The lazy ROM loading and hot reset should help VGA assignment as we can
now do a bus reset when there are multiple devices on the bus, ex.
multi-function graphics and audio cards.
# gpg: Signature made Thu 10 Oct 2013 11:26:39 AM PDT using RSA key ID
3BB08B22
# gpg: Can't check signature: public key not found
# By Alex Williamson (7) and Alexey Kardashevskiy (1)
# Via Alex Williamson
* awilliam/tags/vfio-pci-for-qemu-20131010.0:
vfio-pci: Fix endian issues in vfio_pci_size_rom()
vfio-pci: Add dummy PCI ROM write accessor
vfio: Fix debug output for int128 values
vfio-pci: Implement PCI hot reset
vfio-pci: Cleanup error_reports
vfio-pci: Lazy PCI option ROM loading
vfio-pci: Test device reset capabilities
vfio-pci: Add support for MSI affinity
Message-id: 20131010184122.31667.28382.stgit@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 575ddeb459f622a114cbfe37d220c0519ec9c2a4
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 29 20:56:45 2013 +0200
exec: Fix prototype of phys_mem_set_alloc and related functions
phys_mem_alloc and its assigned values qemu_anon_ram_alloc and
legacy_s390_alloc must have identical argument lists.
legacy_s390_alloc uses the size parameter to call mmap, so size_t is
good enough for all of them.
This patch fixes compiler errors on i686 Linux hosts:
CC alpha-softmmu/exec.o
exec.c:752:51: error:
initialization from incompatible pointer type [-Werror]
exec.c: In function 'qemu_ram_alloc_from_ptr':
exec.c:1139:32: error:
comparison of distinct pointer types lacks a cast [-Werror]
exec.c: In function 'qemu_ram_remap':
exec.c:1283:21: error:
comparison of distinct pointer types lacks a cast [-Werror]
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Message-id: 1380481005-32399-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 742f5d2ed578bb53b2130b6da2c66de9929f4821
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Sep 27 17:15:41 2013 +0300
ssdt-proc: update generated file
Update generated ssdt proc hex file (used for systems
lacking IASL) after P_BLK length change.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6ec80ef1502e90d19b90f021514debe32c8689a8
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Sep 27 01:15:14 2013 +0300
ssdt: fix PBLK length
We don't really support CPU throttling, so supply 0 PBLK length.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 72c194f7e75cb64b2558111cb111adb49fbf4097
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:14 2013 +0300
i386: ACPI table generation code from seabios
This adds C code for generating ACPI tables at runtime,
imported from seabios git tree
commit 51684b7ced75fb76776e8ee84833fcfb6ecf12dd
Although ACPI tables come from a system BIOS on real hw,
it makes sense that the ACPI tables are coupled with the
virtual machine, since they have to abstract the x86 machine to
the OS's.
This is widely desired as a way to avoid the churn
and proliferation of QEMU-specific interfaces
associated with ACPI tables in bios code.
Notes:
As BIOS can reprogram devices prior to loading
ACPI tables, we pre-format ACPI tables but defer loading
hardware configuration there until tables are loaded.
The code structure was intentionally kept as close
to the seabios original as possible, to simplify
comparison and making sure we didn't lose anything
in translation.
Minor code duplication results, to help ensure there are no functional
regressions, I think it's better to merge it like this and do more code
changes in follow-up patches.
Cross-version compatibility concerns have been addressed:
ACPI tables are exposed to guest as FW_CFG entries.
When running with -M 1.5 and older, this patch disables ACPI
table generation, and doesn't expose ACPI
tables to guest.
As table content is likely to change over time,
the following measures are taken to simplify
cross-version migration:
- All tables besides the RSDP are packed in a single FW CFG entry.
This entry size is currently 23K. We round it up to 64K
to avoid too much churn there.
- Tables are placed in special ROM blob (not mapped into guest memory)
which is automatically migrated together with the guest, same
as BIOS code.
- Offsets where hardware configuration is loaded in ACPI tables
are also migrated, this is in case future ACPI changes make us
rearrange the tables in memory.
This patch reuses some code from SeaBIOS, which was originally under
LGPLv2 and then relicensed to GPLv3 or LGPLv3, in QEMU under GPLv2+. This
relicensing has been acked by all contributors that had contributed to the
code since the v2->v3 relicense. ACKs approving the v2+ relicensing are
listed below. The list might include ACKs from people not holding
copyright on any parts of the reused code, but it's better to err on the
side of caution and include them.
Affected SeaBIOS files (GPLv2+ license headers added)
<http://thread.gmane.org/gmane.comp.bios.coreboot.seabios/5949>:
src/acpi-dsdt-cpu-hotplug.dsl
src/acpi-dsdt-dbug.dsl
src/acpi-dsdt-hpet.dsl
src/acpi-dsdt-isa.dsl
src/acpi-dsdt-pci-crs.dsl
src/acpi.c
src/acpi.h
src/ssdt-misc.dsl
src/ssdt-pcihp.dsl
src/ssdt-proc.dsl
tools/acpi_extract.py
tools/acpi_extract_preprocess.py
Each one of the listed people agreed to the following:
> If you allow the use of your contribution in QEMU under the
> terms of GPLv2 or later as proposed by this patch,
> please respond to this mail including the line:
>
> Acked-by: Name <email address>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Jason Baron <jbaron@xxxxxxxxxx>
Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Acked-by: Dave Frodin <dave.frodin@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Kevin O'Connor <kevin@xxxxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>
Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Acked-by: Magnus Christensson <magnus.christensson@xxxxxxxxx>
Acked-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Acked-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 1a4b2666dfbd6fbd9b5623a8e0ed6035cd0854fe
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 7 22:12:00 2013 +0300
pc: use new api to add builtin tables
At this point the only builtin table we have is
the DSDT used for Q35.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 60de1163d5b5013fe964ac0792e9a64a823e73a3
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Oct 7 14:41:40 2013 +0300
acpi: add interface to access user-installed tables
Also add a new API to install builtin tables, so
that we can distinguish between the two.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 64e9df8d34e493e59c1920358257a7576a560a1a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:13 2013 +0300
hpet: add API to find it
Add API to find HPET using QOM.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 309cd62d6b2628b4f0e2850b42011077f40956c7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:12 2013 +0300
pvpanic: add API to access io port
Add API to find pvpanic device and get its io port.
Will be used to fill in guest info structure.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f1426ab0fad715bccbad60e976ebf420442006c
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:10 2013 +0300
ich9: APIs for pc guest info
This adds APIs that will be used to fill in
acpi tables, implemented using QOM,
to various ich9 components.
Some information is still missing in QOM,
so we fall back on lookups by type instead.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 277e9340e6a1b0a0e8e988d2f0ac82b18b695c0b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:11 2013 +0300
piix: APIs for pc guest info
This adds APIs that will be used to fill in guest acpi tables.
Some required information is still lacking in QOM, so we
fall back on lookups by type and returning explicit types.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f854ecc79957e588bed8ed7e8c1c24ded55fc1e9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 16 18:09:11 2013 +0300
acpi/piix: add macros for acpi property names
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit b20c9bd5f6d8860856f6078836d197c6c2e27ef1
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:09 2013 +0300
i386: define pc guest info
This defines a structure that will be used to fill in acpi tables
where relevant properties are not yet available using QOM.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d916b46494a2a477636a59900ab1609de192f47a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:08 2013 +0300
loader: allow adding ROMs in done callbacks
Don't abort if machine done callbacks add ROMs.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit bc70232918ad3fb45c2b5423455a5de6bc7efdef
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:06 2013 +0300
i386: add bios linker/loader
This adds a dynamic bios linker/loader.
This will be used by acpi table generation
code to:
- load each table in the appropriate memory segment
- link tables to each other
- fix up checksums after said linking
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 35c12e60c840bc4840cbbe3f6ca514a53b2e36bc
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:05 2013 +0300
loader: use file path size from fw_cfg.h
Avoid a bit of code duplication, make
max file path constant reusable.
Suggested-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 544d2bfa84c43f9d4c70ca2202a6113d686b8999
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Fri Sep 27 17:16:32 2013 +0300
acpi: ssdt pcihp: updat generated file
update generated file, not sure what changed
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d512d0d723cc3a08ac0409e1ab13edfa1cc04c70
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:04 2013 +0300
acpi: pre-compiled ASL files
Add pre-compiled ASL files. Useful for systems that
do not have IASL.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a31a864273bb501851a4d52a366c645d06a53991
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:03 2013 +0300
acpi: add rules to compile ASL source
Detect presence of IASL compiler and use it
to process ASL source. If not there, use pre-compiled
files in-tree. Add script to update the in-tree files.
Note: distros are known to silently update iasl
so detect correct iasl flags for the installed version on each run as
opposed to at configure time.
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 74523b850189afc23b608918c458b9242757f6d9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Wed Jul 24 18:56:02 2013 +0300
i386: add ACPI table files from seabios
This adds ASL code as well as scripts for processing it,
imported from seabios git tree
commit 51684b7ced75fb76776e8ee84833fcfb6ecf12dd
Will be used for runtime acpi table generation.
Note:
This patch reuses some code from SeaBIOS, which was originally under
LGPLv2 and then relicensed to GPLv3 or LGPLv3, in QEMU under GPLv2+. This
relicensing has been acked by all contributors that had contributed to the
code since the v2->v3 relicense. ACKs approving the v2+ relicensing are
listed below. The list might include ACKs from people not holding
copyright on any parts of the reused code, but it's better to err on the
side of caution and include them.
Affected SeaBIOS files (GPLv2+ license headers added)
<http://thread.gmane.org/gmane.comp.bios.coreboot.seabios/5949>:
src/acpi-dsdt-cpu-hotplug.dsl
src/acpi-dsdt-dbug.dsl
src/acpi-dsdt-hpet.dsl
src/acpi-dsdt-isa.dsl
src/acpi-dsdt-pci-crs.dsl
src/acpi.c
src/acpi.h
src/ssdt-misc.dsl
src/ssdt-pcihp.dsl
src/ssdt-proc.dsl
tools/acpi_extract.py
tools/acpi_extract_preprocess.py
Each one of the listed people agreed to the following:
> If you allow the use of your contribution in QEMU under the
> terms of GPLv2 or later as proposed by this patch,
> please respond to this mail including the line:
>
> Acked-by: Name <email address>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Jason Baron <jbaron@xxxxxxxxxx>
Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Acked-by: Gleb Natapov <gleb@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Acked-by: Dave Frodin <dave.frodin@xxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Acked-by: Kevin O'Connor <kevin@xxxxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx>
Acked-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Acked-by: Magnus Christensson <magnus.christensson@xxxxxxxxx>
Acked-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Acked-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Hu Tao <hutao@xxxxxxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cbcaf79e3ce1b14084f3e3f4f64365e9bfd70e6a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 10 10:16:02 2013 +0300
q35: expose mmcfg size as a property
Address is already exposed, expose size for symmetry.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 87f65245db4665edff22242c17546954d9d59c82
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 17:59:38 2013 +0300
q35: use macro for MCFG property name
Useful to make it accessible through QOM.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6f6d282330a3c85ecbeb54dec5b57282bd177b44
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 10 10:15:00 2013 +0300
pcie_host: expose address format
Callers pass in the address so it's helpful for
them to be able to decode it.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 079e3e7012a0e3ff80b4786e67f5a5d4341dcd51
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 10 08:43:48 2013 +0300
pcie_host: expose UNMAPPED macro
Make it possible to test unmapped status through QMP.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 48354cc5a3744c9a56462e5053e1f267a0ce69de
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Aug 18 17:02:33 2013 +0300
loader: support for unmapped ROM blobs
Support ROM blobs not mapped into guest memory:
same as ROM files really but use caller's buffer.
Support invoking callback on access and
return memory pointer making it easier
for caller to update memory if necessary.
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d87072ceeccf4f84a64d4bc59124bcd64286c070
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 1 17:56:20 2013 +0300
fw_cfg: interface to trigger callback on read
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 77d6f4ea7608fe7f47c9d7beddd19191b2e852b2
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Oct 1 15:39:13 2013 +0300
pci: fix up w64 size calculation helper
BAR base was calculated incorrectly.
Use existing pci_bar_address to get it right.
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e732ea638705da35445a42dee32691fbe813d3e0
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 22 10:10:17 2013 +0300
qom: add pointer to int property helpers
Make it easy to add read-only helpers for simple
integer properties in memory.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit e82df24873970742778e4a960f059ba9f8b1b2a7
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 22 10:08:14 2013 +0300
qom: cleanup struct Error references
now that a typedef for struct Error is available,
use it in qom/object.h to match coding style rules.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Tested-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Tested-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 008e05662ae5ff314b2b8462508ffd4b40503369
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Tue Oct 1 17:44:32 2013 +0200
cleanup object.h: include error.h directly
qapi/error.h is simple enough to be included in qom/object.h
direcly and prepares qom/object.h to use Error typedef.
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c31d04b516b183b02336f8cce65a41bd547f6f6b
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:41 2013 +0300
hw/pci: removed irq field from PCIDevice
Instead of exposing the the irq field,
pci wrappers to qemu_set_irq or qemu_irq_*
can be used.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5a03e708f213c716c9dde11e8ab4b23b8ca5c066
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:40 2013 +0300
hw/pcie: AER and hot-plug events must use device's interrupt
The fields hpev_intx and aer_intx were removed because
both AER and hot-plug events must use device's interrupt.
Assert/deassert interrupts using pci irq wrappers instead.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 9e64f8a3fcc88a508990a62ecc5a1269e41272ad
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:39 2013 +0300
hw: set interrupts using pci irq wrappers
pci_set_irq and the other pci irq wrappers use
PCI_INTERRUPT_PIN config register to compute device
INTx pin to assert/deassert.
An irq is allocated using pci_allocate_irq wrapper
only if is needed by non pci devices.
Removed irq related fields from state if not used anymore.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 68919cace8242363edfe8ff9b9c68b5e58c30db4
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:38 2013 +0300
hw/vfio: set interrupts using pci irq wrappers
pci_set_irq and the other pci irq wrappers use
PCI_INTERRUPT_PIN config register to compute device
INTx pin to assert/deassert.
save INTX pin into the config register before calling
pci_set_irq
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4c89e3e59368584ae6f34fdfce3c698223b8a918
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:37 2013 +0300
hw/vmxnet3: set interrupts using pci irq wrappers
pci_set_irq uses PCI_INTERRUPT_PIN config register
to compute device INTx pin to assert/deassert.
An assert is used to ensure that intx received
from the quest OS corresponds to PCI_INTERRUPT_PIN.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c008ac0c1cb68dfe8dcfda0e25562fa81c687e50
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:36 2013 +0300
hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init
The PCI_INTERRUPT_PIN will be used by shpc init, so
was moved before the call to shpc_init.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit d98f08f54e0882b4da1177345161afabb8d47d94
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:35 2013 +0300
hw/pci: add pci wrappers for allocating and asserting irqs
Interrupt pin is selected and saved into PCI_INTERRUPT_PIN
register during device initialization. Devices should not call
directly qemu_set_irq and specify the INTx pin on each call.
Added pci_* wrappers to replace qemu_set_irq, qemu_irq_raise,
qemu_irq_lower and qemu_irq_pulse, setting the irq
based on PCI_INTERRUPT_PIN.
Added pci_allocate_irq wrapper to be used by devices that
still need PCIDevice infrastructure to assert irqs.
Renamed a static method which was named already pci_set_irq.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a8a9d30bab2fae2e0ab3436fa0a40d89fbb0cf4e
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Oct 7 10:36:34 2013 +0300
hw/core: Add interface to allocate and free a single IRQ
qemu_allocate_irq returns a single qemu_irq.
The interface allows to specify an interrupt number.
qemu_free_irq frees it.
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a53ae8e934cd54686875b5bcfc2f434244ee55d6
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Sep 16 11:21:16 2013 +0300
hw/pci: partially handle pci master abort
A MemoryRegion with negative priority was created and
it spans over all the pci address space.
It "intercepts" the accesses to unassigned pci
address space and will follow the pci spec:
1. returns -1 on read
2. does nothing on write
Note: setting the RECEIVED MASTER ABORT bit in the STATUS register
of the device that initiated the transaction will be
implemented in another series
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8002ccd6e4c5c52210c5fc886f7bf88fd707c2df
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Sep 16 11:21:15 2013 +0300
docs/memory: Explictly state that MemoryRegion priority is signed
When memory regions overlap, priority can be used to specify
which of them takes priority. By making the priority values signed
rather than unsigned, we make it more convenient to implement
a situation where one "background" region should appear only
where no other region exists: rather than having to explicitly
specify a high priority for all the other regions, we can let them take
the default (zero) priority and specify a negative priority for the
background region.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit a1ff8ae0666ffcbe78ae7e28812dd30db6bb7131
Author: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Date: Mon Sep 16 11:21:14 2013 +0300
memory: Change MemoryRegion priorities from unsigned to signed
When memory regions overlap, priority can be used to specify
which of them takes priority. By making the priority values signed
rather than unsigned, we make it more convenient to implement
a situation where one "background" region should appear only
where no other region exists: rather than having to explicitly
specify a high priority for all the other regions, we can let them take
the default (zero) priority and specify a negative priority for the
background region.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit f8da40aefbd1b40a0c5ab6fb25987943fe01125c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 13:11:56 2013 -0700
target-alpha: Convert to new ldst opcodes
Or, partially. The fundamental primitives for the port are gen_load_mem
and gen_store_mem, which take a callback to emit the memory operation.
For that, we continue to use the original inline functions that forward
to the new ops, rather than replicate the same thing privately.
That said, all free-standing calls to tcg_gen_qemu_* have been converted.
The 32-bit floating-point references now use _i32 opcodes, eliminating
a truncate or extension.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1768ec0623c1253df3bf1424b07fbccb164e85fb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 10:15:25 2013 -0700
tcg-ppc64: Support new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5dd391604f590938dd9fd335102442f1612e5eed
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 10:00:27 2013 -0700
tcg-ppc: Support new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e349a8d4ffb63e8e16c67d1702dd728d781424d6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 09:05:15 2013 -0700
tcg-ppc64: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 92d0acda271f54a96956b9aef5031e702e12a700
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 10 08:54:04 2013 -0700
tcg-ppc: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a058557381e6bb4c7688572bba7b3a4c01234955
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 17:05:37 2013 -0700
tcg-ppc64: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f1a16dcdd5d52aa92563c8798d1b3e304c1245f9
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 17:05:31 2013 -0700
tcg-ppc: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 091d5677713d5e8e48ad670655d6bf1bac0b064d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 15:06:23 2013 -0700
tcg-arm: Improve GUEST_BASE qemu_ld/st
If we pull the code to emit the actual load/store into a subroutine,
we can share the reg+reg addressing mode code between softmmu and
usermode. This lets us load GUEST_BASE into a temporary register
rather than attempting to add it piece-wise to the address.
Which lets us use movw+movt for armv7, rather than (up to) 4 adds.
Code size for pre-armv7 stays the same.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 15ecf6e3946b0d2f0b6deb95c321604b8741a882
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 10:17:45 2013 -0700
tcg-arm: Convert to new ldst opcodes
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a485cff09c44fffea121401cd3dcea13b8d1fe27
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 09:07:38 2013 -0700
tcg-arm: Tidy variable naming convention in qemu_ld/st
s/addr_reg2/addrhi/
s/addr_reg/addrlo/
s/data_reg2/datahi/
s/data_reg/datalo/
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0315c51ea954766df8ab6697502dff22f5364f77
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Sep 12 08:58:33 2013 -0700
tcg-arm: Convert to le/be ldst helpers
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 099fcf2e3689a702a0948b53f3cd42926bbe044a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 16:16:47 2013 -0700
tcg-arm: Use TCGMemOp within qemu_ldst routines
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8221a267fdc6e8eebbeb8d810b58efbe3a7d913e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 09:35:37 2013 -0700
tcg-i386: Support new ldst opcodes
No support for helpers with non-default endianness yet,
but good enough to test the opcodes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b3e2bc500f5fe09763a107e2e28cb0e2d39ffb7c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 08:51:07 2013 -0700
tcg-i386: Remove "cb" output restriction from qemu_st8 for i386
Once we form a combined qemu_st_i32 opcode, we won't be able to
have separate constraints based on size. This one is fairly easy
to work around, since eax is available as a scratch register.
When storing variable data, this tends to merely exchange one mov
for another. E.g.
-: mov %esi,%ecx
...
-: mov %cl,(%edx)
+: mov %esi,%eax
+: mov %al,(%edx)
Where we do have a regression is when storing constant data, in which
we may load the constant into edi, when only ecx/ebx ought to be used.
The proper way to recover this regression is to allow constants as
arguments to qemu_st_i32, so that we never load the constant data into
a register at all, must less the wrong register. TBD.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7352ee546ce0aba261d0e64595eae6e74e75e49d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 08:13:42 2013 -0700
tcg-i386: Tidy softmmu routines
Pass two TCGReg to tcg_out_tlb_load, rather than idx+args.
Move ldst_optimization routines just below tcg_out_tlb_load to avoid
the need for forward declarations.
Use TCGReg enum in preference to int where apprpriate.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 37c5d0d5d1ad4e603dc50411c85bad6f726357a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 13:54:21 2013 -0700
tcg-i386: Use TCGMemOp within qemu_ldst routines
Step one in the transition, with constants passed down from tcg_out_op.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d257e0d7aeb72f4280666590f81ca5f0a38697f8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Oct 11 14:32:06 2013 -0700
tcg: Use TCGMemOp for TCGLabelQemuLdst.opc
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1cdae4573d7613149348d834c605bfbe3c7d405b
Merge: ab1eb72 0106dc4
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 11 09:38:07 2013 -0700
Merge remote-tracking branch 'mdroth/qga-pull-2013-10-10' into staging
# By Mark Wu (2) and Tomoki Sekiyama (1)
# Via Michael Roth
* mdroth/qga-pull-2013-10-10:
qemu-ga: Extend 'guest-info' command to expose flag 'success-response'
qemu-ga: Add interface to traverse the qmp command list by QmpCommand
qemu-ga: execute fsfreeze-freeze in reverse order of mounts
Message-id: 1381435782-25524-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ab1eb72b1db1740093d52207887a2cfc8665bad6
Merge: a3400ae 867b320
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 11 09:36:52 2013 -0700
Merge remote-tracking branch 'rth/tcg-pull' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-pull:
exec: Add both big- and little-endian memory helpers
tcg: Add qemu_ld_st_i32/64
tcg: Add TCGMemOp
configure: Remove CONFIG_QEMU_LDST_OPTIMIZATION
tcg: Add tcg-be-ldst.h
tcg: Add tcg-be-null.h
exec: Delete is_tcg_gen_code and GETRA_EXT
tcg-aarch64: Update to helper_ret_*_mmu routines
tcg: Merge tcg_register_helper into tcg_context_init
tcg: Add tcg-runtime.c helpers to all_helpers
tcg: Put target helper data into an array.
tcg: Remove stray semi-colons from target-*/helper.h
tcg: Move helper registration into tcg_context_init
target-m68k: Rename helpers.h to helper.h
tcg: Use a GHashTable for tcg_find_helper
tcg: Delete tcg_helper_get_name declaration
tcg-hppa: Remove tcg backend
Message-id: 1381440525-6666-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit a3400aeede46c6c30b6fefb20fc90a43f1f6e7b2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Oct 10 15:00:21 2013 +0200
qdev-monitor: Group "device_add help" and "info qdm" by category
Output is a long, unsorted list. Not very helpful. Print one list
per device category instead, with a header line identifying the
category, plus a list of uncategorized devices. Print each list in
case-insenitive alphabetical order.
Devices with multiple categories are listed multiple times.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1381410021-1538-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 1fc224b4b6d195fb7802d5ba1a0846a4e7a1e2af
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Oct 10 15:00:20 2013 +0200
Mostly revert "qemu-help: Sort devices by logical functionality"
This reverts most of commit 3d1237fb2ab4edb926c717767bb5e31d6053a7c5.
The commit claims to sort the output of "-device help" "by
functionality rather than alphabetical". Issues:
* The output was unsorted before, not alphabetically sorted.
Misleading, but harmless enough.
* The commit doesn't just sort the output of "-device help" as it
claims, it adds categories to each line of "-device help", and it
prints devices once per category. In particular, devices without a
category aren't shown anymore. Maybe such devices should not exist,
but they do. Regression.
* Categories are also added to the output of "info qdm". Silent
change, not nice. Output remains unsorted, unlike "-device help".
I'm going to reimplement the feature we actually want, without the
warts. Reverting the flawed commit first should make it easier to
review. However, I can't revert it completely, since DeviceClass
member categories has been put to use. So leave that part in.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Marcel Apfelbaum <marcel.a@xxxxxxxxxx>
Message-id: 1381410021-1538-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 859389810910f232188675d2f10b15f1aad77660
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Fri Oct 11 14:52:38 2013 +0200
Use qemu-project.org domain name
qemu.org is held by a third-party and no core community contributor has
access to the DNS configuration. This leaves the website exposed to
outages due to DNS issues or IP address changes. For example, if the
web server IP address needs to change we cannot guarantee qemu.org will
point to it!
The newer qemu-project.org domain name is owned by Anthony Liguori
<anthony@xxxxxxxxxxxxx>. You can confirm this by querying the whois
information. Also note that the #qemu IRC channel topic already
references qemu-project.org.
Short of having a dedicated legal entity to hold the domain name on
behalf of the community, qemu-project.org seems like the safest bet.
Let's replace references to qemu.org with qemu-project.org.
Note that git-submodule(1) does not detect URL changes. The following
commands clear out and re-initialize all submodules to ensure you are
using the latest URLs:
$ git submodule deinit . # you'll be warned if you have local changes
$ rm -rf .git/modules # also clear cached .git/ directories
$ git submodule update --init
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Message-id: 1381495958-8306-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33c6cae44eccea5e627c2dc5cbf31456db90fc38
Merge: 39c153b 34eeb82
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Fri Oct 11 09:29:58 2013 -0700
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (30) and others
# Via Kevin Wolf
* kwolf/for-anthony: (61 commits)
qemu-iotests: Add test for inactive L2 overlap
qemu-io: Let "open" pass options to block driver
vmdk: Fix vmdk_parse_extents
blockdev: blockdev_init() error conversion
blockdev: Don't disable COR automatically with blockdev-add
blockdev: Remove 'media' parameter from blockdev_init()
qemu-iotests: Check autodel behaviour for device_del
blockdev: Remove IF_* check for read-only blockdev_init
blockdev: Move virtio-blk device creation to drive_init
blockdev: Move bus/unit/index processing to drive_init
blockdev: Move parsing of 'boot' option to drive_init
blockdev: Moving parsing of geometry options to drive_init
blockdev: Move parsing of 'if' option to drive_init
blockdev: Move parsing of 'media' option to drive_init
blockdev: Pass QDict to blockdev_init()
blockdev: Separate ID generation from DriveInfo creation
blockdev: 'blockdev-add' QMP command
blockdev: Introduce DriveInfo.enable_auto_del
qapi-types/visit.py: Inheritance for structs
qapi-types/visit.py: Pass whole expr dict for structs
...
Message-id: 1381503951-27985-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 34eeb82de65ce9f83081a3357b0afe80a6a1d86a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 14:02:11 2013 +0200
qemu-iotests: Add test for inactive L2 overlap
Extend 060 by a test which creates a corrupted image with an active L2
entry pointing to an inactive L2 table and writes to the corresponding
guest offset.
Also, use overlap-check=all for all tests in 060.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b543c5cdcb818ffed90cfc97aa8e297214650d84
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 14:02:10 2013 +0200
qemu-io: Let "open" pass options to block driver
Add an option to the open command to specify runtime options for the
block driver used.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 899f1ae219d5eaa96a53c996026cb0178d62a86d
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 19:48:29 2013 +0800
vmdk: Fix vmdk_parse_extents
An extra 'p++' after while loop when *p == '\n' will move p to unknown
data position, risking parsing junk data or memory access violation.
Cc: qemu-stable@xxxxxxxxxx
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b681072d2005911b79835d2a6af208eba3983a48
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 20 11:33:11 2013 +0200
blockdev: blockdev_init() error conversion
This gives us meaningful error messages for the blockdev-add QMP
command.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 0ebd24e0a203cf2852c310b59fbe050190dc6c8c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Sep 19 15:12:18 2013 +0200
blockdev: Don't disable COR automatically with blockdev-add
If a read-only device is configured with copy-on-read=on, the old code
only prints a warning and automatically disables copy on read. Make it
a real error for blockdev-add.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit e34ef046412431acf5b4e30762390b4048187bb8
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Sep 19 14:24:10 2013 +0200
blockdev: Remove 'media' parameter from blockdev_init()
The remaining users shouldn't be there with blockdev-add and are easy to
move to drive_init().
Bonus bug fix: As a side effect, CD-ROM drives can now use block drivers
on the read-only whitelist without explicitly specifying read-only=on,
even if a format is explicitly specified.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit a9b43397a9782d028f45b63fb4affee164f85948
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 18 16:47:41 2013 +0200
qemu-iotests: Check autodel behaviour for device_del
Block devices creates with -drive and drive_add should automatically
disappear if the guest device is unplugged. blockdev-add ones shouldn't.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 4f8a066b5fc254eeaabbbde56ba4f5b29cc68fdf
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 13 15:51:47 2013 +0200
blockdev: Remove IF_* check for read-only blockdev_init
IF_NONE allows read-only, which makes forbidding it in this place
for other types pretty much pointless.
Instead, make sure that all devices for which the check would have
errored out check in their init function that they don't get a read-only
BlockDriverState. This catches even cases where IF_NONE and -device is
used.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 394c7d4d6bd06386308e2fef0cf1c613a10e0d23
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 13 14:09:17 2013 +0200
blockdev: Move virtio-blk device creation to drive_init
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 87a899c5090c7864fc7dcff3ea0ac34153ea621b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Sep 10 15:48:13 2013 +0200
blockdev: Move bus/unit/index processing to drive_init
This requires moving the automatic ID generation at the same time, so
let's do that as well.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 26929298023b0592dc6ac8bc15163b5a24341670
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Sep 9 17:01:03 2013 +0200
blockdev: Move parsing of 'boot' option to drive_init
It's already ignored and only prints a deprecation message. No use in
making it available in new interfaces.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit b41a7338cfdeeb913ee4846d79a3f7e221350aed
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Sep 9 16:49:49 2013 +0200
blockdev: Moving parsing of geometry options to drive_init
This moves all of the geometry options (cyls/heads/secs/trans) to
drive_init so that they can only be accessed using legacy functions, but
never with anything blockdev-add related.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 593d464bd43900c2a0c8800b76212f6a93e99a0d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 17:24:51 2013 +0200
blockdev: Move parsing of 'if' option to drive_init
It's always IF_NONE for blockdev-add.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 33cb7dc8b7a26ccdff2f054056d3f2e487cbb4cd
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 17:00:13 2013 +0200
blockdev: Move parsing of 'media' option to drive_init
This moves as much as possible of the processing of the 'media' option
to drive_init so that it can only be accessed using legacy functions,
but never with anything blockdev-add related.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit f298d071662af6cf5dc221ee3e3bd0154035e570
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Sep 10 12:01:20 2013 +0200
blockdev: Pass QDict to blockdev_init()
Working on a QDict instead of a QemuOpts that accepts anything is more
in line with bdrv_open(). A QDict is what qmp_blockdev_add() already has
anyway, so this saves additional conversions. And last, but not least,
it allows later patches to easily extract legacy options into a
separate, typed QemuOpts for drive_init() (the untyped QemuOpts that
drive_init already has doesn't allow access to numbers, only strings,
and is therefore useless without conversion).
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 326642bc7f0ff95a0c08db527861a9a114a109da
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Jul 11 12:52:34 2013 +0200
blockdev: Separate ID generation from DriveInfo creation
blockdev-add shouldn't automatically generate IDs, but will keep most of
the DriveInfo creation code.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d26c9a15738147a8dccc451c6f6d1ddc2305713d
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Sep 23 15:26:03 2013 +0200
blockdev: 'blockdev-add' QMP command
For examples see the changes to qmp-commands.hx.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2d246f01d374c1a10c48c45aa931aa18f0a56634
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 18 15:14:47 2013 +0200
blockdev: Introduce DriveInfo.enable_auto_del
BlockDriverStates shouldn't be affected by an unplugged guest device,
except if created with the legacy -drive command line option or the
drive_add HMP command.
Make the automatic deletion as well as cancelling of jobs conditional on
an enable_auto_del boolean that is only set in drive_init().
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
commit 622f557f5aaea1326c94ca4cddfa4eafeade3723
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Sep 19 11:56:36 2013 +0200
qapi-types/visit.py: Inheritance for structs
This introduces a new 'base' key for struct definitions that refers to
another struct type. On the JSON level, the fields of the base type are
included directly into the same namespace as the fields of the defined
type, like with unions. On the C level, a pointer to a struct of the
base type is included.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 14d36307ffdf949df9c1dd7f435e138b36f63bb0
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 18 17:22:02 2013 +0200
qapi-types/visit.py: Pass whole expr dict for structs
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 52c8d629cac27ad16dd51507b4733d46fa4efc55
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 15:43:23 2013 +0800
vmdk: refuse enabling zeroed grain with flat images
This is a header flag and we needs sparse for the header.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4823970bcb882cd5b7e9c9a21fa6573190035050
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 15:43:22 2013 +0800
vmdk: convert error code to use errp
Convert "fprintf(stderr,..." and standardize error messages:
Remove a few local_error's and use errp.
Remove "VMDK:" or "Vmdk:" prefixes in error message and fix to upper
case.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2cdfb12332e885c8ce36f520d2a2a9200101e183
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 08:42:56 2013 +0800
build: add command check-clean
This command will package the clean operations in tests. Now root Makefile
simply calls the command and do not care the details of it any more.
Original
the built binaries for test will not be removed, now they will be deleted
in clean operation.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 22ee5a557acc820109a9948620a26f66e4fa3a8f
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 26 08:42:55 2013 +0800
tests: build the helper program by default
Usually we may configure and make, then goto ./tests/qemu-iotest,
check. In this case an error will happen since helper program
was not built. This patch simply build it by default. A better way
may be introducing Makefile in ./tests/qemu-iotest, but it is more
complicate to handle out of tree case, and a bit overkill
for a single file now, we can do that when more files come.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e428e439df4d92ac42cb913a1dd19b86155eae86
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Oct 11 11:37:01 2013 +0200
block/raw-posix: Employ error parameter
Make use of the error parameter in the opening and creating functions in
block/raw-posix.c.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 5dd75f9afbea2e4e370c96676d34676e6f6b95b7
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Oct 11 14:59:49 2013 +0800
qemu-iotests: move blank lines of output in case 059
Move the blank line to above the test step banner, so it looks clearer
in blocks.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ca2884087a36c60d592aa0e8e327bf1579972077
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:04 2013 +0200
blkverify: Employ error parameter
Make use of the error parameter in blkverify_open.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 10ffa72faed7e02805d7911d58d429efe6f95f93
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:03 2013 +0200
blkdebug: Employ error parameter
Make use of the error parameter in blkdebug_open.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c6252b7cea0dfa893cf1f49de3a58f222e910783
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:02 2013 +0200
block/raw-win32: Employ error parameter
Make use of the error parameter in the opening and creating functions in
block/raw-win32.c.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 92f1deec317230575726a8e0ab5c110781d30ec0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 15:44:00 2013 +0200
block/raw_bsd: Employ error parameter
Propagate errors in raw_create rather than directly reporting and
afterwards discarding them.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1fa5cc839aa6068c9182ad8d611f844c58f95f42
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:28 2013 +0200
qcow2: Evaluate overlap check options
Evaluate the runtime overlap check options and set
BDRVQcowState.overlap_check appropriately.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4a273c398b0c96985d56fed8156e19876b2e3c9e
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:27 2013 +0200
qcow2: Add more overlap check bitmask macros
Introduces the macros QCOW2_OL_CONSTANT and QCOW2_OL_ALL in addition to
the already existing QCOW2_OL_CACHED, signifying all metadata overlap
checks that can be performed in constant time (regardless of image size
etc.) and truly all available overlap checks, respectively.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4092e99d935fe26fd53631cc9e170f9a19e3ee4a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:26 2013 +0200
qcow2: Array assigning options to OL check bits
Add an array which assigns the option string to its corresponding
overlap check bit.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 05de7e86cab3ed3830de38b38b39bbc711bc1158
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:25 2013 +0200
qcow2: Add overlap-check options
Add runtime options to tune the overlap checks to be performed before
write accesses.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3e3553905cfc814d59de6d1a634c3a991b2a9257
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:24 2013 +0200
qcow2: Make overlap check mask variable
Replace the QCOW2_OL_DEFAULT macro by a variable overlap_check in
BDRVQcowState.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 231bb267644ee3a9ebfd9c7f42d5d41610194b45
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Oct 10 11:09:23 2013 +0200
qcow2: Use negated overflow check mask
In qcow2_check_metadata_overlap and qcow2_pre_write_overlap_check,
change the parameter signifying the checks to perform from its current
positive form to a negative one, i.e., it will no longer explicitly
specify every check to perform but rather a mask of checks not to
perform.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8f94a6e40e46cbc8e8014da825d25824b1803b34
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Thu Oct 10 11:45:55 2013 +0200
block: Improve driver whitelist checks
The main intent of this patch is to consolidate the whitelist checks to
a single point in the code instead of spreading it everywhere. This adds
a nicer error message for read-only whitelisting, too, in places where
it was still missing.
The patch also contains a bonus bug fix: By finding the format first in
bdrv_open() and then independently checking against the whitelist only
later, we avoid the case that use of a non-whitelisted format results in
probing rather than an error message. Previously, this could happen when
using the driver=... option.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Fam Zheng <famz@xxxxxxxxxx>
commit 00c49b21e7af1dd8d2167c1b019619ac186dad14
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:42:47 2013 +0200
qcow2: Use better type for numerical snapshot ID
When trying to find a new snapshot ID, the existing ones are converted
to integers using strtoul. This function returns an unsigned long,
therefore its result should be saved in an unsigned long as well.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 84757f7e67cda3df8b04e06fbdeecc266415d2f3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:42:00 2013 +0200
qcow2: Fix snapshot restoration in snapshot_create
If the new snapshot table could not be written in qcow2_snapshot_create,
the old snapshot table has to be restored in memory and the new one
released. This should include restoration of the old snapshot count as
well, which is added by this patch.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f9bff971436b5924ca3c3203c6a3dcd6437bd430
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:41:28 2013 +0200
qcow2: Remove wrong metadata overlap check
In qcow2_write_compressed, if the compression fails, a normal cluster is
written to disk. This is done through bdrv_write on the qcow2 BDS
itself (using the guest offset), thus it is wrong to do a metadata
overlap check before.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9e3f08923a14ba0655c6797edd9ffef44bb8cbf2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 14:40:48 2013 +0200
qcow2: Add missing space in error message
The error message in qcow2_downgrade about an unsupported refcount
order is missing a space. This patch adds it.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 89e911816a1d5cdbc9480d5464c571d216cf5ea8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Fri Sep 27 08:48:15 2013 -0400
block: qemu-iotests for vhdx, read sample dynamic image
This adds the VHDX format to the qemu-iotests format, and adds
a read test. The test reads from an existing sample image, that
was created with Hyper-V under Windwos Server 2012.
The image file is a 1GB dynamic image, with 32MB blocks.
The pattern 0xa5 exists from 0MB-33MB (past a block size boundary)
The pattern 0x96 exists from 33MB-66MB (past another block boundary,
and leaving a partial blank block)
From 66MB-1024MB, all reads should return 0.
Although 1GB dynamic image with 66MB of data, the bzip2'ed image
file size is only 874 bytes.
This also adds in the IMGFMT_GENERIC flag, so r/o images can be
tested (e.g. ./check -vhdx) without failing tests that assume
r/w support.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 13164591f30ad95ae24f9892cf2caf779271a29b
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 29 00:09:35 2013 +0300
ahci: set ahci mode on reset
ATM we set AHCI mode on 1st GHC write.
Spec says we should set it on reset.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 975a93c082452db9aa1397a797ca8f13ba367393
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 12:07:33 2013 +0200
qemu-iotests: Discard preallocated zero clusters
Add a new test case for discarding preallocated zero clusters; doing
this should not result in any leaks.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f6186f49e2c98d91f22027d8c62996df4fcf3f92
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Wed Oct 2 14:33:48 2013 +0200
block: Add BlockDriver.bdrv_check_ext_snapshot.
This field is used by blkverify to disable external snapshots creation.
It will also be used by block filters like quorum to disable external
snapshot creation.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 92bc50a5ad7fbc9a0bd17240eaea5027a100ca79
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Oct 8 14:43:14 2013 +0200
block/get_block_status: avoid redundant callouts on raw devices
if a raw device like an iscsi target or host device is used
the current implementation makes a second call out to get
the block status of bs->file.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 88fb15351284868b70fa1d5b101e809057fcc5aa
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:51:06 2013 +0200
qcow2: Assert against snapshot name/ID overflow
qcow2_write_snapshots relies on the length of every snapshot ID and name
fitting into an unsigned 16 bit integer. This is currently ensured by
QEMU through generally only allowing 128 byte IDs and 256 byte names.
However, if this should change in the future, the length written to the
image file should not be silently truncated (though the name itself
would be written completely).
Since this is currently not an issue but might require attention due to
internal QEMU changes in the future, an assert ensuring sanity is enough
for now.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9186ad9658cc597937fbc03ad66bceb3a0515d99
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:51:05 2013 +0200
qcow2: Free allocated snapshot table on error
If an error occurs during qcow2_write_snapshots, the newly allocated
snapshot table clusters are leaked and should thus be freed.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 37d41f0a04e5017d37906728a806d7944e867a2a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:51:04 2013 +0200
qcow2: Always use error path on writing snapshots
qcow2_write_snapshots does contain a fail label and there is no reason
not to use it on some errors; therefore, we should always jump there on
error.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8f730dd24edd2576ecbd596de7ea4361296b129c
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:44:28 2013 +0200
qcow2: Free preallocated zero clusters
In qcow2_free_any_clusters, preallocated zero clusters should be freed
just as normal clusters are.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 998b959c1e59044f5d5f64c482f4ce8facc8e0bc
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:42:56 2013 +0200
qcow2: Use pread for inactive L1 in overlap check
Currently, qcow2_check_metadata_overlap uses bdrv_read to read inactive
L1 tables from disk. The number of sectors to read is calculated through
a truncating integer division, therefore, if the L1 table size is not a
multiple of the sector size, the final entries will not be read and
their entries in memory remain undefined (from the g_malloc).
Using bdrv_pread fixes this.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f252080453ec081ba653bba4e0c1ca86c52cf19f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:34:10 2013 +0200
qcow2: Alignment of snapshot table entries
The qcow2 specification does not explicitly state so far that every
snapshot table entry is aligned to 8 bytes. QEMU, in contrast, does this
alignment, thus it should be properly documented (which this patch
does).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3677e6f6252542cbab85674d97d051d95e91693b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:20 2013 +0200
qemu-iotests: Additional info from qemu-img info
Add a test for the additional information now provided by qemu-img info
when used on qcow2 images. It also tests the qemu QMP output from the
query-block command when running qemu with different runtime options
than specified in the image (ImageInfoSpecific should always refer to
the image).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4c2e946500c45685fdec61b3d929311dc26a2ad5
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:19 2013 +0200
qemu-iotests: Discard specific info in _img_info
In _img_info, filter out additional information specific to the image
format provided by qemu-img info, since tests designed for multiple
image formats would produce different outputs for every image format
otherwise.
In a human-readable dump, that new information will always be last for
each "image information block" (multiple blocks are emitted when
inspecting the backing file chain). Every block is separated by an empty
line. Therefore, in this case, everything starting with the line "Format
specific information:" up to that empty line (or EOF, if it is the last
block) has to be stripped.
The JSON dump will always emit pretty JSON data. Therefore, the opening
and closing braces of every object will be on lines which are indented
by exactly the same amount, and all lines in between will have more
indentation. Thus, in this case, everything starting with a line
matching the regular expression /^ *"format-specific": {/ until /^ *},?/
has to be stripped, where the number of spaces at the beginning of the
respective lines is equal.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 37764dfb71c4d0d058b71ba33340c6beab7d5a66
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:18 2013 +0200
qcow2: Add support for ImageInfoSpecific
Add a new ImageInfoSpecificQCow2 type as a subtype of ImageInfoSpecific.
This contains the compatibility level as a string and an optional
lazy_refcounts boolean (optional means mandatory for compat >= 1.1 and
not available for compat == 0.10).
Also, add qcow2_get_specific_info, which returns this information.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a8d8ecb77fc16da49ea2c1edae267dc9d0c01dfd
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:17 2013 +0200
block/qapi: Human-readable ImageInfoSpecific dump
Add a function for generically dumping the ImageInfoSpecific information
in a human-readable format to block/qapi.c.
Use this function in bdrv_image_info_dump and qemu-io-cmds.c:info_f to
allow qemu-img info resp. qemu-io -c info to print that format specific
information.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit eae041fe6f4314962e873615134eefb32cf8ba61
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:16 2013 +0200
block: Add bdrv_get_specific_info
Add a function for retrieving an ImageInfoSpecific object from a block
driver.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f2bb8a8a47597634b74c161c44b9980c7f4e50ac
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 9 10:46:15 2013 +0200
qapi: Add ImageInfoSpecific type
Add a new type ImageInfoSpecific as a union for image format specific
information in ImageInfo.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 79e14bf7782d861d3d773a67680de07a8f354f4e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 8 17:29:40 2013 +0800
qapi: make use of new BlockJobType
Switch the string to enum type BlockJobType in BlockJobDriver.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2cb5b22286a7546226d9e9363aaee543fcba6b61
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 8 17:29:39 2013 +0800
qapi: Introduce enum BlockJobType
This will replace the open coded block job type string for mirror,
commit and backup.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3fc4b10af09b75a1cb811b61abc9d8c90771dfb2
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Oct 8 17:29:38 2013 +0800
blockjob: rename BlockJobType to BlockJobDriver
We will use BlockJobType as the enum type name of block jobs in QAPI,
rename current BlockJobType to BlockJobDriver, which will eventually
become a set of operations, similar to block drivers.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 867b3201a333e35a91bea9febc66cce689a765c4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 11:45:20 2013 -0700
exec: Add both big- and little-endian memory helpers
Step three in the transition: helpers not tied to the target
"default" endianness. To be used when the guest uses a memory
operation with non-default endianness.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f713d6ad7b9f52129695d5e3e63541abcd0375c0
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 4 08:11:05 2013 -0700
tcg: Add qemu_ld_st_i32/64
Step two in the transition, adding the new ldst opcodes. Keep the old
opcodes around until all backends support the new opcodes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 39c153b80f890dc5f02465dc59992e195abd5f40
Merge: e8f2f59 51fb256
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:16:25 2013 -0700
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* Fix for X86CPU model field of qemu32/qemu64 CPU models
* Bug fix for longjmp on FreeBSD
* Removal of unused function
* Confinement of clone syscall infrastructure to linux-user
# gpg: Signature made Wed 09 Oct 2013 03:40:51 AM PDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (2) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
cpu: Drop cpu_model_str from CPU_COMMON
cpu: Move cpu_copy() into linux-user
cputlb: Remove dead function tlb_update_dirty()
cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec()
target-i386: Set model=6 on qemu64 & qemu32 CPU models
commit e8f2f59aaf2978641b7e073ba623bd4b4a9e864d
Merge: 88b70e5 386a5a1
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:16:02 2013 -0700
Merge remote-tracking branch 'amit/char-remove-watch-on-unplug' into
staging
# By Amit Shah
# Via Amit Shah
* amit/char-remove-watch-on-unplug:
char: remove watch callback on chardev detach from frontend
char: use common function to disable callbacks on chardev close
char: move backends' io watch tag to CharDriverState
Message-id: 20131004154802.GA25646@xxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 88b70e56b969142c88f240434f392b9348600ef5
Merge: e572398 c236f45
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:15:46 2013 -0700
Merge remote-tracking branch 'otubo/seccomp' into staging
# By Eduardo Otubo
# Via Eduardo Otubo
* otubo/seccomp:
seccomp: fine tuning whitelist by adding times()
Message-id: 1380047458-21673-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit e572398de14c2173d5701d1f7771689764356b68
Merge: f2c6bcf ad98acb
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 13:00:03 2013 -0700
Merge remote-tracking branch 'mcayland/qemu-openbios' into staging
* mcayland/qemu-openbios:
Update OpenBIOS images
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 0106dc4f05231b44f54fae5d0ee42031298588bd
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Wed Oct 9 10:37:26 2013 +0800
qemu-ga: Extend 'guest-info' command to expose flag 'success-response'
Now we have several qemu-ga commands not returning response on success.
It has been documented in qga/qapi-schema.json already. This patch exposes
the 'success-response' flag by extending 'guest-info' command. With this
change, the clients can handle the command response more flexibly.
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
*fixed up commit subject
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 8dc4d915dd6ea347a47557f5aa75a648555fe253
Author: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Date: Wed Oct 9 11:25:07 2013 +0800
qemu-ga: Add interface to traverse the qmp command list by QmpCommand
In the original code, qmp_get_command_list is used to construct
a list of all commands' name. To get the information of all qga
commands, it traverses the name list and search the command info
with its name. So it can cause O(n^2) in the number of commands.
This patch adds an interface to traverse the qmp command list by
QmpCommand to replace qmp_get_command_list. It can decrease the
complexity from O(n^2) to O(n).
Signed-off-by: Mark Wu <wudxw@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
*fix up commit subject
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit e5d9adbdab972a2172815c1174aed3fabcc448f1
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Tue Oct 1 17:09:53 2013 -0400
qemu-ga: execute fsfreeze-freeze in reverse order of mounts
Currently, fsfreeze-freeze may cause deadlock if a guest has loopback
mounts
of image files in its disk; e.g.:
# mount | grep ^/
/dev/vda1 / type ext4 (rw,noatime,seclabel,data=ordered)
/tmp/disk.img on /mnt type ext4 (rw,relatime,seclabel)
To avoid the deadlock, this freezes filesystems in reverse order of
mounts.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
*fix up commit msg
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6c5f4ead649dd876c5762c468b205563288d5ecd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 13:52:19 2013 -0700
tcg: Add TCGMemOp
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ec9135cd6e5e448a3a5c1d75cac611c655ebb3d5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 3 14:58:00 2013 -0500
configure: Remove CONFIG_QEMU_LDST_OPTIMIZATION
No longer used.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9ecefc84dd12af07394575a75f0689dc748eea78
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 3 14:51:24 2013 -0500
tcg: Add tcg-be-ldst.h
Move TCGLabelQemuLdst and related stuff out of tcg.h.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3cf246f0d402fdb80bfa2b3c0a20131f394c349d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Oct 3 14:04:46 2013 -0500
tcg: Add tcg-be-null.h
This is a no-op backend data implementation, for those targets that
are not currently using the load/store optimization path.
This is prepatory to always requiring these functions in all backends.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit dbdbe0cd3124a3e9afa2d1c11da7c6476097bb9d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Sep 3 14:24:58 2013 -0700
exec: Delete is_tcg_gen_code and GETRA_EXT
All implementations now boil down to GETRA.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 023261ef851b22a04f6c5d76da870051031757a6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Oct 1 13:47:38 2013 -0700
tcg-aarch64: Update to helper_ret_*_mmu routines
A minimal update to use the new helpers with the return address argument.
Tested-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Reviewed-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 84fd9dd3f78ced9d41e1160d43862bb620cb462a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 16:44:31 2013 -0700
tcg: Merge tcg_register_helper into tcg_context_init
Eliminates the repeated checks for having created
the s->helpers hash table.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4953ee62711bd11a55e58b26c8c71b302198363c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 16:06:50 2013 -0700
tcg: Add tcg-runtime.c helpers to all_helpers
For the few targets that actually use these, we'd not report
them symbolicly in the tcg opcode logs.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 100b5e0170e86661aaf830869be930a1a201ed08
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 15:57:22 2013 -0700
tcg: Put target helper data into an array.
One call inside of a loop to tcg_register_helper instead of hundreds
of sequential calls.
Presumably more icache and branch prediction friendly; resulting binary
size mostly unchanged on x86_64, as we're trading 32-bit rip-relative
references in .text for full 64-bit pointers in .rodata.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f5daeec412b9624ba902bdba26edff88a1694ea6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 15:38:30 2013 -0700
tcg: Remove stray semi-colons from target-*/helper.h
During GEN_HELPER=1, these are actually stray top-level semi-colons
which are technically invalid ISO C, but GCC accepts as an extension.
If we added enough __extension__ markers that we could dare use
-Wpedantic, we'd see
warning: ISO C does not allow extra â??;â?? outside of a function
This will become a hard error in the next patch, wherein those ; will
appear in the middle of a data structure.
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5cd8f6210f83db15702e81b91e40e7079608e6f3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 15:09:39 2013 -0700
tcg: Move helper registration into tcg_context_init
No longer needs to be done on a per-target basis.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e5e84d22a3c31a674f9bb1d9ffcb92c111e13421
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 14:41:34 2013 -0700
target-m68k: Rename helpers.h to helper.h
This brings the m68k target in line with all other targets.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6e085f72c6d331fb0e9fc69e3061cd1e5893d9e4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 14:37:06 2013 -0700
tcg: Use a GHashTable for tcg_find_helper
Slightly changes the interface, in that we now return name
instead of a TCGHelperInfo structure, which goes away.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 7c57df0d852a9a9faf9068ff235886c8b28b113e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Sep 14 14:29:35 2013 -0700
tcg: Delete tcg_helper_get_name declaration
The function was deleted in 4dc81f2822187f4503d4bdb76785cafa5b28db0b.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 802b5081233a6b643a8b135a5facaf14bafaa77d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Sep 25 12:11:31 2013 -0700
tcg-hppa: Remove tcg backend
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2c6bcfc2e15e1dc5c69c3e579ff2063068ecb85
Merge: 634ebf4 33876df
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 10:03:38 2013 -0700
Merge remote-tracking branch 'sstabellini/xen-2013-10-10' into staging
# By Matthew Daley (1) and Roger Pau Monné (1)
# Via Stefano Stabellini
* sstabellini/xen-2013-10-10:
qemu/xen: make use of xenstore relative paths
xen_disk: mark ioreq as mapped before unmapping in error case
commit 634ebf4b177723f2cf329a719f31913cf9ce5de6
Merge: c4ca690 8464243
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 10:03:00 2013 -0700
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Asias He (1) and Peter Lieven (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
scsi: Allocate SCSITargetReq r->buf dynamically [CVE-2013-4344]
block/iscsi: reenable iscsi_co_get_block_status
Message-id: 1381332391-8781-1-git-send-email-pbonzini@xxxxxxxxxx
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit c4ca6901582c00a2d13368520779e4948b184071
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Oct 10 09:56:25 2013 -0700
Update email address
Amazon is now funding my work as QEMU maintainer so update addresses
accordingly.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit 33876dfad64bc481f59c5e9ccf60db78624c4b93
Author: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Date: Thu Oct 10 14:25:52 2013 +0000
qemu/xen: make use of xenstore relative paths
Qemu has several hardcoded xenstore paths that are only valid on Dom0.
Attempts to launch a Qemu instance (to act as a userspace backend for
PV disks) will fail because Qemu is not able to access those paths
when running on a domain different than Dom0.
Instead make the xenstore paths relative to the domain where Qemu is
actually running.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>
commit a76f48e53382e6f039db6278443e3ce437653302
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 846424350b292f16b732b573273a5c1f195cd7a3
Author: Asias He <asias@xxxxxxxxxx>
Date: Wed Oct 9 15:41:03 2013 +0800
scsi: Allocate SCSITargetReq r->buf dynamically [CVE-2013-4344]
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>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit a107170537abdfec7221c1e0d424c82f5faf2ebe
Merge: 80dfc87 d4cea8d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:54:42 2013 -0700
Merge remote-tracking branch 'stefanha/block' into staging
# By Max Reitz (5) and others
# Via Stefan Hajnoczi
* stefanha/block:
block: use correct filename
qemu-iotests: Correct 026 output
qcow2: Free allocated L2 cluster on error
qcow2: Switch L1 table in a single sequence
block: vhdx - add migration blocker
block: use correct filename for error report
qcow2: CHECK_OFLAG_COPIED is obsolete
qcow2: Correct endianness in overlap check
Message-id: 1381145289-6591-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 80dfc87394ed10f47918299a5192f337a85333d8
Merge: 576e81b 387eede
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:54:20 2013 -0700
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (5) and others
# Via Michael Tokarev
* mjt/trivial-patches:
migration: Fix compiler warning ('caps' may be used uninitialized)
util/path: Fix type which is longer than 8 bit for MinGW
hw/9pfs: Fix errno value for xattr functions
vl: Clean up unnecessary boot_order complications
qemu-char: Fix potential out of bounds access to local arrays
pci-ohci: Add missing 'break' in ohci_service_td
sh4: Fix serial line access for Linux kernels later than 3.2
hw/alpha: Fix compiler warning (integer constant is too large)
target-i386: Fix compiler warning (integer constant is too large)
block: Remove unused assignment (fixes warning from clang)
exec: cleanup DEBUG_SUBPAGE
tests: Fix schema parser test for in-tree build
tests: Update .gitignore for test-int128 and test-bitops
.gitignore: ignore tests/qemu-iotests/socket_scm_helper
Message-id: 1381051979-25742-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 576e81be39ee195b9fd7c948fed16ed6846cef3a
Merge: 9e8f8b1 ee06e23
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:52:57 2013 -0700
Merge remote-tracking branch 'rth/tcg-arm-pull' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/tcg-arm-pull:
tcg-arm: Move the tlb addend load earlier
tcg-arm: Remove restriction on qemu_ld output register
tcg-arm: Return register containing tlb addend
tcg-arm: Move load of tlb addend into tcg_out_tlb_read
tcg-arm: Use QEMU_BUILD_BUG_ON to verify constraints on tlb
tcg-arm: Use strd for tcg_out_arg_reg64
tcg-arm: Rearrange slow-path qemu_ld/st
tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64
Message-id: 1380663109-14434-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9e8f8b1cd8e1b85dc93c367c4745f9944079a37b
Merge: dfe2279 04fd1c7
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:52:21 2013 -0700
Merge remote-tracking branch 'sweil/mingw' into staging
# By Sebastian Ottlik
# Via Stefan Weil
* sweil/mingw:
util: call socket_set_fast_reuse instead of setting SO_REUSEADDR
slirp: call socket_set_fast_reuse instead of setting SO_REUSEADDR
net: call socket_set_fast_reuse instead of setting SO_REUSEADDR
gdbstub: call socket_set_fast_reuse instead of setting SO_REUSEADDR
util: add socket_set_fast_reuse function which will replace setting
SO_REUSEADDR
Message-id: 1380735690-24009-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit dfe22799751818115ed6d36bedc8a55b2026de3a
Merge: ce079ab ee6ee83
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:52:11 2013 -0700
Merge remote-tracking branch 'kraxel/chardev.8' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.8:
chardev: handle qmp_chardev_add(KIND_MUX) failure
Message-id: 1380708925-6721-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit ce079abb410d685d48c1285bc6749d9b23c78c5c
Merge: 0e19885 3df2b8f
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 9 07:50:37 2013 -0700
Merge remote-tracking branch 'sweil/tci' into staging
# By Stefan Weil
# Via Stefan Weil
* sweil/tci:
misc: Use new rotate functions
bitops: Add rotate functions (rol8, ror8, ...)
tci: Add implementation of rotl_i64, rotr_i64
Message-id: 1380137693-3729-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 24c7608a5d973e5d562715998e9887f74deac794
Author: Peter Lieven <pl@xxxxxxx>
Date: Wed Oct 2 13:52:08 2013 +0200
block/iscsi: reenable iscsi_co_get_block_status
Commit f35c934a accidently disabled iscsi_co_get_block_status for all
libiscsi versions. Its not possible to check for enumeration constants
in the C preprocessor. This patch changes the check to the preprocessor
constant LIBISCSI_FEATURE_IOVECTOR which was introduced shortly after
get_lba_status support was added to libiscsi.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit d4cea8dfb99153803164915c7a1109549ad3da9c
Author: Dunrong Huang <riegamaths@xxxxxxxxx>
Date: Thu Oct 3 01:31:27 2013 +0800
block: use correct filename
The content filename point to may be erased by qemu_opts_absorb_qdict()
in raw_open_common() in drv->bdrv_file_open()
So it's better to use bs->filename.
Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5c1fa87708d5f226bfd96e8eef8c905fb6895ae3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Oct 2 16:45:31 2013 +0200
qemu-iotests: Correct 026 output
Because l2_allocate now frees the unused L2 cluster on error, the
according test cases in 026 don't result in one leaked cluster anymore.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e3b21ef9e016e6d91fd71e44af5e23fb359e18f9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 16:37:19 2013 +0200
qcow2: Free allocated L2 cluster on error
If an error occurs in l2_allocate, the allocated (but unused) L2 cluster
should be freed.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 51fb256ab5ebc3e1879eb1df9c828866a2ef8141
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 18:26:11 2013 +0200
cpu: Drop cpu_model_str from CPU_COMMON
Since this is only read in cpu_copy() and linux-user has a global
cpu_model, drop the field from generic code.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 30ba0ee52d1519b717089782ef1caf0480a01dc3
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Tue Jul 2 17:43:21 2013 +0200
cpu: Move cpu_copy() into linux-user
It is only used there and is deemed very fragile if not incorrect in its
current memcpy() form. Moving it into linux-user will allow to move
parts into target_cpu.h headers and only copy what the ABI mandates.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 812586405c5d165aae791d3806a9bbb8312ec2ac
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Tue Sep 3 15:05:17 2013 +0800
cputlb: Remove dead function tlb_update_dirty()
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 6c78f29a2424622bfc9c30dfbbc13404481eacb6
Author: Juergen Lock <qemu-l@xxxxxxxxxxxxxxxxxx>
Date: Thu Oct 3 16:09:37 2013 +0200
cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec()
Local variable CPUClass *cc needs to be reloaded after return from
longjmp,
too. (This fixes a mips-softmmu crash observed on FreeBSD when QEMU is
built with clang.)
Reported-by: Dimitry Andric <dim@xxxxxxxxxxx>
Signed-off-by: Juergen Lock <nox@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 387eedebf60a463ba30833588f10123da296ba4d
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Oct 5 13:18:28 2013 +0400
migration: Fix compiler warning ('caps' may be used uninitialized)
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
commit ddd23638d7eebd7419148ba8db65f0d53a1920ab
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Oct 2 22:40:29 2013 +0200
util/path: Fix type which is longer than 8 bit for MinGW
While dirent->d_type is 8 bit for most systems, it is 32 bit for MinGW.
Reducing it to 8 bit results in a compiler warning because the macro
is_dir_maybe compares that 8 bit value with 32 bit constants.
Using 'unsigned' instead of 'unsigned char' matches the declaration for
MinGW and does not harm the other systems.
MinGW-w64 is not affected: it does not declare d_type.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8af00205445eb901f17ca5b632d976065187538e
Author: Daniel P. Berrange <berrange@xxxxxxxxxx>
Date: Tue Oct 1 12:28:17 2013 +0100
hw/9pfs: Fix errno value for xattr functions
If there is no operation driver for the xattr type the
functions return '-1' and set errno to '-EOPNOTSUPP'.
When the calling code sets 'ret = -errno' this turns
into a large positive number.
In Linux 3.11, the kernel has switched to using 9p
version 9p2000.L, instead of 9p2000.u, which enables
support for xattr operations. This on its own is harmless,
but for another change which makes it request the xattr
with a name 'security.capability'.
The result is that the guest sees a succesful return
of 95 bytes of data, instead of a failure with errno
set to 95. Since the kernel expects a maximum of 20
bytes for an xattr return this gets translated to the
unexpected errno ERANGE.
This all means that when running a binary off a 9p fs
in 3.11 kernels you get a fun result of:
# ./date
sh: ./date: Numerical result out of range
The only workaround is to pass 'version=9p2000.u' when
mounting the 9p fs in the guest, to disable all use of
xattrs.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e3fdc535f25b471e55ac3c8b9f0b504957015bbe
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Oct 1 13:47:22 2013 +0200
vl: Clean up unnecessary boot_order complications
Messed up in commit 8281abd.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 49aa4058ac6dd0081aaa45776f07c98df397ca5e
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Mon Sep 30 23:04:49 2013 +0200
qemu-char: Fix potential out of bounds access to local arrays
Latest gcc-4.8 supports a new option -fsanitize=address which activates
an AddressSanitizer. This AddressSanitizer stops the QEMU system emulation
very early because two character arrays of size 8 are potentially written
with 9 bytes.
Commit 6ea314d91439741e95772dfbab98b4135e04bebb added the code.
There is no obvious reason why width or height could need 8 characters,
so reduce it to 7 characters which together with the terminating '\0'
fit into the arrays.
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Alex Bennée <alex@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit b1c50c5f248805be747e96e89efbe784ee99f764
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Oct 4 12:50:51 2013 -0600
vfio-pci: Fix endian issues in vfio_pci_size_rom()
VFIO is always little endian so do byte swapping of our mask on the
way in and byte swapping of the size on the way out.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reported-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
commit 64fa25a0efcadda6e8197e8ea578f6117d01bb4b
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Fri Oct 4 08:51:36 2013 -0600
vfio-pci: Add dummy PCI ROM write accessor
Just to be sure we don't jump off any NULL pointer cliffs.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7174e54cf14290233f4ae3e989ebc7b507636e77
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Mon Sep 30 12:35:13 2013 +0200
kvmvapic: Prevent reading beyond the end of guest RAM
rom_state_paddr is guest provided (caller address of outw(VAPIC_PORT) +
writen 16-bit value) and can be influenced to point beyond the end of
the host memory backing the guest's RAM. Make sure we do not use this
pointer to actually read beyond the limits.
Reading arbitrary guest bytes is harmless, the guest kernel has to
manage access to this I/O port anyway.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 1d5bf692e55ae22b59083741d521e27db704846d
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Oct 3 09:10:09 2013 -0600
vfio: Fix debug output for int128 values
Memory regions can easily be 2^64 byte long and therefore overflow
for just a bit but that is enough for int128_get64() to assert.
This takes care of debug printing of huge section sizes.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 6ef8263ead779e1eecfaf1e0388f4c3941ea7ec3
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Thu Oct 3 16:16:14 2013 +0800
target-openrisc: Removes a non-conforming behavior for the first page of
the memory
Where *software* leaves 0x0000 - 0x2000 unmapped, the hardware should
still allow for this area to be mapped.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Signed-off-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
commit bf961b52785061e1802214c9e03a1c65b261f7c1
Author: Sebastian Macke <sebastian@xxxxxxxx>
Date: Thu Oct 3 16:04:46 2013 +0800
target-openrisc: Correct handling of page faults.
The result of (rw & 0) is always zero and therefore a logic false.
The whole comparison will therefore never be executed, it is a obvious
bug,
we should use !(rw & 1) here.
Signed-off-by: Sebastian Macke <sebastian@xxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
commit ad98acb9b1d610c4d243f53d9fb380e500d4abbe
Author: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
Date: Thu Oct 3 00:04:20 2013 +0100
Update OpenBIOS images
Update OpenBIOS images to SVN r1229 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>
commit f16f39c3fc973c5d7cbc2224eefb4ef5eb1e64ff
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 13:51:00 2013 -0600
vfio-pci: Implement PCI hot reset
Now that VFIO has a PCI hot reset interface, take advantage of it.
There are two modes that we need to consider. The first is when only
one device within the set of devices affected is actually assigned to
the guest. In this case the other devices are are just held by VFIO
for isolation and we can pretend they're not there, doing an entire
bus reset whenever the device reset callback is triggered. Supporting
this case separately allows us to do the best reset we can do of the
device even if the device is hotplugged.
The second mode is when multiple affected devices are all exposed to
the guest. In this case we can only do a hot reset when the entire
system is being reset. However, this also allows us to track which
individual devices are affected by a reset and only do them once.
We split our reset function into pre- and post-reset helper functions
prioritize the types of device resets available to us, and create
separate _one vs _multi reset interfaces to handle the distinct cases
above.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 4b351a0f212769deda960da44e299f44d5da0737
Author: Ján Veselý <jano.vesely@xxxxxxxxx>
Date: Sat Sep 21 16:26:41 2013 -0400
pci-ohci: Add missing 'break' in ohci_service_td
Device communication errors need to be reported to driver.
Add a debug message while at it.
Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx>
Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 84faf7c3927ca7f3013362e38c58c02a7e733c0c
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Sun Sep 8 00:39:05 2013 -0700
sh4: Fix serial line access for Linux kernels later than 3.2
With Linux kernel version 3.3 or later, qemu fails with the following
message:
sh_serial: unsupported read from 0x18
Aborted
Reported-and-analyzed-by: Rob Landley <rob@xxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 9b2caaf40bd667492b4e6228dd3d1f5e44083456
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 29 17:51:20 2013 +0200
hw/alpha: Fix compiler warning (integer constant is too large)
From buildbot default_i386_rhel61:
CC alpha-softmmu/hw/alpha/typhoon.o
hw/alpha/typhoon.c: In function 'typhoon_translate_iommu':
hw/alpha/typhoon.c:703: warning: integer constant is too large for 'long'
type
hw/alpha/typhoon.c:703: warning: integer constant is too large for 'long'
type
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 00fdef658675ac2d019005769c426c275bceec6f
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 29 17:55:56 2013 +0200
target-i386: Fix compiler warning (integer constant is too large)
From buildbot default_i386_rhel61:
CC i386-softmmu/target-i386/arch_memory_mapping.o
target-i386/arch_memory_mapping.c: In function 'walk_pde':
target-i386/arch_memory_mapping.c:110: warning:
integer constant is too large for 'long' type
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 3a6f2703268c99f2f2f0a93f2fbacec7b039fd36
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Sep 28 11:55:14 2013 +0200
block: Remove unused assignment (fixes warning from clang)
blockdev.c:1929:13: warning: Value stored to 'ret' is never read
ret = 0;
^ ~
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 016e9d62fe66d40eff09d069714f3ccfd2066d79
Author: Amos Kong <akong@xxxxxxxxxx>
Date: Fri Sep 27 09:25:38 2013 +0800
exec: cleanup DEBUG_SUBPAGE
Touched some error after enabling DEBUG_SUBPAGE.
Signed-off-by: Amos Kong <akong@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d8039e58b1ecfdc9af171502c83e3949f6dafb95
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Sep 24 09:43:39 2013 +0200
tests: Fix schema parser test for in-tree build
Commit 4f193e3 added the test, but screwed up in-tree builds
(SRCDIR=.): the tests's output overwrites the expected output, and is
thus compared to itself.
Cc: qemu-stable@xxxxxxxxxx
Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8fbf47c3a8a7f37a11268a07290d20a325ba4cb6
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Cleanup error_reports
Remove carriage returns and tweak formatting for error_reports.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 6f864e6ec8812d5a5525a7861ca599c6bcabdebe
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Lazy PCI option ROM loading
During vfio-pci initfn, the device is not always in a state where the
option ROM can be read. In the case of graphics cards, there's often
no per function reset, which means we have host driver state affecting
whether the option ROM is usable. Ideally we want to move reading the
option ROM past any co-assigned device resets to the point where the
guest first tries to read the ROM itself.
To accomplish this, we switch the memory region for the option rom to
an I/O region rather than a memory mapped region. This has the side
benefit that we don't waste KVM memory slots for a BAR where we don't
care about performance. This also allows us to delay loading the ROM
from the device until the first read by the guest. We then use the
PCI config space size of the ROM BAR when setting up the BAR through
QEMU PCI.
Another benefit of this approach is that previously when a user set
the ROM to a file using the romfile= option, we still probed VFIO for
the parameters of the ROM, which can result in dmesg errors about an
invalid ROM. We now only probe VFIO to get the ROM contents if the
guest actually tries to read the ROM.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit befe5176ef7a0004ba23517c97c804e292273635
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Test device reset capabilities
Not all resets are created equal. PM reset is not very reliable,
especially for GPUs, so we might want to opt for a bus reset if a
standard reset will only do a D3hot->D0 transition. We can also
use this to tell if the standard reset will do a bus reset (if
neither has_pm_reset or has_flr is probed, but the device still
supports reset).
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit c7679d450ee021eb0826be65e4e018884443643a
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Wed Oct 2 12:52:38 2013 -0600
vfio-pci: Add support for MSI affinity
When MSI is accelerated through KVM the vectors are only programmed
when the guest first enables MSI support. Subsequent writes to the
vector address or data fields are ignored. Unfortunately that means
we're ignore updates done to adjust SMP affinity of the vectors.
MSI SMP affinity already works in non-KVM mode because the address
and data fields are read from their backing store on each interrupt.
This patch stores the MSIMessage programmed into KVM so that we can
determine when changes are made and update the routes.
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
commit 04fd1c789677fe121cb9546c652d088c994477fb
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:16 2013 +0200
util: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit aad1239a7e15f42c0b8a802433582c48417a4541
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:15 2013 +0200
slirp: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit bcbe92fb080420551125994f3b15c139019da694
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:14 2013 +0200
net: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
An exception to this rule are multicast sockets where it is sensible to
have
multiple sockets listen on the same ip and port and we should set
SO_REUSEADDR
on windows.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 6669ca13c39a8515cc634695698d3dea5f39be1c
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:13 2013 +0200
gdbstub: call socket_set_fast_reuse instead of setting SO_REUSEADDR
SO_REUSEADDR should be avoided on Windows but is desired on other
operating
systems. So instead of setting it we call socket_set_fast_reuse that will
result
in the appropriate behaviour on all operating systems.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 606600a176c981addcfedb0698f13fd0f2f4446e
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Wed Oct 2 12:23:12 2013 +0200
util: add socket_set_fast_reuse function which will replace setting
SO_REUSEADDR
If a socket is closed it remains in TIME_WAIT state for some time. On
operating
systems using BSD sockets the endpoint of the socket may not be reused
while in
this state unless SO_REUSEADDR was set on the socket. On windows on the
other
hand the default behaviour is to allow reuse (i.e. identical to
SO_REUSEADDR on
other operating systems) and setting SO_REUSEADDR on a socket allows it
to be
bound to a endpoint even if the endpoint is already used by another socket
independently of the other sockets state. This can even result in
undefined
behaviour.
Many sockets used by QEMU should not block the use of their endpoint
after being
closed while they are still in TIME_WAIT state. Currently QEMU sets
SO_REUSEADDR
for such sockets, which can lead to problems on Windows. This patch
introduces
the function socket_set_fast_reuse that should be used instead of setting
SO_REUSEADDR when fast socket reuse is desired and behaves correctly on
all
operating systems.
As a failure of this function can only be caused by bad QEMU internal
errors, an
assertion handles these situations. The return value is still passed on,
to
minimize changes in client code and prevent unused variable warnings if
NDEBUG
is defined.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 0e19885e736938c3f6bd8c139eca00728bb24384
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Oct 2 12:09:12 2013 -0500
Update MAINTAINERS
All of Paul's emails are bouncing and he hasn't been active for
some time.
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 2560f19f426aceb4f2e809d860b93e7573cb1c4e
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Oct 2 17:54:57 2013 +0200
x86: cpuid: reconstruct leaf 0Dh data
The data in leaf 0Dh depends on information from other feature bits.
Instead of passing it blindly from the host, compute it based on
whether these feature bits are enabled.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit c74f41bbcc83d12787ac42f2c74fc2be54e9f222
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Sep 13 15:55:57 2013 +0200
x86: fix migration from pre-version 12
On KVM, the KVM_SET_XSAVE would be executed with a 0 xstate_bv,
and not restore anything.
Since FP and SSE data are always valid, set them in xstate_bv at reset
time. In fact, that value is the same that KVM_GET_XSAVE returns on
pre-XSAVE hosts.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit f8e6a11aecc96e9d8a84f17d7c07019471714e20
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Sep 10 17:48:59 2013 -0300
target-i386: Set model=6 on qemu64 & qemu32 CPU models
There's no Intel CPU with family=6,model=2, and Linux and Windows guests
disable SEP when seeing that combination due to Pentium Pro erratum #82.
In addition to just having SEP ignored by guests, Skype (and maybe other
applications) runs sysenter directly without passing through ntdll on
Windows, and crashes because Windows ignored the SEP CPUID bit.
So, having model > 2 is a better default on qemu64 and qemu32 for two
reasons: making SEP really available for guests, and avoiding crashing
applications that work on bare metal.
model=3 would fix the problem, but it causes CPU enumeration problems
for Windows guests[1]. So let's set model=6, that matches "Athlon
(PM core)" on AMD and "P2 with on-die L2 cache" on Intel and it allows
Windows to use all CPUs as well as fixing sysenter.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=508623
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fda74f826baec78d685e5a87fd8a95bfb7bb2243
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 30 17:57:21 2013 +0200
qcow2: Switch L1 table in a single sequence
Switching the L1 table in memory should be an atomic operation, as far
as possible. Calling qcow2_free_clusters on the old L1 table on disk is
not a good idea when the old L1 table is no longer valid and the address
to the new one hasn't yet been written into the corresponding
BDRVQcowState field. To be more specific, this can lead to segfaults due
to qcow2_check_metadata_overlap trying to access the L1 table during the
free operation.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5641bf405608cc89578fafed8ec689a19046285a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Tue Oct 1 11:59:20 2013 -0400
block: vhdx - add migration blocker
This blocks migration for VHDX image files, until the
functionality can be supported.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2fa9aa59cfc472c16309c4e84547aa873423b2f5
Author: Dunrong Huang <riegamaths@xxxxxxxxx>
Date: Tue Sep 24 18:14:01 2013 +0800
block: use correct filename for error report
The content filename point to will be erased by qemu_opts_absorb_qdict()
in raw_open_common() in drv->bdrv_file_open()
So it's better to use bs->filename.
Signed-off-by: Dunrong Huang <riegamaths@xxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit db0749012b3d1cf655bddb3cc79052a0fd4dc97b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 30 09:21:07 2013 +0200
qcow2: CHECK_OFLAG_COPIED is obsolete
CHECK_OFLAG_COPIED as a parameter to check_refcounts_l1 and
check_refcounts_l2 is obselete now, since the OFLAG_COPIED consistency
check is actually no longer performed by these functions (but by
check_oflag_copied).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e242b5544a48bc43eca9c637dc91ec06bcf3a31
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 30 08:59:28 2013 +0200
qcow2: Correct endianness in overlap check
If an inactive L1 table is loaded from disk, its entries are in big
endian and have to be converted to host byte order before using them.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ee06e23051251c00778edf54fb930198df0e873a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 09:48:56 2013 -0700
tcg-arm: Move the tlb addend load earlier
There are free scheduling slots between the sequence of
comparison instructions. This requires changing the
register in use to avoid conflict with those compares.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 66c2056fb83b873df0a3a4bda3a679bf53d082a2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 09:12:32 2013 -0700
tcg-arm: Remove restriction on qemu_ld output register
The main intent of the patch is to allow the tlb addend register
to be changed, without tying that change to the constraint. But
the most common side-effect seems to be to enable usage of ldrd
with the r0,r1 pair.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3e440bef2783b7b2ebc210a0717c36351506b8c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 08:45:53 2013 -0700
tcg-arm: Return register containing tlb addend
Preparatory to rescheduling the tlb load, and changing said register.
Continues to use R1 for now.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d0ebde228415c6d89ad61270a461717fbb04915c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 08:16:00 2013 -0700
tcg-arm: Move load of tlb addend into tcg_out_tlb_read
This allows us to make more intelligent decisions about the relative
offsets of the tlb comparator and the addend, avoiding any need of
writeback addressing.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2488736371ae902f345cf9270d141f0a6797731
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 14:40:52 2013 -0700
tcg-arm: Use QEMU_BUILD_BUG_ON to verify constraints on tlb
One of the two constraints we already checked via #if, but
the tlb offset distance was only checked at runtime.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e5e2e4a74b75b41f72e1e3b3bac8c2a6b02896c2
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 11:16:16 2013 -0700
tcg-arm: Use strd for tcg_out_arg_reg64
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d9f4dde4a6d34f14509664edc262016f21be5aac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Jul 27 14:09:47 2013 -1000
tcg-arm: Rearrange slow-path qemu_ld/st
Use the new helper_ret_*_mmu routines. Use a conditional call
to arrange for a tail-call from the store path, and to load the
return address for the helper for the load path.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 23bbc25085ceac827e1da9bebead058f436f66a6
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Jul 27 08:42:51 2013 -1000
tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9dbb52e862458935c250bac9e71d5a87da4e33e9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Tue Sep 24 09:43:40 2013 +0200
tests: Update .gitignore for test-int128 and test-bitops
Forgotten in commit 6046c62 and 3464700.
Cc: qemu-stable@xxxxxxxxxx
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit d1c295f5721f206d55315405baa2c299acec7d76
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Sun Sep 22 20:49:19 2013 +0800
.gitignore: ignore tests/qemu-iotests/socket_scm_helper
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Wenchao Xia<xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ee6ee83de29923483b4905b35f18abf5333f6ea9
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 13 12:48:47 2013 +0200
chardev: handle qmp_chardev_add(KIND_MUX) failure
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit a684f3cf9b9b9c3cb82be87aafc463de8974610c
Merge: 349cd52 1cf9412
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:15:27 2013 -0500
Merge remote-tracking branch 'kraxel/seabios-1.7.3.2' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/seabios-1.7.3.2:
update seabios from 1.7.2.2 to 1.7.3.2
Message-id: 1380533055-24960-1-git-send-email-kraxel@xxxxxxxxxx
commit 349cd52c708eb7974d4517f40151685e09a069f6
Merge: eb322b8 774e80e
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:15:18 2013 -0500
Merge remote-tracking branch 'kraxel/roms.1' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/roms.1:
roms: add support for building sgabios
roms: enable parallel seabios / seavgabios builds
roms: enable ipxe cross builds
roms: add rules to build slof
roms: rewrite scripts/refresh-pxe-roms.sh
roms: parallel ipxe builds
roms: build lgplvgabios isavga variant
roms: enable parallel builds for 'make lgplvgabios'
roms: add 'make clean'
Message-id: 1380532378-22138-1-git-send-email-kraxel@xxxxxxxxxx
commit eb322b8155120166fa259a8e96040f76ba4fde64
Merge: 4235d77 e26d3e7
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:15:01 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups and enhancements,
and a virtio-net bugfix related to softmac programming.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 29 Sep 2013 01:51:16 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (8) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
smbios: Factor out smbios_maybe_add_str()
smbios: Make multiple -smbios type= accumulate sanely
smbios: Improve diagnostics for conflicting entries
smbios: Convert to QemuOpts
smbios: Normalize smbios_entry_add()'s error handling to exit(1)
virtio-net: fix up HMP NIC info string on reset
pci: remove explicit check to 64K ioport size
piix4: disable io on reset
piix: use 64 bit window programmed by guest
q35: use 64 bit window programmed by guest
pci: add helper to retrieve the 64-bit range
range: add min/max operations on ranges
range: add Range to typedefs
q35: make pci window address/size match guest cfg
Message-id: 1380437951-21788-1-git-send-email-mst@xxxxxxxxxx
commit 4235d77349e93e7157555f20f1892088f55edff4
Merge: 3469a60 6165300
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:14:49 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (10) and others
# Via Kevin Wolf
* kwolf/for-anthony: (30 commits)
qcow2: Remove useless count_contiguous_clusters() parameter
qcow2: COMPRESSED on count_contiguous_clusters
qcow2: count_contiguous_clusters and compression
qcow2: Free only newly allocated clusters on error
qcow2: Always use error path in l2_allocate
qcow2: Don't put invalid L2 table into cache
qemu-iotests: Preallocated zero clusters in 061
qcow2: Correct bitmap size in zero expansion
qemu-iotests: Quote $TEST_IMG* and $TEST_DIR usage
qemu-iotests: Add basic ability to use binary sample images
qemu-iotests: fix qmp.py search path
block: use DIV_ROUND_UP in bdrv_co_do_readv
qcow2: Assert against currently impossible overflow
block: qed - use QEMU_PACKED for on-disk structures
block: qcow2 - used QEMU_PACKED for on-disk structures
block: vpc - use QEMU_PACKED for on-disk structures
block: vdi - use QEMU_PACKED for on-disk structures
rbd: avoid qemu_rbd_snap_list() memory leaks
qdict: Extract qdict_extract_subqdict
block: Fix compiler warning (-Werror=uninitialized)
...
Message-id: 1380296370-14523-1-git-send-email-kwolf@xxxxxxxxxx
commit 3469a60d9f6f7ba6fca3fe0788391f7285ead631
Merge: 28b9d47 594278d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:14:10 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-09-25' into staging
# By Anthony PERARD (2) and Liu, Jinsong (2)
# Via Stefano Stabellini
* sstabellini/xen-2013-09-25:
xen: Enable cpu-hotplug on xenfv machine.
xen: Fix vcpu initialization.
qemu: Add qemu xen logic for Xen HVM S3 resume
qemu: Adjust qemu wakeup
Message-id: alpine.DEB.2.02.1309251749180.5498@xxxxxxxxxxxxxxxxxxxxxxx
commit 28b9d47db61a96d2630c7ffa6cbfdcdd1536f7cb
Merge: 8429d63 7f12d64
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:14:01 2013 -0500
Merge remote-tracking branch 'rth/tcg-ppc-pull' into staging
# By Richard Henderson (19) and Paolo Bonzini (2)
# Via Richard Henderson
* rth/tcg-ppc-pull: (21 commits)
tcg-ppc64: Implement CONFIG_QEMU_LDST_OPTIMIZATION
tcg-ppc64: Add _noaddr functions for emitting forward branches
tcg-ppc64: Streamline tcg_out_tlb_read
tcg-ppc64: Implement tcg_register_jit
tcg-ppc64: Handle long offsets better
tcg-ppc64: Tidy register allocation order
tcg-ppc64: Look through a constant function descriptor
tcg-ppc64: Fold constant call address into descriptor load
tcg-ppc64: Don't load the static chain from TCG
tcg-ppc64: Avoid code for nop move
tcg-ppc64: Use tcg_out64
tcg-ppc64: Use TCG_REG_Rn constants
tcg-ppc64: More use of TAI and SAI helper macros
tcg-ppc64: Reformat tcg-target.c
tcg-ppc: Fix and cleanup tcg_out_tlb_check
tcg-ppc: Use conditional branch and link to slow path
tcg-ppc: Cleanup tcg_out_qemu_ld/st_slow_path
tcg-ppc: Avoid code for nop move
tcg-ppc: use new return-argument ld/st helpers
tcg-ppc: fix qemu_ld/qemu_st for AIX ABI
...
Message-id: 1380126458-3247-1-git-send-email-rth@xxxxxxxxxxx
commit 8429d63b0e5671f112cb4cbf8ab6d697a676ccc4
Merge: d7f0efc d613a56
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:13:43 2013 -0500
Merge remote-tracking branch 'quintela/migration.next' into staging
# By Isaku Yamahata (4) and others
# Via Juan Quintela
* quintela/migration.next:
migration: ram_handle_compressed
arch_init: make is_zero_page accept size
migration: Fix debug print type
migration: add version supporting macros for struct pointer
rdma: constify ram_chunk_{index, start, end}
rdma: clean up of qemu_rdma_cleanup()
arch_init: right return for ram_save_iterate
savevm: fix wrong initialization by ram_control_load_hook
savevm: add comments for qemu_file_get_error()
Message-id: 1380024203-25897-1-git-send-email-quintela@xxxxxxxxxx
commit d7f0efcb229bc1c3e458c6968efe4a6644f24740
Merge: 1b365b2 19b0dfc
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:13:32 2013 -0500
Merge remote-tracking branch 'kraxel/audio.1' into staging
# By Bandan Das (3) and Gerd Hoffmann (1)
# Via Gerd Hoffmann
* kraxel/audio.1:
audio: remove CONFIG_MIXEMU configure option
hda-codec: make mixemu selectable at runtime
hda-codec: refactor common definitions into a header file
audio maintainers update
Message-id: 1380011943-15083-1-git-send-email-kraxel@xxxxxxxxxx
commit 1b365b2eb629d033b3650acc9f46fc132ef0981c
Merge: 53d09b7 6a444f8
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 30 17:13:18 2013 -0500
Merge remote-tracking branch 'borntraeger/tags/s390-next-20130924' into
staging
This is a bunch of fixes/changes for the s390 architecture. It also
contains the fixes from the previous pull request, which did not make
it yet.
Overall it contains
- a fix for kexec without kdump (which uses diag308 subcode 0 instead of
1)
- several sclp related fixes
- some initial sclp migration code
- the sclp line mode console
- A fix for a boot problem with the virtio ccw ipl bios
- zeroed out padding bytes for the notes section of dump-guest-memory
- some cleanups
# gpg: Signature made Tue 24 Sep 2013 02:18:44 AM CDT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
# By Christian Borntraeger (6) and others
# Via Christian Borntraeger
* borntraeger/tags/s390-next-20130924:
s390/sclplmconsole: Add support for SCLP line-mode console
s390/ebcdic: Move conversion tables to header file
s390/eventfacility: allow childs to handle more than 1 event type
s390/eventfacility: remove unused event_type variable
s390/eventfacility: Fix receive/send masks
s390/eventfacility: fix multiple Read Event Data sources
s390/sclp: add reset() functions
s390/sclpquiesce: Add code to support live migration
s390/sclpconsole: Add code to support live migration for sclpconsole
s390/sclpconsole: modify definition of input buffer
s390/kexec: Implement diag308 subcode 0
s390/ioinst: Moved the CC setting to the IO instruction handlers
s390/cpu: Make setcc() function available to other files
s390/ipl: Update the s390-ccw.img rom
s390/ipl: Fix waiting for virtio processing
s390/dump: zero out padding bytes in notes sections
s390/kvm: Add check for priviledged SCLP handler
Message-id: 1380007671-18976-1-git-send-email-borntraeger@xxxxxxxxxx
commit 1cf9412b3b583b59a1ac131609cbf673662ee7eb
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 30 11:17:57 2013 +0200
update seabios from 1.7.2.2 to 1.7.3.2
'git shortlog d4f7d90f..ece025f5' says:
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 (6):
config: allow DEBUG_IO for !QEMU
coreboot: add qemu detection
tweak coreboot qemu detection
apm: fix shutdown
ahci: add missing check for allocation failure
fix buildversion.sh
Hu Tao (1):
Add pvpanic device driver
Kevin O'Connor (101):
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.
Fix USB EHCI detection that was broken in hlist conversion of
PCIDevices.
Fix bug in CBFS file walking with compressed files.
Laszlo Ersek (1):
Enable VGA output when setting Cirrus-specific mode
Michael S. Tsirkin (2):
acpi: make default DSDT optional
acpi: sync FADT flags from PIIX4 to Q35
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 774e80ea1d080c608ab06a3b68d9f583644b8d85
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 24 15:46:52 2013 +0200
roms: add support for building sgabios
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 95f7c6803c71ca6f74e8d59da3fd189230d1c466
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 24 15:38:28 2013 +0200
roms: enable parallel seabios / seavgabios builds
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 779fa9d7060c547059ff1993dd38bea565d7f2e7
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 23 11:05:48 2013 +0200
roms: enable ipxe cross builds
commit bcf06c15e7beb31a9839951ee24a809b6919a85e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 14:51:10 2013 +0200
roms: add rules to build slof
Add some logic to detect cross compilers. Add support for "make slof",
which should JustWork[tm] if you are on a ppx64 machine or have a ppc64
cross compiler installed somewhere in your path.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 93a2b3c470cbf1523478e8272816e3a22400775d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Mon Sep 23 10:24:10 2013 +0200
roms: rewrite scripts/refresh-pxe-roms.sh
Just use the Makefile in roms/
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 46ef7f33a200a903dfcf7174ef5db4a09dc84f06
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 15:26:26 2013 +0200
roms: parallel ipxe builds
Enable parallel ipxe builds. Reduce the recursive make calls. Call
recursive make properly using $(MAKE) $(MAKEFLAGS).
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5a7bd33385f25ccd09725899b380e0c62f6d5733
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 14:35:31 2013 +0200
roms: build lgplvgabios isavga variant
Add logic to also build+install the isavga vgabios variant.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1ede4dd04b4f16a281a92d6a44905c63fb1635cf
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 14:29:29 2013 +0200
roms: enable parallel builds for 'make lgplvgabios'
Recurse into vgabios once, adjust dependencies, call make using
$(MAKE) $(MAKEFLAGS) so jobserver mode works.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6887581728c9eddf858e7458b6eacbfe3ac68302
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Fri Sep 20 15:34:27 2013 +0200
roms: add 'make clean'
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e26d3e734650640fabd7d95ace4f3a6f88725e0b
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:32 2013 +0200
smbios: Factor out smbios_maybe_add_str()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit fc3b32958a80bca13309e2695de07b43dd788421
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:31 2013 +0200
smbios: Make multiple -smbios type= accumulate sanely
Currently, -smbios type=T,NAME=VAL,... adds one field (T,NAME) with
value VAL to fw_cfg for each unique NAME. If NAME occurs multiple
times, the last one's VAL is used (before the QemuOpts conversion, the
first one was used).
Multiple -smbios can add multiple fields with the same (T, NAME).
SeaBIOS reads all of them from fw_cfg, but uses only the first field
(T, NAME). The others are ignored.
"First one wins, subsequent ones get ignored silently" isn't nice. We
commonly let the last option win. Useful, because it lets you
-readconfig first, then selectively override with command line
options.
Clean up -smbios to work the common way. Accumulate the settings,
with later ones overwriting earlier ones. Put the result into fw_cfg
(no more useless duplicates).
Bonus cleanup: qemu_uuid_parse() no longer sets SMBIOS system uuid by
side effect.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ec2df8c10a4585ba4641ae482cf2f5f13daa810e
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:30 2013 +0200
smbios: Improve diagnostics for conflicting entries
We allow either tables or fields for the same type. Makes sense,
because SeaBIOS uses fields only when no tables are present.
We do this by searching the SMBIOS blob for a previously added table
or field. Error messages look like this:
qemu-system-x86_64: -smbios type=1,serial=42: SMBIOS type 1 table
already defined, cannot add field
User needs to know that "table" is defined by -smbios file=..., and
"field" by -smbios type=...
Instead of searching the blob, record additions of interest, and check
that. Simpler, and makes better error messages possible:
qemu-system-x86_64: -smbios file=smbios_type_1.bin: Can't mix file=
and type= for same type
qemu-system-x86_64: -smbios type=1,serial=42,serial=99: This is the
conflicting setting
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 4f953d2fc806f1ba6fa76f01dfd121fe7d0dc4a7
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:29 2013 +0200
smbios: Convert to QemuOpts
So that it can be set in config file for -readconfig.
This tightens parsing of -smbios, and makes it more consistent with
other options: unknown parameters are rejected, numbers with trailing
junk are rejected, when a parameter is given multiple times, last
rather than first wins, ...
MST: drop one chunk to fix build errors
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 351a6a73ca7a9123f0dfd6c6f85fd01e82fe3741
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 15:18:28 2013 +0200
smbios: Normalize smbios_entry_add()'s error handling to exit(1)
It exits on all error conditions but one, where it returns -1.
Normalize, and return void.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 61653008adad45026464f962759112995802fe01
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 27 13:36:11 2013 +0200
qcow2: Remove useless count_contiguous_clusters() parameter
All callers pass start = 0, and it's doubtful if any other value would
actually do what you expect. Remove the parameter.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Jeff Cody <jcody@xxxxxxxxxx>
commit 22f0dd29afd6011b2b7a94bf860502eafce4ddd5
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 27 12:14:16 2013 +0200
qcow2: COMPRESSED on count_contiguous_clusters
Compressed clusters can never be contiguous, therefore the corresponding
flag does not need to be given explicitly to count_contiguous_clusters.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 15684a474286cc2c6106c756ddd095a21d058970
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 27 12:14:15 2013 +0200
qcow2: count_contiguous_clusters and compression
The function is not intended to be used on compressed clusters and will
not work correctly, if used anyway, since L2E_OFFSET_MASK is not the
right mask for determining the offset of compressed clusters. Therefore,
assert that the first cluster is not compressed and always include the
compression flag in the mask of significant flags, i.e., stop the search
as soon as a compressed cluster occurs.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 320c70666687db4dd4df8165f9fe6960de782ca9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 27 10:21:48 2013 +0200
qcow2: Free only newly allocated clusters on error
In expand_zero_clusters_in_l1, a new cluster is only allocated if it was
not already preallocated. On error, such preallocated clusters should
not be freed, but only the newly allocated ones.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit be0b742ee320d1139d57062fa18490e7aa485f2a
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 16:37:20 2013 +0200
qcow2: Always use error path in l2_allocate
Just returning -errno in some cases prevents
trace_qcow2_l2_allocate_done from being executed (and, in one case, also
the unused allocated L2 table from being freed). Always going down the
error path fixes this.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8585afd8133eed037dde9c14106e7eb8d7c46968
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 16:37:18 2013 +0200
qcow2: Don't put invalid L2 table into cache
In l2_allocate, the fail path is executed if qcow2_cache_flush fails.
However, the L2 table has not yet been fetched from the L2 table cache.
The qcow2_cache_put in the fail path therefore basically gives an
undefined argument as the L2 table address (in this case).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fd9e03e6060b3a64099d17e4a886421b21dd7341
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 12:07:23 2013 +0200
qemu-iotests: Preallocated zero clusters in 061
Add a test case for zero cluster expansion on an image completely filled
with preallocated zero clusters to test 061.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e390cf5a9722d3f3cc54efb505f6ff37fa554b11
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 12:07:22 2013 +0200
qcow2: Correct bitmap size in zero expansion
Since the expanded_clusters bitmap is addressed using host offsets in
the underlying image file, the correct size to use for allocating the
bitmap is not determined by the guest disk image but by the underlying
host image file.
Furthermore, this size may change during the expansion due to cluster
allocations on growable image files. In this case, the bitmap needs to
be resized as well to reflect the growth.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fef9c19139f4d69a080d99b8cbade163d0bbf0fc
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 08:12:22 2013 -0400
qemu-iotests: Quote $TEST_IMG* and $TEST_DIR usage
A lot of image filename and paths are used unquoted. Quote these to
make sure that directories / filenames with spaces are not problematic.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 85edbd375b9ab451c6769011cb6b3e0287dc71e4
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 08:12:20 2013 -0400
qemu-iotests: Add basic ability to use binary sample images
For image formats that are not "QEMU native", but supported for
compatibility, it is useful to verify that an image created with
the 'gold standard' native tool can be read / written to successfully
by QEMU.
In addition to testing non-native images, this could also be useful to
test against image files created by older versions of QEMU.
This provides a directory to store small sample images, for use by
scripts in tests/qemu-iotests.
Image files should be compressed with bzip2.
To use a sample image from a bash script, the _use_sample_img function
will copy and decompress the image into $TEST_DIR, and set $TEST_IMG to
be the decompressed sample image copy. To cleanup, call
_cleanup_test_img as normal.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 212774c5a5036b327dc10a0dd3e5fe194b509a18
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Sep 26 19:57:34 2013 +0800
qemu-iotests: fix qmp.py search path
QMP/qmp.py is renamed to scripts/qmp/qmp.py, fix the search path in
iotests.py.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d055a1fec37ec84fd3e87d48a0e766a9ff8369c4
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Sep 26 19:55:33 2013 +0800
block: use DIV_ROUND_UP in bdrv_co_do_readv
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c01dbccbad647be5784be39eb8fa0144732295db
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Wed Sep 25 17:48:55 2013 +0200
qcow2: Assert against currently impossible overflow
If qcow2_alloc_cluster_link_l2 is called with a QCowL2Meta describing a
request crossing L2 boundaries, a buffer overflow will occur. This is
impossible right now since such requests are never generated (every
request is shortened to L2 boundaries before) and probably also
completely unintended (considering the name "QCowL2Meta"), however, it
is still worth an assertion.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3df2b8fde949be86d8a78923c992fdd698d4ea4c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 21:13:13 2013 +0200
misc: Use new rotate functions
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 6aa25b4a7bb10c48c3054f268d5be98e42ea42c0
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 21:13:12 2013 +0200
bitops: Add rotate functions (rol8, ror8, ...)
These functions were copies from include/linux/bitopts.h.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d285bf784b6234e994ce73c05c82c9fb6429df00
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 21:13:11 2013 +0200
tci: Add implementation of rotl_i64, rotr_i64
It is used by qemu-ppc64 when running Debian's busybox-static.
Cc: qemu-stable <qemu-stable@xxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 687fb89366366ce654a17c15af48adfe8c4ce70a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:51 2013 -0400
block: qed - use QEMU_PACKED for on-disk structures
QEDHeader is read, and written, directly from on-disk images
via bdrv_pread()/write(). To avoid any unintentional padding,
these structs should be packed.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c4217f645dfdfd405cd0c50af953515e1114436a
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:50 2013 -0400
block: qcow2 - used QEMU_PACKED for on-disk structures
QCowHeader and QCowExtension are structs that reside in the on-disk
image format, and are read and written directly via bdrv_pread()/write(),
and as such should be packed to avoid any unintentional struct padding.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e54835c06d1f4896941c1505a86532aa1403ebe8
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:49 2013 -0400
block: vpc - use QEMU_PACKED for on-disk structures
The VHD footer and header structs (vhd_footer and vhd_dyndisk_header)
are on-disk structures for the image format, and as such should be
packed.
Go ahead and make these typedefs as well, with the preferred QEMU
naming convention, so that the packed attribute is used consistently
with the struct.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8368febd81cbf3cc71f5b0e92ef36e482dff37ca
Author: Jeff Cody <jcody@xxxxxxxxxx>
Date: Wed Sep 25 12:08:48 2013 -0400
block: vdi - use QEMU_PACKED for on-disk structures
The header struct VdiHeader is an on-disk structure for the image
format, and as such should be packed.
Signed-off-by: Jeff Cody <jcody@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 594278d9f251222675f1c24f5fbb1b05560b8711
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>
commit 1cd25a889687ab199944b98c1bdc59216ea81487
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>
commit 11addd0ab9371af2b6ec028c7fe4e4c4992252fc
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>
commit 4bc78a877252d772b983810a7d2c0be00e9be70e
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>
commit 7f12d6497f9c4907c1ce4ef296392aef305ed587
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 16:15:18 2013 -0700
tcg-ppc64: Implement CONFIG_QEMU_LDST_OPTIMIZATION
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c7ca6a2b75f3867dd723c214fac08aa6cbf8cf94
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 30 17:58:10 2013 -0700
tcg-ppc64: Add _noaddr functions for emitting forward branches
... rather than open-coding this stuff through the file.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fedee3e7fda16e2ca438d2de6e76e4d434bcd3bb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 15:11:44 2013 -0700
tcg-ppc64: Streamline tcg_out_tlb_read
Less conditional compilation. Merge an add insn with the indexed
memory load insn. Load the tlb addend earlier. Avoid the address
update memory form.
Fix a bug in not allowing large enough tlb offsets for some guests.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit fa94c3be7a3fc7f1beaa3b031da7199ae3c5ddc8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 04:44:21 2013 -0700
tcg-ppc64: Implement tcg_register_jit
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b18d5d2b80ba0fd33edabae72fd7e7ad6f20316a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 11:36:42 2013 -0700
tcg-ppc64: Handle long offsets better
Previously we'd only handle 16-bit offsets from memory operand without
falling
back to indexed, but it's easy to use ADDIS to handle full 32-bit offsets.
This also lets us unify code that existed inline in tcg_out_op for
handling
addition of large constants.
The new R2 temporary was marked reserved for the AIX calling convention,
but
the register really is call-clobbered and since tcg generated code has no
use
for a TOC, it's available for use.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e1702b0742b7cc88e85dfe76c3ba5d1432312aa
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 31 10:18:49 2013 -0700
tcg-ppc64: Tidy register allocation order
Remove conditionalization from tcg_target_reg_alloc_order, relying on
reserved_regs to prevent register allocation that shouldn't happen.
So R11 is now present in reg_alloc_order for __APPLE__, but also now
reserved.
Sort reg_alloc_order into call-saved, call-clobbered, and parameters.
This reduces the effect of values getting spilled and reloaded before
function calls.
Whether or not it is reserved, R2 (TOC) is always call-clobbered.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b0940da012c4c80145fdcf1730620f28ce80c2d8
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 06:30:45 2013 -0700
tcg-ppc64: Look through a constant function descriptor
Especially in the user-only configurations, a direct branch into
the executable may be in range.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d40f3cb1128208d901b6224b52ff36ff05680d28
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 06:13:49 2013 -0700
tcg-ppc64: Fold constant call address into descriptor load
Eliminates one insn per call:
: lis r2,4165
-: ori r2,r2,59616
-: ld r0,0(r2)
+: ld r0,-5920(r2)
: mtctr r0
-: ld r2,8(r2)
+: ld r2,-5912(r2)
: bctrl
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ad94e1a9db52de4ddfd9940324249518e0265902
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 23:14:19 2013 -0700
tcg-ppc64: Don't load the static chain from TCG
There are no helpers that require the static chain.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f8b84129073d600cef20d526814b9bdd15c2e1ba
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Jul 30 18:26:04 2013 -1000
tcg-ppc64: Avoid code for nop move
While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5e0f40cfedecfbc2a0608d75e8a8d22173f23431
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:46:25 2013 -0700
tcg-ppc64: Use tcg_out64
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8327a470df78cb41de95f6be0133a59e0a721e2c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:41:45 2013 -0700
tcg-ppc64: Use TCG_REG_Rn constants
Instead of bare N, for clarity. The only (intentional) exception made
is for insns that encode R|0, i.e. when R0 encoded into the insn is
interpreted as zero not the contents of the register.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 29b69198690f4b2754338c7c01f8ebe004b2efac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:23:23 2013 -0700
tcg-ppc64: More use of TAI and SAI helper macros
Finish conversion of all memory operations.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 541dd4ceaacb92d93ceae87d4d521ae8bd381559
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sat Aug 31 05:14:53 2013 -0700
tcg-ppc64: Reformat tcg-target.c
Whitespace and brace changes only.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8f50c841b374dc90ea604888ca92c37f469c428a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 09:32:20 2013 -0700
tcg-ppc: Fix and cleanup tcg_out_tlb_check
The fix is that sparc has so many mmu modes that the last one overflowed
the 16-bit signed offset we assumed would fit. Handle this, and check
the new assumption at compile time.
Load the tlb addend earlier for the fast path.
Remove the explicit address + addend and make use of index addressing.
Adjust constraints for qemu_ld64 such that we don't clobber the address
register or tlb addend before loading both values.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5b1c985b7e4d3f430769925c1775c9e8836272df
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Mon Sep 9 16:49:36 2013 -0700
tcg-ppc: Use conditional branch and link to slow path
Saves one insn per slow path. Note that we can no longer use
a tail call into the store helper.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 1d10cf9886429d17d22e233081697ef27465dca3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 10:07:24 2013 -0700
tcg-ppc: Cleanup tcg_out_qemu_ld/st_slow_path
Coding style fixes. Use TCGReg enumeration values instead of raw
numbers. Don't needlessly pull the whole TCGLabelQemuLdst struct
into local variables. Less conditional compilation.
No functional changes.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 4b2b114d8cc0f0f59bc20855bf287fb3df55b553
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 15:51:08 2013 -0700
tcg-ppc: Avoid code for nop move
While these are rare from code that's been through the optimizer,
it's not uncommon within the tcg backend.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 619f90ba62e27c674b1a9af8c0ae68eef8d64a92
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 5 10:22:09 2013 +0200
tcg-ppc: use new return-argument ld/st helpers
These use a 32-bit load-of-immediate to save a mflr+addi+mtlr sequence.
Tested with a Windows 98 guest (pretty much the most recent thing I
could run on my PPC machine) and kvm-unit-tests's sieve.flat. The
speed up for sieve.flat is as high as 10% for qemu-system-i386, 25%
(no kidding) for qemu-system-x86_64 on my PowerBook G4.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 6a115579883e6c0e56394bf7aaabd04260e11233
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 5 10:22:08 2013 +0200
tcg-ppc: fix qemu_ld/qemu_st for AIX ABI
For the AIX ABI, the function pointer and small area pointer need
to be loaded in the trampoline. The trampoline instead is called
with a normal BL instruction.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 9e6337d0818650362149b734d53edf9489f3acaa
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>
commit 5726d872f3c7a78a6c17ff5a6e47e01cff0a5e55
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Wed Sep 25 13:30:01 2013 +0200
qdict: Extract qdict_extract_subqdict
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c3e4f43a99549daa6e9b87350922e8339341c2ab
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Sep 22 08:19:10 2013 +0200
block: Fix compiler warning (-Werror=uninitialized)
The patch fixes a warning from gcc (Debian 4.6.3-14+rpi1) 4.6.3:
block/stream.c:141:22: error:
â??copyâ?? may be used uninitialized in this function
[-Werror=uninitialized]
This is not a real bug - a better compiler would not complain.
Now 'copy' has always a defined value, so the check for ret >= 0
can be removed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Acked-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 030be32184034261da14693b69e9582f6fe4af9d
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Tue Sep 24 17:07:04 2013 +0200
block: introduce BlockDriver.bdrv_needs_filename to enable some drivers.
Some drivers will have driver specifics options but no filename.
This new bool allow the block layer to treat them correctly.
The .bdrv_needs_filename is set in drivers not having
.bdrv_parse_filename and
not having .bdrv_open.
The first exception to this rule will be the quorum driver.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2fe2e2907163f6d86b6bbced776ec8f9319ca83f
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Sep 25 17:45:51 2013 +0800
qemu-iotests: add monolithicFlat creation test to 059
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fc7ce63fb101ffb56027a04e89c8c6a38031bfc3
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Sep 25 17:45:50 2013 +0800
qemu-iotests: fix test case 059
Since commit "block: Error parameter for open functions", error output
is more verbose. Update test case output file to follow the change.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 301c7d38a0c359b91526391d13617386f3d9bb29
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>
commit 1f9db2243c1b987c834fe559a8e73b3178f50c2b
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Sep 24 15:35:09 2013 +0200
block/get_block_status: avoid segfault if there is no backing_hd
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 3e0a233d869e74e78b516be34715b91528508cfc
Author: Peter Lieven <pl@xxxxxxx>
Date: Tue Sep 24 15:35:08 2013 +0200
block/get_block_status: set *pnum = 0 on error
if the call is invoked through bdrv_is_allocated the caller might
expect *pnum = 0 on error. however, a new implementation of
bdrv_get_block_status might only return a negative exit value on
error while keeping *pnum untouched.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7454d600457f75f4fda6bf7be027fd3bcf7d5220
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 24 13:50:46 2013 +0200
qcow2: Don't shadow return value
When trying to update the refcounts for a snapshot, the return value of
update_refcount on a compressed cluster was pretty much ignored,
cancelling the update on error but returning 0. This is caused by an
inner "ret" variable shadowing the outer one (the latter is used in the
return statement).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ff42308f30e05155efc78a1f00f53943ca51e4f9
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 23 16:38:33 2013 +0200
qemu-iotests: Do not execute 052 with -nocache
Test 052 uses qemu-io -s which will result in bdrv_open trying to create
a temporary snapshot file in /tmp. However, since O_DIRECT and tmpfs
do not work well together, disable this test for -nocache.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4db9c980027447816cfd00703070a7672cb8e482
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Sun Sep 22 20:05:07 2013 +0800
qemu-iotests: add test for backing file overriding
Test that backing.file.filename option can be parsed and override the
backing file from image (backing file reflected with "info block").
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit dbecebddfa4932d1c83915bcb9b5ba5984eb91be
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Sun Sep 22 20:05:06 2013 +0800
block: fix backing file overriding
Providing backing.file.filename doesn't override backing file as expected:
$ x86_64-softmmu/qemu-system-x86_64 -drive \
file=/tmp/child.qcow2,backing.file.filename=/tmp/fake.qcow2
qemu-system-x86_64: -drive \
file=/tmp/child.qcow2,backing.file.filename=/tmp/fake.qcow2:
could not
open disk image /tmp/child.qcow2: Can't specify 'file' and
'filename'
options at the same time
With
$ qemu-img info /tmp/child.qcow2
image: /tmp/child.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 196K
cluster_size: 65536
backing file: /tmp/fake.qcow2
This fixes it by calling bdrv_get_full_backing_filename only if
backing.file.filename is not provided. Also save the backing file name
to bs->backing_file so the information is correct with HMP "info block".
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e3608d66cea318698a2c4361d4e11a0e224c36db
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 28 15:48:21 2013 -0700
configure: Allow command-line configure for ppc32
Similar to manually selecting i386 for an x86_64 host.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c236f4519c9838801798f3705c17dce9ab9e3b9d
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Tue Sep 24 14:50:44 2013 -0300
seccomp: fine tuning whitelist by adding times()
This was causing Qemu process to hang when using -sandbox on as
discribed on RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1004175
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Tested-by: Paul Moore <pmoore@xxxxxxxxxx>
Acked-by: Paul Moore <pmoore@xxxxxxxxxx>
commit d613a56f845788412a442c6b5aff88b38244f99a
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Sep 21 01:23:37 2013 +0900
migration: ram_handle_compressed
ram_handle_compressed() should be aware of size > TARGET_PAGE_SIZE.
migration-rdma can call it with larger size.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dc3c26a479e5bd19c1b3c04f696b8f70ad57f0b7
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Sat Sep 21 01:23:36 2013 +0900
arch_init: make is_zero_page accept size
Later is_zero_page will be used for non TARGET_PAGE_SIZE
range.
And rename it to is_zero_range as it isn't page size any more.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5016e2df569bc7d67637060103dd360ed2f0d557
Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Date: Fri Aug 23 10:34:16 2013 -0700
migration: Fix debug print type
The printf args are uint64_t and with -Werr QEMU doesn't compile with
migration debugging turned on unless this is fixed. Fix it.
Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 7102400d40be7fcfb017c8f211d6a37ecead2a2f
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Sep 4 14:35:26 2013 +1000
migration: add version supporting macros for struct pointer
This adds version supporting macros VMSTATE_STRUCT_POINTER_TEST_V
and VMSTATE_STRUCT_POINTER_V in addition to the already existing
VMSTATE_STRUCT_POINTER and VMSTATE_STRUCT_POINTER_TEST macros.
Cc: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit dd286ed700c6ca2768ac3452bc5b79af1709296a
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 11:32:19 2013 +0900
rdma: constify ram_chunk_{index, start, end}
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 5a91337cdf343b94474f8bbecab85a8c00f6d2a1
Author: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Date: Tue Aug 13 11:12:43 2013 +0900
rdma: clean up of qemu_rdma_cleanup()
- It can't be determined by RDMAContext::cm_id != NULL if the connection
is established or not.
- RDMAContext::cm_id is leaked and not destroyed because it is set to NULL
too early.
- RDMAContext::qp is created by rdma_create_qp() so that it should be
destroyed
by rdma_destroy_qp(). not ibv_destroy_qp()
Cc: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 6cd0beda2c3c21fd7575e944764f392be7ef50c1
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:02:36 2013 +0800
arch_init: right return for ram_save_iterate
qemu_file_rate_limit() never return negative value since the refactor
by Commit 1964a39, this patch gets rid of the negative check for it,
adjust bytes_transferred and return value correspondingly in
ram_save_iterate().
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit c77a5f2daa1ccbd825d59b95c70207c0a196bb94
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:02:35 2013 +0800
savevm: fix wrong initialization by ram_control_load_hook
It should set negative error value rather than 0 in QEMUFile
if there has been an error.
Reviewed-by: Michael R. Hines <mrhines@xxxxxxxxxx>
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 675fd0a7daa484a2011895583249c88ef2a27921
Author: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 17:02:34 2013 +0800
savevm: add comments for qemu_file_get_error()
Add comments for qemu_file_get_error(), as its return value
is not very clear.
Signed-off-by: Lei Li <lilei@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Juan Quintela <quintela@xxxxxxxxxx>
commit 19b0dfc19c0d911c322a03899806c59bc2f593c9
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Sat Sep 7 00:54:00 2013 -0400
audio: remove CONFIG_MIXEMU configure option
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 2690e61e8e313461428334586ed9dbf56531dae9
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Sat Sep 7 00:53:59 2013 -0400
hda-codec: make mixemu selectable at runtime
Define PARAM so that we have two versions of the "desc_codec
and family" structs. Add a property called "mixer" whose default
value depends on whether CONFIG_MIXEMU is defined or not which
will help us call the appropriate instance init functions.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 7953793c033343dbea97836645edbe4e61754b11
Author: Bandan Das <bsd@xxxxxxxxxx>
Date: Sat Sep 7 00:53:58 2013 -0400
hda-codec: refactor common definitions into a header file
Move common defines and structs to a header file.
The next commit will include it twice, once for a device with a
mixer, and once for device without a mixer.
Signed-off-by: Bandan Das <bsd@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9f575846673f9f4e4f46b5710d1025af44762f92
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 24 10:26:24 2013 +0200
audio maintainers update
av1474@xxxxxxxx bounces, and I havn't seen malc @ qemu-devel for quite a
while (anyone knows what is up?). Adding myself as audio maintainer, so
audio patches don't fall through the cracks that easily.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 53d09b761f032f50c4424e8649396a9041070bae
Author: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Date: Mon Sep 23 14:11:53 2013 +0200
linux-user: Handle SOCK_CLOEXEC/NONBLOCK if unavailable on host
If the host lacks SOCK_CLOEXEC, bail out with -EINVAL.
If the host lacks SOCK_ONONBLOCK, try to emulate it with fcntl()
and O_NONBLOCK.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 89aaf1a6ad91c4cb3224fcca461d71dac9fa3fa6
Author: Riku Voipio <riku.voipio@xxxxxxxxxx>
Date: Wed Jul 24 09:44:26 2013 +0300
[v2] linux-user: implement m68k atomic syscalls
With nptl enabled, atomic_cmpxchg_32 and atomic_barrier
system calls are needed. This patch enabled really dummy
versions of the system calls, modeled after the m68k
kernel code.
With this patch I am able to execute m68k binaries
with qemu linux-user (busybox compiled for coldfire).
[v2] que an segfault instead of returning a EFAULT
to keep in line with kernel code.
Cc: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 1308c464a8414ce3c6f79e172255fb90b5aa313d
Author: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Date: Mon Sep 9 17:36:40 2013 -0700
linux-user: Check type of microMIPS break instruction
microMIPS instructions that cause breakpoint exceptions come in
16-bit and 32-bit variants. When handling exceptions caused by
such instructions, the instruction type needs to be taken into
account when extracting the break code.
The code has also been restructured for better clarity.
Signed-off-by: Kwok Cheung Yeung <kcy@xxxxxxxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit dbf4f7965af974593da596ec12ac877d248efed6
Author: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Date: Fri Sep 13 19:27:29 2013 +0200
linux-user: correct how SOL_SOCKET is converted from target to host and
back
Previous implementation does not take into account that SOL_SOCKET
constant
can be arch specific. This change fixes some issues with sendmsg/recvmsg.
Signed-off-by: Petar Jovanovic <petar.jovanovic@xxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 03cfd8faa7ffb7201e2949b99c2f35b1fef7078b
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:44 2013 +0200
linux-user: add support of binfmt_misc 'O' flag
The binfmt_misc module can calculate the credentials and security
token according to the binary instead of to the interpreter if the
'C' flag is enabled.
To be able to execute non-readable binaries, this flag implies 'O'
flag. When 'O' flag is enabled, bintfmt_misc opens the file for
reading and pass the file descriptor to the interpreter.
References:
linux/Documentation/binfmt_misc.txt ['O' and 'C' description]
linux/fs/binfmt_misc.c linux/fs/binfmt_elf.c [ AT_EXECFD usage ]
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 0d78b3b5b1b5c391aa96b481be106de023810b66
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:43 2013 +0200
linux-user: add some IPV6 commands in setsockop()
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit bd00c74c7fdd8a34d5e22e27931b3a3a77e3b0dd
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:42 2013 +0200
linux-user: allow use of TIOCGSID
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f57d419241e7c7cce5d11172081a5860e86aa8bc
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:41 2013 +0200
linux-user: Add setsockopt(SO_ATTACH_FILTER)
This is needed to be able to run dhclient.
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit de6b9933772c743789808531b3092329faf42496
Author: Laurent Vivier <laurent@xxxxxxxxx>
Date: Fri Aug 30 01:46:40 2013 +0200
linux-user: convert /proc/net/route when endianess differs
This patch allows to have IP addresses in correct order
in the case of "netstat -nr" when the endianess of the
guest differs from one of the host.
For instance, an m68k guest on an x86_64 host:
WITHOUT this patch:
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
0.0.0.0 1.3.0.10 0.0.0.0 UG 0 0 0
eth0
0.3.0.10 0.0.0.0 0.255.255.255 U 0 0 0
eth0
$ cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric
Mask MTU Window IRTT
eth0 00000000 0103000A 0003 0 0 0
000000000 0 0
eth0 0003000A 00000000 0001 0 0 0
00FFFFFF0 0 0
WITH this patch:
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
0.0.0.0 10.0.3.1 0.0.0.0 UG 0 0 0
eth0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0
eth0
$ cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric
Mask MTU Window IRTT
eth0 00000000 0a000301 0003 0 0 0
000000000 0 0
eth0 0a000300 00000000 0001 0 0 0
ffffff000 0 0
Signed-off-by: Laurent Vivier <laurent@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 868e34d7bdf958963da9582c1c14f2b7930b6d37
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 24 09:50:01 2013 -1000
mips-linux-user: Adjust names in mips_syscall_args
The name field of MIPS_SYS isn't actually used; it's just documentation.
But adjust the umount entries to match mips/syscall_nr.h anyway.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit 8070e7be8b2909b48b56b5e965fca209ba5969db
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 24 09:50:00 2013 -1000
alpha-linux-user: Fix umount syscall numbers
It has been pointed out on LKML that the alpha umount syscall numbers
are named wrong, and a patch to rectify that has been posted for 3.11.
Glibc works around this by treating NR_umount as NR_umount2 if
NR_oldumount exists. That's more complicated than we need in QEMU,
given that we control linux-user/*/syscall_nr.h.
This is the last instance of TARGET_NR_oldumount, so delete that from
the strace.list.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx>
commit f828a4c8faa118e0ebab3e353ac6840f3b2a0318
Merge: feb678c cbf5b96
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:53:22 2013 -0500
Merge remote-tracking branch 'stefanha/tracing' into staging
# By Alexey Kardashevskiy
# Via Stefan Hajnoczi
* stefanha/tracing:
kvm: fix traces to use %x instead of %d
Message-id: 1379699931-5837-1-git-send-email-stefanha@xxxxxxxxxx
commit feb678c6f7234d5227610939aff0510878590e83
Merge: 16121fa 97410dd
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:53:11 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Aurelien Jarno (1) and Vincenzo Maffione (1)
# Via Stefan Hajnoczi
* stefanha/net:
e1000: NetClientInfo.receive_iov implemented
pcnet-pci: mark I/O and MMIO as LITTLE_ENDIAN
Message-id: 1379699613-5338-1-git-send-email-stefanha@xxxxxxxxxx
commit 16121fa39e1ec17308162af4de5c5f6c01c1cce1
Merge: 2e6ae66 ef5bc96
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:53:05 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Stefan Hajnoczi (4) and others
# Via Stefan Hajnoczi
* stefanha/block:
virtio-blk: do not relay a previous driver's WCE configuration to the
current
blockdev: do not default cache.no-flush to true
block: don't lose data from last incomplete sector
qcow2: Correct snapshots size for overlap check
coroutine: fix /perf/nesting coroutine benchmark
coroutine: add qemu_coroutine_yield benchmark
qemu-timer: do not take the lock in timer_pending
qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe
qemu-timer: drop outdated signal safety comments
osdep: warn if open(O_DIRECT) on fails with EINVAL
libcacard: link against qemu-error.o for error_report()
Message-id: 1379698931-946-1-git-send-email-stefanha@xxxxxxxxxx
commit 2e6ae666c8ccaa7fd26d7102c5c9bed24dc02b1d
Merge: 3e4be9c 7a1c0d2
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:52:55 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (8) and others
# Via Michael Tokarev
* mjt/trivial-patches:
tests/.gitignore: ignore test-throttle
exec: Fix broken build for MinGW (regression)
kvm: Fix compiler warning (clang)
tcg-sparc: Fix parenthesis warning
Makefile: Remove some more files when cleaning
target-i386: Fix segment cache dump
iov: avoid "orig_len may be used unitialized" warning
vscclient: remove unnecessary use of uninitialized variable
trace-events: Clean up with scripts/cleanup-trace-events.pl again
tci: Fix qemu-alpha on 32 bit hosts (wrong assertions)
*-user: Improve documentation for lock_user function
MAINTAINERS: Add missing entry to filelist for TCI target
translate-all: Fix formatting of dump output
*-user: Fix typo in comment (ulocking -> unlocking)
docs: Fix IO port number for CPU present bitmap.
q35: Fix typo in constant DEFUALT -> DEFAULT.
configure: Undefine _FORTIFY_SOURCE prior using it
Message-id: 1379696296-32105-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
commit 3e4be9c29784df09c364b52a55e826a0b05b950e
Merge: f3ca508 f010bc6
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:52:49 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
# By Alexey Kardashevskiy (3) and others
# Via Paolo Bonzini
* qemu-kvm/uq/master:
target-i386: add feature kvm_pv_unhalt
linux-headers: update to 3.12-rc1
target-i386: forward CPUID cache leaves when -cpu host is used
linux-headers: update to 3.11
kvm: fix traces to use %x instead of %d
kvmvapic: Clear also physical ROM address when entering INACTIVE state
kvmvapic: Enter inactive state on hardware reset
kvmvapic: Catch invalid ROM size
kvm irqfd: support direct msimessage to irq translation
fix steal time MSR vmsd callback to proper opaque type
kvm: warn if num cpus is greater than num recommended
cpu: Move cpu state syncs up into cpu_dump_state()
exec: always use MADV_DONTFORK
Message-id: 1379694292-1601-1-git-send-email-pbonzini@xxxxxxxxxx
commit f3ca508f00fa1cc295334fe8f8010cd6ea45bacd
Merge: 2571f8f f35c934
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Sep 23 11:52:32 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Hervé Poussineau (5) and Stefan Weil (1)
# Via Paolo Bonzini
* bonzini/scsi-next:
block/iscsi: Drop iscsi_co_get_block_status for older versions of
libiscsi
lsi: add 53C810 variant
lsi: remove todo
lsi: ignore write accesses to CTEST0 registers
lsi: check ssid versus sdid only if ssid is valid
lsi: use constant name instead of its value
commit 702d66a813dd84afd7c3d1ad8cbdcc8e3449bcd9
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Sep 17 11:45:36 2013 +0300
virtio-net: fix up HMP NIC info string on reset
When mac is updated on reset, info string has stale data.
Fix it up.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cbf5b968567dbd5a71165c1d30a0ce351bdca11a
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Sep 4 20:26:25 2013 +1000
kvm: fix traces to use %x instead of %d
KVM request types are normally defined using hex constants but QEMU traces
print decimal values instead, which is not very convenient.
This changes the request type format from %d to %x.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 97410dde60fdb66a65268fd9d7b14092efac7614
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Thu Sep 12 10:47:37 2013 +0200
e1000: NetClientInfo.receive_iov implemented
This patch implements the NetClientInfo.receive_iov method for the
e1000 device emulation. In this way a network backend that uses
qemu_sendv_packet() can deliver the fragmented packet without
requiring an additional copy in the frontend/backend network code
(nc_sendv_compat() function).
The existing method NetClientInfo.receive has been reimplemented
using the new method.
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a26405b350c0d31d5ef53f3b459aeb6eaaf50db0
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>
commit ef5bc96268ceec64769617dc53b0ac3a20ff351c
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>
commit 1df6fa4bc6754a170cf511a78e2e6fef84eb5228
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>
commit bcb9d66e8590151967e1dbe3724eec7ec71392e0
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Wed Sep 18 19:14:14 2013 +0800
block: don't lose data from last incomplete sector
To read the last sector that is not aligned to sector boundary, current
code for growable backends, since commit 893a8f6 "block: Produce zeros
when protocols reading beyond end of file", drops the data and directly
returns zeroes. That is incorrect.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7a1c0d200f3ca5be48f7034c6ed5458e490f8816
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Sep 16 15:20:40 2013 +0800
tests/.gitignore: ignore test-throttle
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 089f3f761ed99bd577661e7a6335a2529eda2ba3
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Sep 18 07:48:15 2013 +0200
exec: Fix broken build for MinGW (regression)
Commit 3435f39513a104294b5e3bbf3612047028d25cfc reduced the ifdeffery with
this result for MinGW:
exec.c: In function â??qemu_ram_freeâ??:
exec.c:1239:17: warning:
implicit declaration of function â??munmapâ??
[-Wimplicit-function-declaration]
exec.c:1239:17: warning:
nested extern declaration of â??munmapâ?? [-Wnested-externs]
exec.c:1239: undefined reference to `munmap'
Add some ifdeffery again to fix this.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e76d05c2b5028f09f6ac6bd2beee94103f388722
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Sep 17 22:39:55 2013 +0200
kvm: Fix compiler warning (clang)
Report from clang analyzer:
clock.c:42:15: warning:
Value stored to 'cpu' during its initialization is never read
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 387e417666c28bd0cdc33c51036838dbae3bd3a4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Sep 6 13:24:11 2013 -0700
tcg-sparc: Fix parenthesis warning
error: suggest parentheses around comparison in operand of â??&â??
[-Werror=parentheses]
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 8b6bfc771133caec7b1579c2bfa8838aec58e249
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Jul 25 18:24:58 2013 +0200
Makefile: Remove some more files when cleaning
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 469936ae0a9891b2de7e46743f683535b0819bee
Author: Tobias Markus <tobias@xxxxxxxxxxxxxxxxxxxx>
Date: Sun Aug 25 12:20:06 2013 +0200
target-i386: Fix segment cache dump
When in Long Mode, cpu_x86_seg_cache() logs "DS16" because the Default
operation size bit (D/B bit) is not set for Long Mode Data Segments since
there are only Data Segments in Long Mode and no explicit 16/32/64-bit
Descriptors.
This patch fixes this by checking the Long Mode Active bit of the hidden
flags variable and logging "DS" if it is set. (I.e. in Long Mode all Data
Segments are logged as "DS")
Signed-off-by: Tobias Markus <tobias@xxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2be178a475289286db80de5ddd7830e67e112bdd
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>
commit 69fded480e335ecfe877e2c37de0eff265fced12
Author: Michael Tokarev <mjt@xxxxxxxxxx>
Date: Sat Sep 14 13:10:16 2013 +0400
vscclient: remove unnecessary use of uninitialized variable
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ddd0bd480fc07cc45f9cc7e3d113f23cb58b6082
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Sep 13 10:49:51 2013 +0200
trace-events: Clean up with scripts/cleanup-trace-events.pl again
Event qxl_render_blit_guest_primary_initialized is unused since commit
c58c7b9, drop it.
Commit 42e5b4c moved hw/ppc/xics.c to hw/intc/xics.c without updating
the comment in trace-events.
"scripts/cleanup-trace-events.pl trace-events | diff trace-events" is
now clean again.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 07ac4dc5db22a31e47b149abdbc5ea99013cf4de
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>
commit 6f20f55bccdead8e68c753093f3af6a74cbba883
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 19:57:15 2013 +0200
*-user: Improve documentation for lock_user function
Add a missing "function" and replace "and" by "any".
BSD and Linux use the same documentation here, so fix both.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2b7be8c8f5cecf936b7269ad1664361eee344842
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 20:24:31 2013 +0200
MAINTAINERS: Add missing entry to filelist for TCI target
tci.c is also a maintained part of the TCI implementation.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 227b8175e2c60334c644c7cf7800bef8efbe085b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 20:09:06 2013 +0200
translate-all: Fix formatting of dump output
The page dump writes a table with 3 abi_ulong values in each row.
These values take 8 or 16 characters (depending on sizeof abi_ulong).
Fix the table headings to be aligned with the table columns.
old:
start end size prot
0000000120000000-000000012021e000 000000000021e000 rwx
0000004000000000-0000004000002000 0000000000002000 ---
0000004000002000-0000004000802000 0000000000800000 rw-
new:
start end size prot
0000000120000000-000000012021e000 000000000021e000 rwx
0000004000000000-0000004000002000 0000000000002000 ---
0000004000002000-0000004000802000 0000000000800000 rw-
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 41d1af4de44ac8729a21e4bf233d696861a3c570
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Sep 12 19:57:41 2013 +0200
*-user: Fix typo in comment (ulocking -> unlocking)
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 314b5d4bb6664e236aa90a478dd1e7833a918513
Author: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Date: Tue Sep 10 17:36:18 2013 +0100
docs: Fix IO port number for CPU present bitmap.
Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Reviewd-By: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 451f7846ec64bbaa8feba03851e6fbb52acbf55c
Author: Richard W.M. Jones <rjones@xxxxxxxxxx>
Date: Mon Sep 2 14:43:36 2013 +0100
q35: Fix typo in constant DEFUALT -> DEFAULT.
Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e600cdf3b4ffe3370eb10a8e43ed547ac0f716cf
Author: Michal Privoznik <mprivozn@xxxxxxxxxx>
Date: Thu Sep 5 12:54:49 2013 +0200
configure: Undefine _FORTIFY_SOURCE prior using it
Currently, we are enforcing the _FORTIFY_SOURCE=2 without any
previous detection if the macro has been already defined, e.g.
by environment, or is just enabled by compiler by default.
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
Signed-off-by: Jan Vesely <jano.vesely@xxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2571f8f5fbaea5dc3bdcd84737f109b459576e90
Merge: ce63e9c 521e759
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Sep 20 08:08:18 2013 -0500
Merge remote-tracking branch 'spice/spice.v74' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* spice/spice.v74:
qxl: compile only once
qxl: simplify page dirtying
qxl: simplify qxl_rom_size
qxl: define qxl operating on 4k pages
Message-id: 1379583534-7831-1-git-send-email-kraxel@xxxxxxxxxx
commit ce63e9c258a05e344f81b28f2b995c530909a3f0
Merge: f54c49e 0ca6db4
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Sep 20 08:08:08 2013 -0500
Merge remote-tracking branch 'kraxel/usb.90' into staging
# By Hans de Goede (6) and Gerd Hoffmann (1)
# Via Gerd Hoffmann
* kraxel/usb.90:
usb: Fix iovec memleak on combined-packet free
usb: Also reset max_packet_size on ep_reset
xhci: Fix memory leak on xhci_disable_ep
xhci: Add xhci_epid_to_usbep helper function
xhci: Init a transfers xhci, slotid and epid member on epctx alloc
xhci: Fix number of streams allocated when using streams
usb: remove old usb-host code
Message-id: 1379583298-7524-1-git-send-email-kraxel@xxxxxxxxxx
commit f54c49e2187976f4c3f6db1029461f3077e9f377
Merge: 92bfedb 7b5ce8d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Sep 20 08:06:38 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Luiz Capitulino
# Via Luiz Capitulino
* luiz/queue/qmp:
QMP: qmp-events.txt: alphabetical order fix and other minor changes
QMP: Update qmp-spec.txt
QMP: Update README file
QMP: QMP/ -> docs/qmp/
QMP: fix qmp-commands.txt generation path
QMP: add scripts/qmp
Message-id: 1379509422-29115-1-git-send-email-lcapitulino@xxxxxxxxxx
commit 6a444f8507514b3707c8807ed11c176d3fbc5860
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed May 22 14:11:36 2013 +0200
s390/sclplmconsole: Add support for SCLP line-mode console
Add simple support for SCLP line-mode also known as operating
system messages. This can be added in addition to or instead of
the SCLP full screen console with -device sclplmconsole.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 40fa5264f68e04fdeb1fe0367955a98925349efd
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue May 21 17:04:58 2013 +0200
s390/ebcdic: Move conversion tables to header file
Move conversion tables to header file.
- In SCLP line mode processing EBCDIC/ASCII conversion is needed.
- An additional EBCDIC to ASCII conversion function is added.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit c3d9f24a392979cbd6a40d102c71eab018117f3e
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Sep 17 13:07:30 2013 +0200
s390/eventfacility: allow childs to handle more than 1 event type
Currently all handlers (quiesce, console) only handle one event type.
Some drivers will handle multiple (compatible) event types. Rework the
code accordingly.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit 8b8b1138df5e512dc8a89896c44b67d192dd3d7d
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Sep 17 13:01:31 2013 +0200
s390/eventfacility: remove unused event_type variable
The event_type variable is never used. Get rid of it.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit 788be8e9d669c314ad7aef1a71bce31367cfe462
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Tue Sep 17 10:32:54 2013 +0200
s390/eventfacility: Fix receive/send masks
Currently we announce interchanged receive/send masks. This did not
trigger a bug, since the sclp console has the same masks for
send/receive and the Linux guest does not check the sclp mask for simple
events like quiesce. With other event users like the sclp line mode
console, we will have different send/receive bits. Fix it.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit a0c8699b23ea065f8435d3bd04bd23f1783aa454
Author: Ralf Hoppe <rhoppe@xxxxxxxxxx>
Date: Mon Aug 19 09:41:24 2013 +0200
s390/eventfacility: fix multiple Read Event Data sources
Make the handler for SCLP Read Event Data deal with notifications
for multiple sources correctly.
Signed-off-by: Ralf Hoppe <rhoppe@xxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[split bigger patch into smaller independent chunks]
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
commit 3af6de321f39eda37d60a26559c63029c0d5b4c9
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 4 12:55:45 2013 +0200
s390/sclp: add reset() functions
Add reset() functions for event-facility, sclpconsole, and sclpquiesce.
The reset() functions perform variable initialization
at IPL and e.g. when monitor system_reset is called.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 7e36b7a3561d685b8fb071b25ab887e890973a4d
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue Sep 11 13:41:26 2012 +0200
s390/sclpquiesce: Add code to support live migration
This patch adds the necessary life migration pieces to sclpquiesce
by using the vmstate_register.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit cb335bebe1f5eadd0188215a9703c3fd90cfe84e
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Tue Sep 11 13:41:26 2012 +0200
s390/sclpconsole: Add code to support live migration for sclpconsole
This patch adds the necessary life migration pieces to the sclp code
by using vmstate_register.
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit ea9ad3e945526c56935c245a268731878c74e570
Author: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Date: Wed Aug 28 16:30:28 2013 +0200
s390/sclpconsole: modify definition of input buffer
To use VMState for migration, we need to adapt some sclp code:
- allocate console buffer as part of the console
- change semantic of sclpconsole offset fields
Signed-off-by: Heinz Graalfs <graalfs@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit d8b30c830243c5b7180befd9e1921383c9626bf0
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Sep 19 09:32:03 2013 +0200
s390/kexec: Implement diag308 subcode 0
This patch implements subcode 0 of diag 308. This is necessary for kexec
(without kdump). The main difference to subcode 1 is that all CPUs get
a full reset, instead of the architectured CPU reset (which leaves all
registers untouched).
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 0f39ac9a07cc10278e37d87076b143008f28aa3b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 19 12:29:15 2013 +0200
qcow2: Correct snapshots size for overlap check
Using s->snapshots_size instead of snapshots_size for the metadata
overlap check in qcow2_write_snapshots leads to the detection of an
overlap with the main qcow2 image header when deleting the last
snapshot, since s->snapshots_size has not yet been updated and is
therefore non-zero. However, the offset returned by qcow2_alloc_clusters
will be zero since snapshots_size is zero. Therefore, an overlap is
detected albeit no such will occur.
This patch fixes this by replacing s->snapshots_size by snapshots_size
when calling qcow2_pre_write_overlap_check.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d9bf1c07c1369ab3506fc82cc65a10f4415d867
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 1 15:44:18 2013 +0200
s390/ioinst: Moved the CC setting to the IO instruction handlers
The IO instruction handlers now take care of setting the CC value on
their own, so that the confusing return code magic in
kvm_handle_css_inst()
is not needed anymore.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 3d0a615fe92501684d8d2dc54326f0241b666bd2
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Tue Jul 2 13:43:38 2013 +0200
s390/cpu: Make setcc() function available to other files
Moved the setcc() function to cpu.h so that it can be used by other
files, too. It now also does not modify the kvm state anymore since
this gets updated during kvm_arch_put_registers() anyway.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 1902269c19a2c8ba852f90f04d6dfde1d1145d6f
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Mon Sep 2 11:05:43 2013 +0200
s390/ipl: Update the s390-ccw.img rom
Rebuild of the virtio-ccw rom containing these patches:
1. s390/ipl: Fix waiting for virtio processing
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 441ea695f9e9d64399f69904c2dd12e59963f1a4
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Thu Aug 29 17:52:43 2013 +0200
s390/ipl: Fix waiting for virtio processing
The guest side must not manipulate the index for the used buffers.
Instead,
remember the state of the used buffer locally and wait until it has moved.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit abd137a1bc72614e1e6ca1cd9502426e4b4f7e6a
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Aug 29 12:40:25 2013 +0200
s390/dump: zero out padding bytes in notes sections
The prstatus of an s390x dump contains several padding areas. Zero out
these bytes to make reading the notes section easier with a hexdump.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 3ac85fb66626ea91641f5fb9ad9069aab94754f5
Author: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Date: Mon Jul 29 15:49:16 2013 +0200
s390/kvm: Add check for priviledged SCLP handler
The SCLP instruction is priviledged, so we should make sure that
we generate an exception when it is called from the problem state.
Signed-off-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f010bc643a2759e87e989c3e4e85f15ec71ae98f
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Wed Sep 18 16:41:45 2013 +0200
target-i386: add feature kvm_pv_unhalt
I don't know yet if want this feature on by default, so for now I'm
just adding support for "-cpu ...,+kvm_pv_unhalt".
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4f2656079f903efcd0d8224cbc79170ad3ee5b70
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Wed Sep 18 16:41:44 2013 +0200
linux-headers: update to 3.12-rc1
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 787aaf5703a702094f395db6795e74230282cd62
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 17:06:37 2013 +0200
target-i386: forward CPUID cache leaves when -cpu host is used
Some users running cpu intensive tasks checking the cache CPUID leaves at
startup and making decisions based on the result reported that the guest
was
not reflecting the host CPUID leaves when -cpu host is used.
This patch fix this.
Signed-off-by: Benoît Canet <benoit@xxxxxxxxxxx>
[Rename new field to cache_info_passthrough - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c5daeae1b4ddff97d605bd954a7c2a2b2cf6040f
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Sep 3 18:27:37 2013 +1000
linux-headers: update to 3.11
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4fe6e9ecb7f9a221bfb3695079fb87946263a1e0
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Sep 4 20:26:25 2013 +1000
kvm: fix traces to use %x instead of %d
KVM request types are normally defined using hex constants but QEMU traces
print decimal values instead, which is not very convenient.
This changes the request type format from %d to %x.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 4357930b8a7d2fcff2d8121ec518117428a781e7
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>
commit c056bc3f3464cfae1c94b7dd633d3ec13b13b655
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>
commit 18e5eec4db96a00907eb588a2b803401637c7f67
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>
commit 76fe21dedafb0319306bc993f23e7646b139cfe4
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Tue Sep 3 18:08:25 2013 +1000
kvm irqfd: support direct msimessage to irq translation
On PPC64 systems MSI Messages are translated to system IRQ in a PCI
host bridge. This is already supported for emulated MSI/MSIX but
not for irqfd where the current QEMU allocates IRQ numbers from
irqchip and maps MSIMessages to IRQ in the host kernel.
This adds a new direct mapping flag which tells
the kvm_irqchip_add_msi_route() function that a new VIRQ
should not be allocated, instead the value from MSIMessage::data
should be used. It is up to the platform code to make sure that
this contains a valid IRQ number as sPAPR does in spapr_pci.c.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0e5035776df31380a44a1a851850d110b551ecb6
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Tue Sep 3 18:55:16 2013 -0300
fix steal time MSR vmsd callback to proper opaque type
Convert steal time MSR vmsd callback pointer to proper X86CPU type.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 670436ced08738802e15764039d03ab0dbab2bf3
Author: Andrew Jones <drjones@xxxxxxxxxx>
Date: Fri Aug 23 15:24:37 2013 +0200
kvm: warn if num cpus is greater than num recommended
The comment in kvm_max_vcpus() states that it's using the recommended
procedure from the kernel API documentation to get the max number
of vcpus that kvm supports. It is, but by always returning the
maximum number supported. The maximum number should only be used
for development purposes. qemu should check KVM_CAP_NR_VCPUS for
the recommended number of vcpus. This patch adds a warning if a user
specifies a number of cpus between the recommended and max.
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 97577fd4c31777780a22b77afa4590086ac962c7
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Aug 27 12:19:10 2013 +0100
cpu: Move cpu state syncs up into cpu_dump_state()
The x86 and ppc targets call cpu_synchronize_state() from their
*_cpu_dump_state() callbacks to ensure that up to date state is dumped
when KVM is enabled (for example when a KVM internal error occurs).
Move this call up into the generic cpu_dump_state() function so that
other KVM targets (namely MIPS) can take advantage of it.
This requires kvm_cpu_synchronize_state() and cpu_synchronize_state() to
be moved out of the #ifdef NEED_CPU_H in <sysemu/kvm.h> so that they're
accessible to qom/cpu.c.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Andreas Färber <afaerber@xxxxxxx>
Cc: Alexander Graf <agraf@xxxxxxx>
Cc: Gleb Natapov <gleb@xxxxxxxxxx>
Cc: qemu-ppc@xxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit 3e469dbfe413c25d48321c3a19ddfae0727dc6e5
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>
commit a9031675b9f757eef0fe8c99284ec0133c032c32
Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Date: Tue Sep 17 18:26:48 2013 +0200
coroutine: fix /perf/nesting coroutine benchmark
The /perf/nesting benchmark is broken because the counters are
not reset after each iteration. Therefore, nesting is done only
on the first iteration, and skipped on every other.
This patch fixes the issue, and reduces the number of iterations
to make it possible to run the benchmark in a reasonable amount of
time.
Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2fcd15eac3223b3907837e8d7f2b3829a16a4c45
Author: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Date: Tue Sep 17 17:09:39 2013 +0200
coroutine: add qemu_coroutine_yield benchmark
Current coroutine performance benchmarks test only coroutine creation,
either directly or in a nested way. This patch adds a benchmark to
evaluate the performance of qemu_coroutine_yield.
Signed-off-by: Gabriel Kerneis <gabriel@xxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0ca6db4f3b3df5c4e5285a48a7709bdced5068de
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:52 2013 +0200
usb: Fix iovec memleak on combined-packet free
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9adbaad318cddd300c42dbbbc88991cdc9cecd99
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:53 2013 +0200
usb: Also reset max_packet_size on ep_reset
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b21da4e504fbdb907543a918b190783dc896d8e1
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:51 2013 +0200
xhci: Fix memory leak on xhci_disable_ep
The USBPacket-s in the transfers need to be cleaned up so that the memory
allocated by the iovec in there gets freed.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 518ad5f2a0754f0a5ce4e478b79f4926ce46111b
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:50 2013 +0200
xhci: Add xhci_epid_to_usbep helper function
And use it instead of prying the USBEndpoint out of the packet struct
in various places.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 4c5d82ecf1e8fd0720137f7d09fc77d65b51b4d0
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Tue Sep 17 21:44:49 2013 +0200
xhci: Init a transfers xhci, slotid and epid member on epctx alloc
Transfers are part of an epctx, which is part of a slot, which is part of
a xhci. Transfers cannot dynamically be moved from one epctx to another,
so once created their xhci, slotid and epid are constant, so lets set
these
up at creation time, rather then re-initializing them with the same
value each time a transfer gets submitted.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit d063c3112c4cd23a479ee18720c2bd119da2d315
Author: Hans de Goede <hdegoede@xxxxxxxxxx>
Date: Mon Sep 16 17:04:27 2013 +0200
xhci: Fix number of streams allocated when using streams
According to the xhci spec the total number of streams is
2 ^ (MaxPStreams + 1), and this is also how the Linux xhci driver
uses this field.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b5613fdcb0e03d47852582c252942512f050b5b6
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Sep 10 11:02:59 2013 +0200
usb: remove old usb-host code
The usb-host code has been rewritten for qemu 1.5 to use libusb,
the old code has been left in as temporary fallback. Now we are
two releases further out, targeting the 1.7 release. No major
issues with the new code poped up until now. Time to remove it
from tre tree. Should we ever need it again for some reason --
git has a copy for us in the history.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 3db1ee7c2af2fbbfe259712e3ce74158bc667ad3
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Sep 12 11:02:20 2013 +0200
qemu-timer: do not take the lock in timer_pending
We can deduce the result from expire_time, by making it always -1 if
the timer is not in the active_timers list. We need to check against
negative times passed to timer_mod_ns; clamping them to zero is not
a problem because the only clock that has a zero value at VM startup
is QEMU_CLOCK_VIRTUAL, and it is monotonic so it cannot be non-zero.
QEMU_CLOCK_HOST, instead, is not monotonic but it cannot go to negative
values unless the host time is seriously screwed up and points to
the 1960s.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 978f2205c791de0e02c8802a645bea657408abfd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Sep 12 11:02:19 2013 +0200
qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe
Introduce QEMUTimerList->active_timers_lock to protect the linked list
of active timers. This allows qemu_timer_mod_ns() to be called from any
thread.
Note that vm_clock is not thread-safe and its use of
qemu_clock_has_timers() works fine today but is also not thread-safe.
The purpose of this patch is to eventually let device models set or
cancel timers from a vcpu thread without holding the global mutex.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit da718ceb1730bfe6fea0178df979639b14a0646e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Sep 12 11:02:18 2013 +0200
qemu-timer: drop outdated signal safety comments
host_alarm_handler() is invoked from the signal processing thread
(currently the iothread). Previously we did processing in a real signal
handler with signalfd and therefore needed signal-safe timer code.
Today host_alarm_handler() just marks the alarm timer as expired/pending
and notifies the main loop using qemu_notify_event().
Therefore these outdated comments about signal safety can be dropped.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a5813077aac7865f69b7ee46a594f3705429f7cd
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 11:29:03 2013 +0200
osdep: warn if open(O_DIRECT) on fails with EINVAL
Print a warning when opening a file O_DIRECT fails with EINVAL. This
saves users a lot of time trying to figure out the EINVAL error, which
is typical when attempting to open a file O_DIRECT on Linux tmpfs.
Reported-by: Deepak C Shetty <deepakcs@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 975a0015ee380f49a3be744279a6a06ab97e960a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 11:29:02 2013 +0200
libcacard: link against qemu-error.o for error_report()
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b5ce8db600a5d1842b9cb0cf8e8bb7af87fee10
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Wed Sep 11 13:58:12 2013 -0400
QMP: qmp-events.txt: alphabetical order fix and other minor changes
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 715c18600ca770a8ada65d9fd77ad6423ab5fce9
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Wed Sep 11 13:52:51 2013 -0400
QMP: Update qmp-spec.txt
Simplify the text, fix some of the examples.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 52bbff77c4d1c26b5d9f56e1f140523ec931c471
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 17:15:49 2013 -0400
QMP: Update README file
Drop unneeded info, fix some of the examples and rename QEMU Monitor
Protocol to QEMU Machine Protocol.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7537fe0487c3f7991584ca1c4bf9b6c58cd33968
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 17:00:45 2013 -0400
QMP: QMP/ -> docs/qmp/
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit d076a2adddece29ad33afcce01e441bfc1c6923d
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 16:56:14 2013 -0400
QMP: fix qmp-commands.txt generation path
This file should be generated in the BUILD_DIR, as all other docs.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 22f3946bc5db2090ffc4ea41f2b83d09e58b665e
Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Date: Tue Sep 10 16:39:23 2013 -0400
QMP: add scripts/qmp
Populate it with all scripts stored in QMP/. Also fixes trailing
whitespaces in qmp-shell and qmp.py.
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 521e759cf1ca05fc59a8653e48f18f830edbda7e
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:32:07 2013 +0200
qxl: compile only once
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit b0297b4a82f5ba39f6e75c024f80bc4c20070d27
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:15:48 2013 +0200
qxl: simplify page dirtying
No need to do target page size calculations here,
memory_region_set_dirty will care for us.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 60b3b2a55f4b3fb72419ce7e4b44378dc56eed28
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:08:49 2013 +0200
qxl: simplify qxl_rom_size
Nowdays rom size is fixed at 8192 for live migration compat reasons.
So we can ditch the pointless math trying to calculate the size needed.
Also make the size sanity check fail at compile time not runtime.
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 9efc2d8d813b94fde0a2bad6c13850bef7636748
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Sep 11 13:14:25 2013 +0200
qxl: define qxl operating on 4k pages
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit f35c934a5add17eb549e3f7f4b8286605eb21e99
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Sep 17 19:33:49 2013 +0200
block/iscsi: Drop iscsi_co_get_block_status for older versions of libiscsi
Debian wheezy includes libiscsi-dev 1.4.0 which does not provide
SCSI_PROVISIONING_TYPE_DEALLOCATED. Drop iscsi_co_get_block_status
in this case to allow compilation without errors.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 92bfedb0b6071c5c59f97c99a0ff79e3a0856bd4
Author: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 9 14:04:15 2013 -0300
MAINTAINERS: Add myself to MAINTAINERS file
Add myself to the MAINTAINERS file. I'll be looking at qemu-seccomp.c
and include/sysemu/seccomp.h.
Signed-off-by: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
Acked-by: Paul Moore <pmoore@xxxxxxxxxx>
Message-id: 1378746255-2089-1-git-send-email-otubo@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 46663e5eff4be1d79971f46e51c9bb415ec8f5be
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 11:10:47 2013 -0500
hmp: block-stream: fix typo
Found this by enabling C++ errors. The bool and enum arguments
are mistakenly flipped.
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 6c2679fc19560699679200fb42ab4659bcbe7f79
Merge: 5dc1119 426e3e6
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 10:01:24 2013 -0500
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
# By Liu Ping Fan (3) and Jan Kiszka (1)
# Via Jan Kiszka
* kiszka/queues/slirp:
slirp: clean up slirp_update_timeout
slirp: set mainloop timeout with more precise value
slirp: define timeout as macro
slirp: make timeout local
Message-id: cover.1379415024.git.jan.kiszka@xxxxxxxxxxx
commit 5dc11192b23fbb09fab277d58ac3c42b9699a8b0
Merge: ab9cec4 c21bddf
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:51:40 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (16) and others
# Via Kevin Wolf
* kwolf/for-anthony: (33 commits)
qemu-iotests: Fix test 038
block: Assert validity of BdrvActionOps
qemu-iotests: Cleanup test image in test number 007
qemu-img: fix invalid JSON
coroutine: add ./configure --disable-coroutine-pool
qemu-iotests: Adjustments due to error propagation
qcow2: Use Error parameter
qemu-img create: Emit filename on error
block: Error parameter for create functions
block: Error parameter for open functions
bdrv: Use "Error" for creating images
bdrv: Use "Error" for opening images
qemu-iotests: add 057 internal snapshot for block device test case
hmp: add interface hmp_snapshot_delete_blkdev_internal
hmp: add interface hmp_snapshot_blkdev_internal
qmp: add interface blockdev-snapshot-delete-internal-sync
qmp: add interface blockdev-snapshot-internal-sync
qmp: add internal snapshot support in qmp_transaction
snapshot: distinguish id and name in snapshot delete
snapshot: new function bdrv_snapshot_find_by_id_and_name()
...
Message-id: 1379073063-14963-1-git-send-email-kwolf@xxxxxxxxxx
commit ab9cec42bf3ed1d9bb574b7de5f3c61da47b3a81
Merge: 7d41364 bff9328
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:51:23 2013 -0500
Merge remote-tracking branch 'rth/tgt-i386' into staging
# By Paolo Bonzini (1) and Peter Maydell (1)
# Via Richard Henderson
* rth/tgt-i386:
target-i386: Only provide CMOV and friends if feature bit set
target-i386: fix disassembly with PAE=1, PG=0
Message-id: 1379010496-5875-1-git-send-email-rth@xxxxxxxxxxx
commit 7d41364e712f00894759f7dbf2623a8b27b79a0e
Merge: 25afd6e f4ff3b7
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:50:23 2013 -0500
Merge remote-tracking branch 'bonzini/scsi-next' into staging
# By Peter Lieven (3) and others
# Via Paolo Bonzini
* bonzini/scsi-next:
spapr-vscsi: Report error on unsupported MAD requests
spapr-vscsi: Adding VSCSI capabilities
iscsi: split discard requests in multiple parts
iscsi: add .bdrv_get_block_status
iscsi: add logical block provisioning information to iscsilun
hw/scsi/lsi53c895a: Use deposit32 rather than handcoded shift/mask
hw/scsi/lsi53c895a: Use sextract32 for sign-extension
scsi: Fix scsi_bus_legacy_add_drive() scsi-generic with serial
virtio-scsi: Make type virtio-scsi-common abstract
spapr-vscsi: add task management
scsi: prefer UUID to VM name for the initiator name
Message-id: 1378984634-765-1-git-send-email-pbonzini@xxxxxxxxxx
commit 25afd6eb150324c70164875853a9aede08c48aff
Merge: 7f87af3 b0d768c
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 17 09:49:43 2013 -0500
Merge remote-tracking branch 'kraxel/chardev.7' into staging
# By Gerd Hoffmann
# Via Gerd Hoffmann
* kraxel/chardev.7:
chardev: fix pty_chr_timer
Message-id: 1378972894-11185-1-git-send-email-kraxel@xxxxxxxxxx
commit 426e3e6ce1abdb0d85faefbfac3cf4dcc7f224a3
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Wed Aug 28 19:12:15 2013 +0200
slirp: clean up slirp_update_timeout
No need to write out the timeout early, keep it local until we are done.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit a42e9c41888bc6a5446ef6bd95745c9fd023f107
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Aug 25 10:01:21 2013 +0800
slirp: set mainloop timeout with more precise value
If slirp needs to emulate tcp timeout, then the timeout value
for mainloop should be more precise, which is determined by
slirp's fasttimo or slowtimo. Achieve this by swap the logic
sequence of slirp_pollfds_fill and slirp_update_timeout.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit 9b0ca6cc64d3542be35f1ca6174de2ab6af30ed0
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Aug 25 10:01:20 2013 +0800
slirp: define timeout as macro
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit fe0ff43c9d8ccf45effdade8d40e44aed421187f
Author: Liu Ping Fan <qemulist@xxxxxxxxx>
Date: Sun Aug 25 10:01:19 2013 +0800
slirp: make timeout local
Each slirp has its own time to caculate timeout.
Signed-off-by: Liu Ping Fan <pingfank@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
commit ceae18bd74e8940ff79935a257c72e665b084bcc
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:09 2013 +0200
lsi: add 53C810 variant
Currently, treat it exactly as a 53C895A.
53C895A is a 53C810 with more capabilities, so this should work.
However, this lets us test different code paths on Linux, which
don't use lastest features if it detect a 810, or on some OSes
which only support 810 and not 895A (like very old Windows NT
versions).
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 689f5ff4376c576681ee581f11e710d6711f06b4
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:08 2013 +0200
lsi: remove todo
LSI emulation has been tested with Linux on PPC platform.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0903c35ddeebde56772b39cf08e7a0bae2eb39eb
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:07 2013 +0200
lsi: ignore write accesses to CTEST0 registers
53C895A datasheet says that this register is read/write, and that the
value
returned on read access is dependant of DMA FIFO state. However, nothing
is
said for written value.
53C810A datasheet gives more insight about this register:
"This was a general purpose read/write register in previous SYM53C8XX
family chips. Although it is still a read/write register, Symbios reserves
the right to use these bits for future 53C8XX family enhancements."
This prevents going to the default case, which prints an error message.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c7ac9f403af37439da0ce650b68bbcb13439768e
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:06 2013 +0200
lsi: check ssid versus sdid only if ssid is valid
This prevents some (invalid) error messages on console.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 16b8ed1d09e9535457a09b9faf7a7e6c6e8da255
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Sat Sep 14 17:51:05 2013 +0200
lsi: use constant name instead of its value
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 9f1a029abf15751e32a4b1df99ed2b8315f9072c
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Fri Sep 13 13:58:44 2013 +0200
pci: remove explicit check to 64K ioport size
This check is useless, as bigger addresses will be ignored when
added to 'io' MemoryRegion, which has a size of 64K.
However, some architectures don't use the 'io' MemoryRegion, like
the alpha and versatile platforms. They create a PCI I/O region
bigger than 64K, so let them handle PCI I/O BARs in the higher range.
MST: reinstated work-around for BAR sizing.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c046e8c4a26c902ca1b4f5bdf668a2da6bc75f54
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>
commit 2028fdf3791e14c5ad156252afa0e792192a3e92
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 12:58:57 2013 +0300
piix: use 64 bit window programmed by guest
Detect the 64 bit window programmed by firmware
and configure properties accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8b42d730e3401084720f4ba59d1e18a0d6c67dc6
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 12:57:36 2013 +0300
q35: use 64 bit window programmed by guest
Detect the 64 bit window programmed by firmware
and configure properties accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 438640695723f33be6d0081ac1e690aa40975c39
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 11:37:02 2013 +0300
pci: add helper to retrieve the 64-bit range
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c5a22c4344f17169bb20e122e9d935c62aedc063
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 11:04:39 2013 +0300
range: add min/max operations on ranges
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit cfe25e2bcada943984e27ee63918fd75dc4563ac
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Sep 2 11:41:37 2013 +0300
range: add Range to typedefs
will help simplify header dependencies.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 636228a887c4d5c0dc313bbf936de969b420a91a
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Sep 1 13:26:03 2013 +0300
q35: make pci window address/size match guest cfg
For Q35, MMCFG address and size are guest configurable.
Update w32 property to make it behave accordingly.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit c21bddf27fd8029890e9fc2ee314788919eababf
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 13 10:37:12 2013 +0200
qemu-iotests: Fix test 038
Test 038 uses asynchronous I/O, resulting (potentially) in a different
output for every run (regarding the order of the I/O accesses). This can
be fixed by simply sorting the I/O access messages, since their order is
irrelevant anyway (for this asynchonous I/O).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bff93281a75def2e3197005d72ad5cdc4719383f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Jul 15 18:21:40 2013 +0100
target-i386: Only provide CMOV and friends if feature bit set
The instructions CMOVcc, FCMOVcc and F[U]COMI[P] should only be
present if the CMOV feature bit is set. Add missing feature bit
checks so we correctly fault if emulating a 486 or 586.
This fixes bug LP:1201446.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f2f8560c7a5303065a2a3207ec475dfb3a622a0e
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>
commit 7f87af39dc786a979e7ebba338d0781e366060ed
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:12 2013 +0200
pc_sysfw: Fix ISA BIOS init for ridiculously big flash
pc_isa_bios_init() suffers integer overflow for flash larger than
INT_MAX.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1375276272-15988-9-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 39228250ce6cf67eb1c3799791d271f53c5c6347
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:11 2013 +0200
exec: Don't abort when we can't allocate guest memory
We abort() on memory allocation failure. abort() is appropriate for
programming errors. Maybe most memory allocation failures are
programming errors, maybe not. But guest memory allocation failure
isn't, and aborting when the user asks for more memory than we can
provide is not nice. exit(1) instead, and do it in just one place, so
the error message is consistent.
Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1375276272-15988-8-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e1e84ba050538bae24393e40b737078ecad99747
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:10 2013 +0200
exec: Clean up unnecessary S390 ifdeffery
Another issue missed in commit fdec991 is -mem-path: it needs to be
rejected only for old S390 KVM, not for any S390. Not that I
personally care, but the ifdeffery in qemu_ram_alloc_from_ptr() annoys
me.
Note that this doesn't actually make -mem-path work, as the kernel
doesn't (yet?) support large pages in the host for KVM guests. Clean
it up anyway.
Thanks to Christian Borntraeger for pointing out the S390 kernel
limitations.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Message-id: 1375276272-15988-7-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 2eb9fbaab56c6350c7d137428f4bd0bc79168214
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:09 2013 +0200
exec: Drop incorrect & dead S390 code in qemu_ram_remap()
Old S390 KVM wants guest RAM mapped in a peculiar way. Commit 6b02494
implemented that.
When qemu_ram_remap() got added in commit cd19cfa, its code carefully
mimicked the allocation code: peculiar way if defined(TARGET_S390X) &&
defined(CONFIG_KVM), else normal way.
For new S390 KVM, we actually want the normal way. Commit fdec991
changed qemu_ram_alloc_from_ptr() accordingly, but forgot to update
qemu_ram_remap(). If qemu_ram_alloc_from_ptr() maps RAM the normal
way, but qemu_ram_remap() remaps it the peculiar way, remapping
changes protection and flags, which it shouldn't.
Fortunately, this can't happen, as we never remap on S390.
Replace the incorrect code with an assertion.
Thanks to Christian Borntraeger for help with assessing the bug's
(non-)impact.
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-6-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 91138037cb341a04a66e4c43b6cb31d5d8a43a73
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:08 2013 +0200
exec: Simplify the guest physical memory allocation hook
Make it a generic hook rather than a KVM hook. Less code and
ifdeffery.
Since the only user of the hook is old S390 KVM, there's hope we can
get rid of it some day.
Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-5-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 3435f39513a104294b5e3bbf3612047028d25cfc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:07 2013 +0200
exec: Reduce ifdeffery around -mem-path
Instead of spreading its ifdeffery everywhere, confine it to
qemu_ram_alloc_from_ptr(). Everywhere else, simply test block->fd,
which is non-negative exactly when block uses -mem-path.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-4-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 0628c18267bbe8d44f0faf3e71acf0ae31bea7fd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:06 2013 +0200
exec: Clean up fall back when -mem-path allocation fails
With -mem-path, qemu_ram_alloc_from_ptr() first tries to allocate
accordingly, but when it fails, it falls back to normal allocation.
The fall back allocation code used to be effectively identical to the
"-mem-path not given" code, until it started to diverge in commit
432d268. I believe the code still works, but clean it up anyway: drop
the special fall back allocation code, and fall back to the ordinary
"-mem-path not given" code instead.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Message-id: 1375276272-15988-3-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit dfeaf2abc73429171ecc5b0b26ac4e5a24c047fc
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Jul 31 15:11:05 2013 +0200
exec: Fix Xen RAM allocation with unusual options
Issues:
* We try to obey -mem-path even though it can't work with Xen.
* To implement -machine mem-merge, we call
memory_try_enable_merging(new_block->host, size). But with Xen,
new_block->host remains null. Oops.
Fix by separating Xen allocation from normal allocation.
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Message-id: 1375276272-15988-2-git-send-email-armbru@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit aa3fe714f70654da47d9c2659b2d9ee295a9d930
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 12 14:57:27 2013 +0200
block: Assert validity of BdrvActionOps
In qmp_transaction, assert that the BdrvActionOps to be used is actually
valid.
This assertion failing is very improbable, however, it might happen, if
a new TransactionActionKind is introduced "out of order" and the
actions[] array is not updated.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4aa846f25e7cf14c77f699d8c1dfdfeddb091161
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Thu Sep 12 14:07:59 2013 +0530
qemu-iotests: Cleanup test image in test number 007
qemu-iotests number 007 doesn't do test image cleanup. This will affect
those protocols that expect a clean state before every test. Hence
ensure that test image is cleaned up in this test.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c745bfb4300206280ce6156b4bafe765f610057c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 11 18:47:52 2013 +0200
qemu-img: fix invalid JSON
Single quotes for JSON are a QMP-ism, use real JSON in
qemu-img output.
Reported-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f4ff3b7ba1bcb77d5b5cdbd6e695df793761170b
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Aug 29 18:13:25 2013 +1000
spapr-vscsi: Report error on unsupported MAD requests
The existing driver just dropped unsupported requests. This adds error
responses to those unhandled requests.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 26573a0c1f0427be168a537abccbcc942e07aa72
Author: Nikunj A. Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 2 10:33:38 2013 +0530
spapr-vscsi: Adding VSCSI capabilities
This implements capabilities exchange between vscsi host and client. As
at the moment no capability is supported, put zero flags everywhere and
return.
Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Nikunj A. Dadhania <nikunj@xxxxxxxxxxxxxxxxxx>
commit 65f3e33964bc4bb634d61463814a4ccca794e3c0
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jul 19 09:19:41 2013 +0200
iscsi: split discard requests in multiple parts
Replace .bdrv_aio_discard with .bdrv_co_discard so that discard
requests can be split in multiple parts, each for a small amount
of sectors.
This is useful because we expose a generic API with no limit
on the amount of sectors that can be unmapped in one request.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 70c60c089fdc6bf8a79324e492c13e8c08d55942
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>
commit 2c78857bf6a9b5d06e17533b8f40fee14e087987
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 10 13:59:43 2013 +0200
qemu-iotests: Adjustments due to error propagation
When opening/creating images, propagating errors instead of immediately
emitting them on occurrence results in errors generally being printed on
a single line rather than being split up into multiple ones. This in
turn requires adjustments to some test results.
Also, test 060 used a sed to filter out the test image directory and
format by removing everything from the affected line after a certain
keyword; this now also removes the error message itself, which can be
fixed by using _filter_testdir and _filter_imgfmt.
Finally, _make_test_img in common.rc did not filter out the test image
directory etc. from stderr. This has been fixed through a redirection of
stderr to stdout (which is already done in _check_test_img and
_img_info).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 3ef6c40ad0b350e18c78135ffbdbe209cb479c1f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 09:40:43 2013 +0200
qcow2: Use Error parameter
Employ usage of the new Error ** parameter in qcow2_open, qcow2_create
and associated functions.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit b70d8c237a0e5e829474c3a12c8783893c4e470e
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 6 16:51:03 2013 +0200
qemu-img create: Emit filename on error
bdrv_img_create generally does not emit the target filename, although
this is pretty important information. Therefore, prepend its error
message with the output filename (if an error occurs).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit cc84d90ff54c025190dbe49ec5fea1268217c5f2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Sep 6 17:14:26 2013 +0200
block: Error parameter for create functions
Add an Error ** parameter to bdrv_create and its associated functions to
allow more specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 34b5d2c68eb4082c288e70fb99c61af8f7b96fde
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 14:45:29 2013 +0200
block: Error parameter for open functions
Add an Error ** parameter to bdrv_open, bdrv_file_open and associated
functions to allow more specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit d5124c00d80b4d948509f2c7f6b54228d9981f75
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 14:26:05 2013 +0200
bdrv: Use "Error" for creating images
Add an Error ** parameter to BlockDriver.bdrv_create to allow more
specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 015a1036a74ad29bb6916754911ce25587ff4db3
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 14:22:29 2013 +0200
bdrv: Use "Error" for opening images
Add an Error ** parameter to BlockDriver.bdrv_open and
BlockDriver.bdrv_file_open to allow more specific error messages.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 8023090be592514dea4975428543edd598c65fc3
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:39 2013 +0800
qemu-iotests: add 057 internal snapshot for block device test case
Create in transaction and deletion in single command will be tested.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7a4ed2ee4215eee80d2ae02097bbf63a33748fda
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:38 2013 +0800
hmp: add interface hmp_snapshot_delete_blkdev_internal
It is hard to make both id and name optional in hmp console as qmp
interface, so this interface require user to specify name.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 775ca88e8205248929a3f141925eafe2ec1e3275
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:37 2013 +0800
hmp: add interface hmp_snapshot_blkdev_internal
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 44e3e053af56c1faec79ac9fdd78ef3f0ecd467e
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:36 2013 +0800
qmp: add interface blockdev-snapshot-delete-internal-sync
This interface use id and name as optional parameters, to handle the
case that one image contain multiple snapshots with same name which
may be '', but with different id.
Adding parameter id is for historical compatiability reason, and
that case is not possible in qemu's new interface for internal
snapshot at block device level, but still possible in qemu-img.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f323bc9e8b3b46ad28402995a9dcaaeff3eb5e03
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:35 2013 +0800
qmp: add interface blockdev-snapshot-internal-sync
Snapshot ID can't be specified in this interface.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit bbe860104f0544d7863296606e042cc62bf7ab4b
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:34 2013 +0800
qmp: add internal snapshot support in qmp_transaction
Unlike savevm, the qmp_transaction interface will not generate
snapshot name automatically, saving trouble to return information
of the new created snapshot.
Although qcow2 support storing multiple snapshots with same name
but different ID, here it will fail when an snapshot with that name
already exist before the operation. Format such as rbd do not support
ID at all, and in most case, it means trouble to user when he faces
multiple snapshots with same name, so ban that case. Request with
empty name will be rejected.
Snapshot ID can't be specified in this interface.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a89d89d3e65800fa4a8e00de7af0ea8272bef779
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:33 2013 +0800
snapshot: distinguish id and name in snapshot delete
Snapshot creation actually already distinguish id and name since it take
a structured parameter *sn, but delete can't. Later an accurate delete
is needed in qmp_transaction abort and blockdev-snapshot-delete-sync,
so change its prototype. Also *errp is added to tip error, but return
value is kepted to let caller check what kind of error happens. Existing
caller for it are savevm, delvm and qemu-img, they are not impacted by
introducing a new function bdrv_snapshot_delete_by_id_or_name(), which
check the return value and do the operation again.
Before this patch:
For qcow2, it search id first then name to find the one to delete.
For rbd, it search name.
For sheepdog, it does nothing.
After this patch:
For qcow2, logic is the same by call it twice in caller.
For rbd, it always fails in delete with id, but still search for name
in second try, no change to user.
Some code for *errp is based on Pavel's patch.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 2ea1dd758c45f8ff12c67ed7934c3ce021eeaf12
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Wed Sep 11 14:04:32 2013 +0800
snapshot: new function bdrv_snapshot_find_by_id_and_name()
To make it clear about id and name in searching, add this API
to distinguish them. Caller can choose to search by id or name,
*errp will be set only for exception.
Some code are modified based on Pavel's patch.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d982919d3897f36d79e215c46e3bc27fd6e27bf8
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Sep 5 10:55:54 2013 +0200
qemu-iotests: New test case in 061
Add one test case for zero cluster expansion on qcow2 version downgrade
in shared L2 tables (i.e., L2 tables with a refcount > 1) and one for
zero expansion on backed clusters in shared L2 tables.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit fd9c577b24818e0051e93c4f1e3db7262869f162
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Fri Sep 6 11:24:34 2013 +0800
qemu-iotests: add tests for runtime fd passing via SCM rights
This case will test whether the monitor can receive fd at runtime.
To verify better, additional monitor is created to see if qemu
can handler two monitor instances correctly.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 30b005d9d75af6388899fad2f462efb8af2b25b3
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Fri Sep 6 11:24:33 2013 +0800
qemu-iotests: add infrastructure of fd passing via SCM
This patch make use of the compiled scm helper program to transfer
fd via unix socket at runtime.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit f93296eaffcb3753f680f2dcffea2637f14f2092
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Fri Sep 6 11:24:32 2013 +0800
qemu-iotests: add unix socket help program
This program can do a sendmsg call to transfer fd with unix
socket, which is not supported in python2.
The built binary will not be deleted in clean, but it is a
existing issue in ./tests, which should be solved in another
patch.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a8110c3d327cabff8dc258c5c8705903b56c1513
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:55 2013 +0200
qemu-iotest: qcow2 image option amendment
Add tests for qemu-img amend on qcow2 image files.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9296b3ed7050cc6e0645fbc3b0aea74406d7eeb2
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:54 2013 +0200
qcow2: Implement bdrv_amend_options
Implement bdrv_amend_options for compat, size, backing_file, backing_fmt
and lazy_refcounts.
Downgrading images from compat=1.1 to compat=0.10 is achieved through
handling all incompatible flags accordingly, clearing all compatible and
autoclear flags and expanding all zero clusters.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit b6481f376bc65894910dd98db3f299d698817106
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:53 2013 +0200
qcow2: Save refcount order in BDRVQcowState
Save the image refcount order in BDRVQcowState. This will be relevant
for future code supporting different refcount orders than four and also
for code that needs to verify a certain refcount order for an opened
image.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 32b6444d23d0ff618d73e5b766600cd258066169
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:52 2013 +0200
qcow2-cluster: Expand zero clusters
Add functionality for expanding zero clusters. This is necessary for
downgrading the image version to one without zero cluster support.
For non-backed images, this function may also just discard zero clusters
instead of truly expanding them.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e7108feaace8e02b3a4bf010448fc2744f753381
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:51 2013 +0200
qcow2-cache: Empty cache
Add a function for emptying a cache, i.e., flushing it and marking all
elements invalid.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 6f176b48f9f98820ed192a1355cc1c7c08ddf46b
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 10:09:50 2013 +0200
block: Image file option amendment
This patch adds the "amend" option to qemu-img which allows changing
image options on existing image files. It also adds the generic bdrv
implementation which is basically just a wrapper for the image format
specific function.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 56e023af805215260c71d44f5b5a98087f4920d2
Author: Tal Kain <tal.kain@xxxxxxxxxxxxxxxxxx>
Date: Mon Sep 9 11:14:55 2013 +0200
raw-win32.c: Fix incorrect handling behaviour of small block files
It is a valid case that the read data's size is smaller than the
requested size since there could be files that are smaller than
the minimum block size (For ex. when a VMDK disk descriptor file)
Signed-off-by: Tal Kain <tal.kain@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1ebf561c11302f4fbe4afdd82758fe053cf1d5fc
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 6 12:20:08 2013 +0200
qcow2: Discard VM state in active L1 after creating snapshot
During savevm, the VM state is written to the active L1 of the image and
then a snapshot is taken. After that, the VM state isn't needed any more
in the active L1 and should be discarded. This is implemented by this
patch.
The impact of not discarding the VM state is that a snapshot can never
become smaller than any previous snapshot (because it would be padded
with old VM state), and more importantly that future savevm operations
cause unnecessary COWs (with associated flushes), which makes subsequent
snapshots much slower.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit 670df5e3b4b5ef830a7c3c970170dbfa11cbb8d2
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Fri Sep 6 12:18:47 2013 +0200
qcow2: Pass discard type to qcow2_discard_clusters()
The function will be used internally instead of only being called for
guest discard requests.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Max Reitz <mreitz@xxxxxxxxxx>
commit b0d768c35e08d2057b63e8e77e7a513c447199fa
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>
commit 54a5c1d5db47b4146490937ed73e3f56022aaba6
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jul 19 09:19:40 2013 +0200
iscsi: add .bdrv_get_block_status
this patch adds a coroutine for .bdrv_co_block_status as well as
a generic framework that can be used to build coroutines in block/iscsi.
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit f18a7cbb0992a02225d26afd336aaf47de75e11c
Author: Peter Lieven <pl@xxxxxxx>
Date: Fri Jul 19 09:19:39 2013 +0200
iscsi: add logical block provisioning information to iscsilun
Signed-off-by: Peter Lieven <pl@xxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 57ffcc4c83331cb4b2639a866b6ecc11b3e7092c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:16:33 2013 +0100
hw/scsi/lsi53c895a: Use deposit32 rather than handcoded shift/mask
Use deposit32() rather than handcoded shifts/masks to update the
scratch registers. This is cleaner and incidentally avoids a clang
sanitizer complaint ("runtime error: left shift of 255 by 24 places
cannot be represented in type 'int'").
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 927941059b95c3cc6264241115a23b1d14f1beb0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:16:32 2013 +0100
hw/scsi/lsi53c895a: Use sextract32 for sign-extension
Use sextract32() for doing sign-extension rather than rolling
our own implementation.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit c24e7517ee4a98e90eee5f0f07708a1fa12326b3
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>
commit a27292b5d7545509bfa171922516d2033c570205
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Aug 19 17:53:15 2013 +0200
virtio-scsi: Make type virtio-scsi-common abstract
It's the abstract base of virtio-scsi-device and vhost-scsi.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit eb37f14658df23c51f172bddb0c45eecf408927c
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Jul 29 14:49:29 2013 +1000
spapr-vscsi: add task management
At the moment the guest kernel issues two types of task management
requests to the hypervisor - task about and lun reset. This adds
handling for these tasks. As spapr-vscsi starts calling scsi_req_cancel(),
free_request callback was implemented.
As virtio-vscsi, spapr-vscsi does not handle CLEAR_ACA either as CDB
control byte does not seem to be used at all so NACA bit is not
set to the guest so the guest has no good reason to call CLEAR_ACA task.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[Fix choice of UCSOLCNT vs. SCSOLCNT. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 5accc8408f2dac1e00d888e4fe75e6174ba2a940
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Fri Aug 2 17:02:01 2013 +0200
scsi: prefer UUID to VM name for the initiator name
The UUID is unique even across multiple hosts, thus it is
better than a VM name even if it is less user-friendly.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 2d1fe1873a984d1c2c89ffa3d12949cafc718551
Merge: 6f52e51 6a49fa9
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:52 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130910'
into staging
ARM queue:
* aarch64 preparation patchset (excluding the defconfigs, so this
doesn't actually enable the new targets yet)
* minor bugfixes and cleanups
* disable "-cpu any" in system emulation mode
* fix ARMv7M stack alignment on reset
# gpg: Signature made Tue 10 Sep 2013 01:46:11 PM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Alexander Graf (13) and others
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130910: (28 commits)
configure: Add handling code for AArch64 targets
linux-user: Add AArch64 support
linux-user: Allow targets to specify a minimum uname release
linux-user: Add AArch64 termbits.h definitions
linux-user: Implement cpu_set_tls() and cpu_clone_regs() for AArch64
linux-user: Make sure NWFPE code is 32 bit ARM only
linux-user: Add signal handling for AArch64
linux-user: Fix up AArch64 syscall handlers
linux-user: Add syscall number definitions for AArch64
linux-user: Add cpu loop for AArch64
linux-user: Don't treat AArch64 cpu names specially
target-arm: Add AArch64 gdbstub support
target-arm: Add AArch64 translation stub
target-arm: Prepare translation for AArch64 code
target-arm: Disable 32 bit CPUs in 64 bit linux-user builds
target-arm: Add new AArch64CPUInfo base class and subclasses
target-arm: Pass DisasContext* to gen_set_pc_im()
target-arm: Fix target_ulong/uint32_t confusions
target-arm: Export cpu_env
target-arm: Extract the disas struct to a header file
...
Message-id: 1378839142-7726-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 6f52e51bb7706562634e5dd2755a1e9b8a5037cc
Merge: d985bd4 02dc4bf
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:44 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Cole Robinson
# Via Luiz Capitulino
* luiz/queue/qmp:
qapi-types.py: Fix enum struct sizes on i686
Message-id: 1378822364-13887-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit d985bd4d55555a06c4239eadba4e367880e938ba
Merge: a640f07 c58c7b9
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:26 2013 -0500
Merge remote-tracking branch 'spice/spice.v73' into staging
# By Gerd Hoffmann (2) and Christophe Fergeau (1)
# Via Gerd Hoffmann
* spice/spice.v73:
qxl: fix local renderer
qxl: trace io port name
spice-core: Use g_strdup_printf instead of snprintf
Message-id: 1378807572-27902-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit a640f07c0d03bfa3031af1fc0a32b0d779917d17
Merge: f69f0bc adbecc8
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:21 2013 -0500
Merge remote-tracking branch 'kraxel/usb.89' into staging
# By Gerd Hoffmann (2) and Miroslav Rezanina (2)
# Via Gerd Hoffmann
* kraxel/usb.89:
ehci: save device pointer in EHCIState
Remove dev-bluetooth.c dependency from vl.c
Preparation for usb-bt-dongle conditional build
usb: sanity check setup_index+setup_len in post_load
Message-id: 1378806073-25197-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit f69f0bcac951f3c3089246695874b84ea8967936
Merge: 97fdb94 e2682db
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:46:08 2013 -0500
Merge remote-tracking branch 'mdroth/qga-pull-2013-9-9' into staging
# By Tomoki Sekiyama (10) and Paul Burton (1)
# Via Michael Roth
* mdroth/qga-pull-2013-9-9:
QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze
command
qemu-ga: Install Windows VSS provider on `qemu-ga -s install'
qemu-ga: Call Windows VSS requester in fsfreeze command handler
qemu-ga: Add Windows VSS provider and requester as DLL
error: Add error_set_win32 and error_setg_win32
qemu-ga: Add configure options to specify path to Windows/VSS SDK
Add a script to extract VSS SDK headers on POSIX system
checkpatch.pl: Check .cpp files
Add c++ keywords to QAPI helper script
configure: Support configuring C++ compiler
mips_malta: support up to 2GiB RAM
Message-id: 1378755701-2051-1-git-send-email-mdroth@xxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 97fdb9410bb5398fd33f51a37e637d697ace9f73
Merge: 964737e 254c128
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:45:57 2013 -0500
Merge remote-tracking branch 'sstabellini/xen-2013-09-09' into staging
# By Anthony PERARD
# Via Stefano Stabellini
* sstabellini/xen-2013-09-09:
pc_q35: Initialize Xen.
pc: Initializing ram_memory under Xen.
Message-id: alpine.DEB.2.02.1309091718030.6397@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 964737ea195de1560f3bcf55b8b6d4f7d0d4a619
Merge: ce2b694 8f94b07
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:45:37 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Paolo Bonzini (21) and others
# Via Stefan Hajnoczi
* stefanha/block: (42 commits)
qemu-iotests: Fixed test case 026
qemu-iotests: Whitespace cleanup
dataplane: Fix startup race.
block: look for zero blocks in bs->file
block: add default get_block_status implementation for protocols
raw-posix: report unwritten extents as zero
raw-posix: return get_block_status data and flags
docs, qapi: document qemu-img map
qemu-img: add a "map" subcommand
block: return BDRV_BLOCK_ZERO past end of backing file
block: use bdrv_has_zero_init to return BDRV_BLOCK_ZERO
block: return get_block_status data and flags for formats
block: define get_block_status return value
block: introduce bdrv_get_block_status API
block: make bdrv_has_zero_init return false for copy-on-write-images
qemu-img: always probe the input image for allocated sectors
block: expect errors from bdrv_co_is_allocated
block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above
distinction
block: do not use ->total_sectors in bdrv_co_is_allocated
block: make bdrv_co_is_allocated static
...
Message-id: 1378481953-23099-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit ce2b69417caae3731fb50f67854afa006f624a2d
Merge: df71316 45d883d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Wed Sep 11 14:45:18 2013 -0500
Merge remote-tracking branch 'stefanha/net' into staging
# By Brad Smith (2) and others
# Via Stefan Hajnoczi
* stefanha/net:
ne2000: mark I/O as LITTLE_ENDIAN
vmxnet3: Eliminate __packed redefined warning
e1000: add interrupt mitigation support
net: Rename send_queue to incoming_queue
tap: Use numbered tap/tun devices on all *BSD OS's
Message-id: 1378481624-20964-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 6a49fa95c98cd155f7aaf48e5c6fa6bb6adea862
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:22 2013 +0100
configure: Add handling code for AArch64 targets
Add the necessary code to configure to handle AArch64 as a target
CPU (we already have some code for supporting it as host). Note
that this doesn't enable the AArch64 targets yet.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-23-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-12-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* don't need to set TARGET_ABI_DIR to aarch64 as that is the default
* don't build nwfpe -- this is 32 bit legacy only
* rewrite commit message
* add aarch64 to the list of "fdt required" targets
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 99033caee6e9b339c89a368b5ed1f73ef17924a9
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:21 2013 +0100
linux-user: Add AArch64 support
This patch adds support for AArch64 in all the small corners of
linux-user (primarily in image loading and startup code).
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-22-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-11-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* removed some unnecessary #defines from syscall.h
* catch attempts to use a 32 bit only cpu with aarch64-linux-user
* termios stuff moved into its own patch
* we specify our minimum uname version here now
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 4a24a758101ff726c9bd3b867e12d5580c793af0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:20 2013 +0100
linux-user: Allow targets to specify a minimum uname release
For newer target architectures, glibc can be picky about the kernel
version: for example, it will not run on an aarch64 system unless
the kernel reports itself as at least 3.8.0. Accommodate this by
enhancing the existing support for faking the kernel version so
that each target can optionally specify a minimum version: if
the user doesn't force a specific fake version then we will override
with the minimum required version only if the real host kernel
version is insufficient.
Use this facility to let aarch64 report a minimum of 3.8.0.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-21-git-send-email-peter.maydell@xxxxxxxxxx
commit af89c7dba52c509bdb72714139aadbe21a133f6e
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:19 2013 +0100
linux-user: Add AArch64 termbits.h definitions
Add the AArch64 termbits.h with all the target's termios related
constants and structures.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-20-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: split out from another patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit e2cea499cc2e8da5b2d5753625d2c57685193783
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:18 2013 +0100
linux-user: Implement cpu_set_tls() and cpu_clone_regs() for AArch64
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-19-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: pulled out from another patch; don't use is_a64() here;
moved to linux-user from target-arm]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 848d72cdd894e3a883118fd0f1ede14ff66bfa21
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:17 2013 +0100
linux-user: Make sure NWFPE code is 32 bit ARM only
On ARM, linux-user emulation includes NWFPE support for emulating the
ancient FPA floating point coprocessor. This has long since been
superseded by VFP and is only required for legacy binaries. The
AArch64 linux-user target doesn't compile in NWFPE support, so make
sure the relevant code is protected by suitable ifdefs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-18-git-send-email-peter.maydell@xxxxxxxxxx
commit 1744aea182d0fe20e190d037ccf225cbe05e96ae
Author: Andreas Schwab <schwab@xxxxxxx>
Date: Tue Sep 3 20:12:16 2013 +0100
linux-user: Add signal handling for AArch64
This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.
Signed-off-by: Andreas Schwab <schwab@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-17-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-10-git-send-email-john.rigby@xxxxxxxxxx
[PMM: fixed style nits: tabs, long lines;
pulled target_signal.h in from a later patch; it fits better here]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 09701199f6d87ebfe609776156108c6dec812cde
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:15 2013 +0100
linux-user: Fix up AArch64 syscall handlers
Some syscall handlers have special code for ARM enabled that we don't
need on AArch64. Exclude AArch64 in those cases. In other places we
can share struct definitions with other targets or have to provide our
own.
With this patch applied, most syscall definitions in linux-user should
be sound for AArch64.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-16-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-9-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit c7907301e7df9623bc5216934e30125ce66cfaea
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:14 2013 +0100
linux-user: Add syscall number definitions for AArch64
The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-15-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-8-git-send-email-john.rigby@xxxxxxxxxx
[PMM: changes relating to cpu_loop() removed as they are superseded
by an earlier patch]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 1861c4543ffa6224d0661036afaa7ec1cf30e8bb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:13 2013 +0100
linux-user: Add cpu loop for AArch64
Add the main linux-user cpu loop for AArch64. Since AArch64
has a different system call interface, doesn't need to worry
about FPA emulation and may in the future keep the prefetch/data
abort information in different system registers, it's simplest
just to use a completely separate loop from the 32 bit ARM
target, rather than peppering it with ifdefs.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-14-git-send-email-peter.maydell@xxxxxxxxxx
commit 067d983127da5c05a365230b12f2f557ec721c97
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:12 2013 +0100
linux-user: Don't treat AArch64 cpu names specially
32-bit ARM has a lot of different names for different types of CPUs it
supports.
On AArch64, we don't have this, so we really don't want to execute the
32-bit
logic. Stub it out for AArch64 linux-user guests.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-13-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-7-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 96c04212ba80d4f9630a5e82681285eeb41af9cc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:11 2013 +0100
target-arm: Add AArch64 gdbstub support
We want to be able to debug AArch64 guests. So let's add the respective
gdb
stub functions and xml descriptions that allow us to do so.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-12-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-6-git-send-email-john.rigby@xxxxxxxxxx
[PMM: dropped unused fp regs XML for now; moved 64 bit only functions
to new gdbstub64.c; these are hooked up in AArch64CPU, not via
ifdefs in ARMCPU]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 14ade10f840deec02d32530e5a64bd5ec275adbd
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:10 2013 +0100
target-arm: Add AArch64 translation stub
We should translate AArch64 mode separately from AArch32 mode. In AArch64
mode,
registers look vastly different, instruction encoding is completely
different,
basically the system turns into a different machine.
So let's do a simple if() in translate.c to decide whether we can handle
the
current code in the legacy AArch32 code or in the new AArch64 code.
So far, the translation always complains about unallocated instructions.
There
is no emulator functionality in this patch!
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-11-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-5-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* provide no-op versions of a64 functions ifndef TARGET_AARCH64;
this lets us avoid #ifdefs in translate.c
* insert the missing call to disas_a64_insn()
* stash the insn in the DisasContext rather than reloading it in
real_unallocated_encoding()
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3926cc8433542e8c9b7cdc438355fb7660838fd0
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:09 2013 +0100
target-arm: Prepare translation for AArch64 code
This patch adds all the prerequisites for AArch64 support that didn't
fit into split up patches. It extends important bits in the core cpu
headers to also take AArch64 mode into account.
Add new ARM_TBFLAG_AARCH64_STATE translation buffer flag
indicate an ARMv8 cpu running in aarch64 mode vs aarch32 mode.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-10-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-4-git-send-email-john.rigby@xxxxxxxxxx
[PMM:
* rearranged tbflags so AArch64? is bit 31 and if it is set then
30..0 are freely available for whatever makes most sense for that mode
* added version bump since we change VFP migration state
* added a comment about how VFP/Neon register state works
* physical address space is 48 bits, not 64
* added ARM_FEATURE_AARCH64 flag to identify 64-bit capable CPUs
]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 15ee776bf2001883781cc83d456249a60532bb01
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:08 2013 +0100
target-arm: Disable 32 bit CPUs in 64 bit linux-user builds
If we're building aarch64-linux-user then the 32 bit CPUs are
all unwanted, because they can't possibly execute the 64 bit
binaries we will be running; disable them.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-9-git-send-email-peter.maydell@xxxxxxxxxx
commit d14d42f19bf3dcef5c81ec2324843121f552a6fc
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:07 2013 +0100
target-arm: Add new AArch64CPUInfo base class and subclasses
Create a new AArch64CPU class; all 64-bit capable ARM
CPUs are subclasses of this. (Currently we only support
one, the "any" CPU used by linux-user.)
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-8-git-send-email-peter.maydell@xxxxxxxxxx
commit eaed129deaea393640cf6bff006cd5cec3b38d8f
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:06 2013 +0100
target-arm: Pass DisasContext* to gen_set_pc_im()
We want gen_set_pc_im() to work for both AArch64 and AArch32, but
to do this we'll need the DisasContext* so we can tell which mode
we're in, so pass it in as a parameter.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 0a2461fa49e4d2aeb846390e1eb1bdb9e8196ca4
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:05 2013 +0100
target-arm: Fix target_ulong/uint32_t confusions
Correct a few places that were using uint32_t or a 32 bit
only format string to handle something that should be a target_ulong.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-6-git-send-email-peter.maydell@xxxxxxxxxx
[PMM: split out to separate patch; added gen_goto_tb() and
gen_set_pc_im() dest params to list of things to change.]
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 3407ad0e7a6f04905fc6a8ea72be03553e777988
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:04 2013 +0100
target-arm: Export cpu_env
The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-5-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-3-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f570c61e694d78fc2f6717f4fbb7e820bf72d8dc
Author: Alexander Graf <agraf@xxxxxxx>
Date: Tue Sep 3 20:12:03 2013 +0100
target-arm: Extract the disas struct to a header file
We will need to share the disassembly status struct between AArch32 and
AArch64 modes. So put it into a header file that both sides can use.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
Signed-off-by: John Rigby <john.rigby@xxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-4-git-send-email-peter.maydell@xxxxxxxxxx
Message-id: 1368505980-17151-2-git-send-email-john.rigby@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 08307563ff6cf8cb8d2a7927804dfc5c7dbe86d6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 3 20:12:02 2013 +0100
target-arm: Abstract out load/store from a vaddr in AArch32
AArch32 code (ie traditional 32 bit world) expects to be
able to pass a vaddr in a TCGv_i32. However when QEMU is
compiled with TARGET_LONG_BITS=32 the TCG load/store
functions take a TCGv_i64. Abstract out load/store with
a 32 bit vaddr so we have a place to put the zero extension
of the vaddr and the extension/truncation of the data value.
Apart from the function definitions most of this patch is
a simple s/tcg_gen_qemu_/gen_aa32_/.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378235544-22290-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 4d017979aa1672b40ccc083daf455f8740eead82
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:33 2013 +0100
abitypes.h: Remove incorrect ARM ABI_LLONG_ALIGNMENT
The ARM EABI specifies that 64 bit integers should be
8 aligned; remove our incorrect setting of 4 alignment.
This has no actual effect since it only set the alignment
for the 'abi_ullong' and 'abi_llong' types, which are used
only inside code which is MIPS-specific, but it will
avoid problems later if we use the types elsewhere.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 031c44e4deedbd7829703654e381ca0b18e78a12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:33 2013 +0100
pl110: Clarify comment about PL110 ID on VersatilePB
Clarify a comment about the ID register value presented by
the PL110 variant present on the VersatilePB board (based
on testing what the actual hardware does), to indicate that
this is not an error in our emulation, and to remove an #if-0.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 78027bb6d9111c8ccd515930cfa05d7f532ecb2a
Author: Cole Robinson <crobinso@xxxxxxxxxx>
Date: Tue Sep 10 19:09:33 2013 +0100
target-arm: Implement qmp query-cpu-definitions
Libvirt uses this to introspect available CPU models.
Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id:
c0bdcd6c7ea6a085a6902ccaa73180fd771c8267.1378303555.git.crobinso@xxxxxxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit f62cafd4c87fad7bb9b9544b4cf4991d34764b11
Author: Sebastian Ottlik <ottlik@xxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: fix ARMv7M stack alignment on reset
When the initial SP is loaded from the vector table on ARMv7M systems the
two
least significant bits are ignored as the stack is always aligned at a
four byte
boundary (see ARM DDI 0403C, B1.4.1 and B1.5.5). So far QEMU did not
ignore
these bits leading to a stack alignment inconsitent with real hardware for
binaries that rely on this behaviour. This patch fixes this issue by
masking the
two least significant bits when loading the SP.
Signed-off-by: Sebastian Ottlik <ottlik@xxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1378286595-27072-1-git-send-email-ottlik@xxxxxx
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 78dbbbe4dff95369c63bf77ee0df23371e1d6602
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: Avoid "1 << 31" undefined behaviour
Avoid the undefined behaviour of "1 << 31" by using 1U to make
the shift be of an unsigned value rather than shifting into the
sign bit of a signed integer. For consistency, we make all the
CPSR_* constants unsigned, though the only one which triggers
undefined behaviour is CPSR_N.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1378391908-22137-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 534df156090539854c2ac819dcdb096d01dab5c1
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: Use sextract32() in branch decode
In the decode of ARM B and BL insns, swap the order of the
"append 2 implicit zeros to imm24" and the sign extend, and
use the new sextract32() utility function to do the latter.
This avoids a direct dependency on the undefined C behaviour
of shifting into the sign bit of an integer.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1378391908-22137-2-git-send-email-peter.maydell@xxxxxxxxxx
commit f5f6d38b7458b8a1a46a750ac131ca8a2d45d946
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Sep 10 19:09:32 2013 +0100
target-arm: Make '-cpu any' available in linux-user mode only
Make the 'any' CPU for target-arm available only in linux-user mode.
The ARM target provides a CPU named "any", which turns on support for
all user-level instruction set extensions we know about. This is
intended for linux-user emulation mode, where it is the default CPU type.
It makes no sense to try to use this for system emulation, since we don't
initialize it with any system-level information like feature register
values or implementation specific cp15 registers. (Unsurprisingly, some
boards won't boot at all, though you might get lucky in some cases where
the guest doesn't happen to prod things that aren't there.)
Prevent users from making this command line error by removing the
CPU definition from the softmmu build.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Message-id: 1378213995-12945-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 02dc4bf5684d3fb46786fab2ecff98214b1df9fe
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>
commit adbecc89731cf3e0ae656d50ea9fa58c589c4bdc
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>
commit 615fe4de4b3c26619611078960d3103550bde7d0
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Tue Sep 3 11:23:09 2013 +0200
Remove dev-bluetooth.c dependency from vl.c
Use usb_legacy_register handling to create bt-dongle device and remove
code
dependency from vl.c so CONFIG_USB_BLUETOOTH can be disabled.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 644e1a8a34d2f799bfeefae94b71593a2aa662ae
Author: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Tue Sep 3 11:23:08 2013 +0200
Preparation for usb-bt-dongle conditional build
To allow disable usb-bt-dongle device using CONFIG_BLUETOOTH option, some
of
functions in vl.c file has to be made accessible in dev-bluetooth.c. This
is
pure code moving.
Signed-off-by: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c60174e847082ab9f70720f86509a3353f816fad
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 17:09:30 2013 +0200
usb: sanity check setup_index+setup_len in post_load
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c58c7b959b93b864a27fd6b3646ee1465ab8832b
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>
commit 18b203850a859f1d4688baa8a0ddb8e7af55962f
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Thu Sep 5 17:30:05 2013 +0200
qxl: trace io port name
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 6735aa99a43c70c09b53af190b24600a61178b95
Author: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Date: Mon Sep 2 15:41:32 2013 +0200
spice-core: Use g_strdup_printf instead of snprintf
Several places in spice-core.c were using either g_malloc+snprintf
or snprintf+g_strdup to achieve the same result as g_strdup_printf.
Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit e2682db06a6c218f149ff990959c31f3b3d82003
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:39 2013 -0400
QMP/qemu-ga-client: Make timeout longer for guest-fsfreeze-freeze command
guest-fsfreeze-freeze command can take longer than 3 seconds when heavy
disk I/O is running. To avoid unexpected timeout, this changes the timeout
to 60 seconds (timeout of pre-commit phase of VSS).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit f311f2c20a1e33c1e5fdb50ee21e69a5bf26c950
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:32 2013 -0400
qemu-ga: Install Windows VSS provider on `qemu-ga -s install'
Register QGA VSS provider library into Windows when qemu-ga is installed
as
Windows service ('-s install' option). It is deregistered when the service
is uninstalled ('-s uninstall' option).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 64c003174039d0c63ea2bef48d600363ce80a58b
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:25 2013 -0400
qemu-ga: Call Windows VSS requester in fsfreeze command handler
Support guest-fsfreeze-freeze and guest-fsfreeze-thaw commands for Windows
guests. When fsfreeze command is issued, it calls the VSS requester to
freeze filesystems and applications. On thaw command, it again tells the
VSS
requester to thaw them.
This also adds calling of initialize functions for the VSS requester.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit b39297aedfabe9b2c426cd540413be991500da25
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:18 2013 -0400
qemu-ga: Add Windows VSS provider and requester as DLL
Adds VSS provider and requester as a qga-vss.dll, which is loaded by
Windows VSS service as well as by qemu-ga.
"provider.cpp" implements a basic stub of a software VSS provider.
Currently, this module only relays a frozen event from VSS service to the
agent, and thaw event from the agent to VSS service, to block VSS process
to keep the system frozen while snapshots are taken at the host.
To register the provider to the guest system as COM+ application, the type
library (.tlb) for qga-vss.dll is required. To build it from COM IDL
(.idl),
VisualC++, MIDL and stdole2.tlb in Windows SDK are required. This patch
also
adds pre-compiled .tlb file in the repository in order to enable
cross-compile qemu-ga.exe for Windows with VSS support.
"requester.cpp" provides the VSS requester to kick the VSS snapshot
process.
Qemu-ga.exe works without the DLL, although fsfreeze features are
disabled.
These functions are only supported in Windows 2003 or later. In older
systems, fsfreeze features are disabled.
In several versions of Windows which don't support attribute
VSS_VOLSNAP_ATTR_NO_AUTORECOVERY, DoSnapshotSet fails with error
VSS_E_OBJECT_NOT_FOUND. In this patch, we just ignore this error.
To solve this fundamentally, we need a framework to handle mount writable
snapshot on guests, which is required by VSS auto-recovery feature
(cleanup phase after a snapshot is taken).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 20840d4cfe5198cde313ac953279e76f16c5b76d
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:11 2013 -0400
error: Add error_set_win32 and error_setg_win32
These functions help maintaining homogeneous formatting of error messages
with Windows error code and description (generated by
g_win32_error_message()).
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit d9840e2592493c816ad50f4211a9a4ec35371def
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:40:03 2013 -0400
qemu-ga: Add configure options to specify path to Windows/VSS SDK
To enable VSS support in qemu-ga for Windows, header files included in
VSS SDK are required.
The VSS support is enabled by the configure option like below:
./configure --with-vss-sdk="/path/to/VSS SDK"
If the path is omitted, it tries to search the headers from default paths
and VSS support is enabled only if the SDK is found.
VSS support is disabled if --without-vss-sdk or --with-vss-sdk=no is
specified.
VSS SDK is available from:
http://www.microsoft.com/en-us/download/details.aspx?id=23490
To cross-compile using mingw, you need to setup the SDK on Windows
environments to extract headers. You can also extract the SDK headers on
POSIX environments using scripts/extract-vss-headers and msitools.
In addition, --with-win-sdk="/path/to/Windows SDK" option is also added to
specify path to Windows SDK, which may be used for native-compile of .tlb
file of qemu-ga VSS provider. However, this is usually unnecessary because
pre-compiled .tlb file is included.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 24482749c7d6d7bc0106a43ebac124526fb5b376
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:57 2013 -0400
Add a script to extract VSS SDK headers on POSIX system
VSS SDK(*) setup.exe is only runnable on Windows. This adds a script
to extract VSS SDK headers on POSIX-systems using msitools.
* http://www.microsoft.com/en-us/download/details.aspx?id=23490
From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 69d5d21f90516a8b988a88915865b38e543fc994
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:50 2013 -0400
checkpatch.pl: Check .cpp files
Enable checkpatch.pl to apply the same checks as C source files for
C++ files with .cpp extensions. It also adds some exceptions for C++
sources to suppress errors for:
- <> used in C++ template arguments (e.g. template <class T>)
- :: used to represent namespaces (e.g. SomeClass::method())
- : used in class declaration (e.g. class T : public Super)
- ~ used in destructor method name (e.g. T::~T())
- spacing around 'catch' (e.g. catch (...))
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 6f88009ee505e1e9fbf6b74b2e2fb3e24cd3411b
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:43 2013 -0400
Add c++ keywords to QAPI helper script
Add c++ keywords to avoid errors in compiling with c++ compiler.
This also renames class member of PciDeviceInfo to q_class.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 83f73fce4cf18cf36e99f0e78e8e87dfb6b12a71
Author: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Date: Wed Aug 7 11:39:36 2013 -0400
configure: Support configuring C++ compiler
Add configuration for C++ compiler in configure and Makefiles.
The C++ compiler is choosed as following:
- ${CXX}, if it is specified.
- ${cross_prefix}g++, if ${cross_prefix} is specified.
- Otherwise, c++ is used.
Currently, usage of C++ language is only for access to Windows VSS
using COM+ services in qemu-guest-agent for Windows.
Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Micael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 94c2b6aff43cdfcfdfb552773a6b6b973a72ef0b
Author: Paul Burton <paul.burton@xxxxxxxxxx>
Date: Fri Sep 6 13:57:44 2013 +0100
mips_malta: support up to 2GiB RAM
A Malta board can support up to 2GiB of RAM. Since the unmapped kseg0/1
regions are only 512MiB large & the latter 256MiB of those are taken up
by the IO region, access to RAM beyond 256MiB must be done through a
mapped region. In the case of a Linux guest this means we need to use
highmem.
The mainline Linux kernel does not support highmem for Malta at this
time, however this can be tested using the linux-mti-3.8 kernel branch
available from:
git://git.linux-mips.org/pub/scm/linux-mti.git
You should be able to boot a Linux kernel built from the linux-mti-3.8
branch, with CONFIG_HIGHMEM enabled, using 2GiB RAM by passing "-m 2G"
to QEMU and appending the following kernel parameters:
mem=256m@0x0 mem=256m@0x90000000 mem=1536m@0x20000000
Note that the upper half of the physical address space of a Malta
mirrors the lower half (hence the 2GiB limit) except that the IO region
(0x10000000-0x1fffffff in the lower half) is not mirrored in the upper
half. That is, physical addresses 0x90000000-0x9fffffff access RAM
rather than the IO region, resulting in a physical address space
resembling the following:
0x00000000 -> 0x0fffffff RAM
0x10000000 -> 0x1fffffff I/O
0x20000000 -> 0x7fffffff RAM
0x80000000 -> 0x8fffffff RAM (mirror of 0x00000000 -> 0x0fffffff)
0x90000000 -> 0x9fffffff RAM
0xa0000000 -> 0xffffffff RAM (mirror of 0x20000000 -> 0x7fffffff)
The second mem parameter provided to the kernel above accesses the
second 256MiB of RAM through the upper half of the physical address
space, making use of the aliasing described above in order to avoid
the IO region and use the whole 2GiB RAM.
The memory setup may be seen as 'backwards' in this commit since the
'real' memory is mapped in the upper half of the physical address space
and the lower half contains the aliases. On real hardware it would be
typical to see the upper half of the physical address space as the alias
since the bus addresses generated match the lower half of the physical
address space. However since the memory accessible in the upper half of
the physical address space is uninterrupted by the IO region it is
easiest to map the RAM as a whole there, and functionally it makes no
difference to the target code.
Due to the requirements of accessing the second 256MiB of RAM through
a mapping to the upper half of the physical address space it is usual
for the bootloader to indicate a maximum of 256MiB memory to a kernel.
This allows kernels which do not support such access to boot on systems
with more than 256MiB of RAM. It is also the behaviour assumed by Linux.
QEMUs small generated bootloader is modified to provide this behaviour.
Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 254c12825f93f405658ca3366cd34f8a8ad23511
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>
commit 04d7bad8a4fb23e6d9af9d06ce3ddc28a251d94d
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
commit 45d883dcf208160e2db308d1b368beb74f37dc7e
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>
commit 3dbb9786e9f5fa8429824818b6f799d8f65d1199
Author: Brad Smith <brad@xxxxxxxxxxxx>
Date: Fri Aug 23 12:28:25 2013 -0400
vmxnet3: Eliminate __packed redefined warning
This eliminates a warning about __packed being redefined as exposed by the
vmxnet3 code. __packed is not used anywhere in the vmxnet3 code.
CC hw/net/vmxnet3.o
In file included from hw/net/vmxnet3.c:29:
hw/net/vmxnet3.h:37:1: warning: "__packed" redefined
In file included from /usr/include/stdlib.h:38,
from
/buildbot-qemu/default_openbsd_current/build/include/qemu-common.h:26,
from
/buildbot-qemu/default_openbsd_current/build/include/hw/hw.h:5,
from hw/net/vmxnet3.c:18:
/usr/include/sys/cdefs.h:209:1: warning: this is the location of the
previous definition
Signed-off-by: Brad Smith <brad@xxxxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e9845f0985f088dd01790f4821026df0afba5795
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Fri Aug 2 18:30:52 2013 +0200
e1000: add interrupt mitigation support
This patch partially implements the e1000 interrupt mitigation mechanisms.
Using a single QEMUTimer, it emulates the ITR register (which is the newer
mitigation register, recommended by Intel) and approximately emulates
RADV and TADV registers. TIDV and RDTR register functionalities are not
emulated (RDTR is only used to validate RADV, according to the e1000
specs).
RADV, TADV, TIDV and RDTR registers make up the older e1000 mitigation
mechanism and would need a timer each to be completely emulated. However,
a single timer has been used in order to reach a good compromise between
emulation accuracy and simplicity/efficiency.
The implemented mechanism can be enabled/disabled specifying the command
line e1000-specific boolean parameter "mitigation", e.g.
qemu-system-x86_64 -device e1000,mitigation=on,... ...
For more information, see the Software developer's manual at
http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf.
Interrupt mitigation boosts performance when the guest suffers from
an high interrupt rate (i.e. receiving short UDP packets at high packet
rate). For some numerical results see the following link
http://info.iet.unipi.it/~luigi/papers/20130520-rizzo-vm.pdf
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx> (for pc-* machines)
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 067404be626d03656788adb7deff8072ca84299f
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Fri Aug 2 21:47:08 2013 +0200
net: Rename send_queue to incoming_queue
Each networking client has a queue for packets that could not yet be
delivered to that client. Calling this queue "send_queue" is highly
confusing as it has nothing to to with packets send from this client but
to it. Avoid this confusing by renaming it to "incoming_queue".
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit aa4f082f7526d39dac8e2ca64d192d858014ee10
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>
commit 8f94b077877151de93a63c73f796897309568ddb
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 4 13:16:05 2013 +0200
qemu-iotests: Fixed test case 026
The reference output for test case 026 hasn't been updated in a long
time and it's one of the "known failing" cases. This patch updates the
reference output so that unintentional changes can be reliably detected
again.
The problem with this test case is that it produces different output
depending on whether -nocache is used or not. The solution of this patch
is to actually have two different reference outputs. If nnn.out.nocache
exists, it is used as the reference output for -nocache; otherwise,
nnn.out stays valid for both cases.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 79e40ab10e1f4450c11ab8430cb2547146ded639
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Sep 4 13:16:04 2013 +0200
qemu-iotests: Whitespace cleanup
These scripts used to have a four characters indentation, with eight
consecutive spaces converted into a tab. Convert everything into spaces.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8caf907f07688972e5e7cd11526079b1665d6dba
Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Date: Wed Sep 4 14:16:15 2013 +0200
dataplane: Fix startup race.
Avoid trying to setup dataplane again if dataplane setup is already in
progress. This may happen if an eventfd is triggered during setup.
I saw this occasionally with an experimental s390 irqfd implementation:
virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> virtio_ccw_set_host_notifier
...
-> virtio_queue_set_host_notifier_fd_handler
-> virtio_queue_host_notifier_read
-> virtio_queue_notify_vq
-> virtio_blk_handle_output
-> virtio_blk_data_plane_start
-> vring_setup
-> hostmem_init
-> memory_listener_register
-> BOOM
As virtio-ccw tries to follow what virtio-pci does, it might be
triggerable
for other platforms as well.
Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5daa74a6ebce7543aaad178c4061dc087bb4c705
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:38 2013 +0200
block: look for zero blocks in bs->file
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 918e92d71b38306a6bf4fedfd1109367f1425587
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:37 2013 +0200
block: add default get_block_status implementation for protocols
Protocols return raw data, so you can assume the offsets to pass
through unchanged.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f5f7abcfd50bca38ae278a9c7a3ed60fba3d76dc
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:36 2013 +0200
raw-posix: report unwritten extents as zero
These are created for example with XFS_IOC_ZERO_RANGE.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63390a8d14c9006f42bdaab22291c9c97676322d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:35 2013 +0200
raw-posix: return get_block_status data and flags
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit facd6e2b5c0217f9d9eeb2ee497dda28009518bd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:34 2013 +0200
docs, qapi: document qemu-img map
Eric Blake also requested including the output in qapi-schema.json,
so that it is published through the introspection mechanism.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4c93a13b5daf9bd5fca1a547661b0fb9a2f0ca52
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:33 2013 +0200
qemu-img: add a "map" subcommand
This command dumps the metadata of an entire chain, in either tabular or
JSON
format.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0ad5712d5d15ff272b9e107910be4aae468fb3d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:32 2013 +0200
block: return BDRV_BLOCK_ZERO past end of backing file
If the sectors are unallocated and we are past the end of the
backing file, they will read as zero.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 415b5b013ce74126e71459b922a92377918ae2ef
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:31 2013 +0200
block: use bdrv_has_zero_init to return BDRV_BLOCK_ZERO
Alternatively, this could use a "discard zeroes data" flag returned
by bdrv_get_info.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4bc74be997a72922170f4f272fd5e8074a3ecc27
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:30 2013 +0200
block: return get_block_status data and flags for formats
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4333bb71405f58a8dc8d3255feb3ca5960b0daf8
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:29 2013 +0200
block: define get_block_status return value
Define the return value of get_block_status. Bits 0, 1, 2 and 9-62
are valid; bit 63 (the sign bit) is reserved for errors. Bits 3-8
are left for future extensions.
The return code is compatible with the old is_allocated API: if a driver
only returns 0 or 1 (aka BDRV_BLOCK_DATA) like is_allocated used to,
clients of is_allocated will not have any change in behavior. Still,
we will return more precise information in the next patches and the
new definition of bdrv_is_allocated is already prepared for this.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b6b8a33354a448ee421f57676c1a93a536a63269
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:28 2013 +0200
block: introduce bdrv_get_block_status API
For now, bdrv_get_block_status is just another name for bdrv_is_allocated.
The next patches will add more flags.
This also touches all block drivers with a mostly mechanical rename. The
sole exception is cow; because it calls cow_co_is_allocated from the read
code, we keep that function and make cow_co_get_block_status a wrapper.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 11212d8fa08a4e5bd56bb4f6877f9a4c0439a02b
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:27 2013 +0200
block: make bdrv_has_zero_init return false for copy-on-write-images
This helps implementing is_allocated on top of get_block_status.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e4a86f88cc6b214c37b4abe9160e41f0338ce4cd
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:26 2013 +0200
qemu-img: always probe the input image for allocated sectors
qemu-img convert can assume "that sectors which are unallocated in the
input image are present in both the output's and input's base images".
However it is only doing this if the output image returns true for
bdrv_has_zero_init(). Testing bdrv_has_zero_init() does not make much
sense if the output image is copy-on-write, because a copy-on-write
image is never initialized to zero (it is initialized to the content
of the backing file).
There is nothing here that makes has_zero_init images special. The
input and output must be equal for the operation to make sense, and
that's it.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d663640c04f2aab810915c556390211d75457704
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>
commit 4f5786376e41980e78af45a123c56ebdc5295099
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:24 2013 +0200
block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above
distinction
Now that bdrv_is_allocated detects coroutine context, the two can
use the same code.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 617ccb466e1937a5c99332ce77a47ebd29861ae4
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:23 2013 +0200
block: do not use ->total_sectors in bdrv_co_is_allocated
This is more robust when the device has removable media.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bdad13b9deec47d5d9eaf7f43867d19a79471244
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:22 2013 +0200
block: make bdrv_co_is_allocated static
bdrv_is_allocated can detect coroutine context and go through a fast
path, similar to other block layer functions.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit df2a6f29a5019707d69f6eeb30cf792841cae5aa
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:21 2013 +0200
block: keep bs->total_sectors up to date even for growable block devices
If a BlockDriverState is growable, after every write we need to
check if bs->total_sectors might have changed. With this change,
bdrv_getlength does not need anymore a system call.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e641c1e81e54fc14908ff6785ef7d51e42c2e1bb
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:20 2013 +0200
cow: do not call bdrv_co_is_allocated
As we change bdrv_is_allocated to gather more information from bs and
bs->file, it will become a bit slower. It is still appropriate for online
jobs, but not for reads/writes. Call the internal function instead.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 26ae980492920e417bc91761cc85950f18e41f85
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:19 2013 +0200
cow: make writes go at a less indecent speed
Only sync once per write, rather than once per sector.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 276cbc7f2fc1bd3810887995dbc9cbb739c975bf
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Wed Sep 4 19:00:18 2013 +0200
cow: make reads go at a decent speed
Do not do two reads for each sector; load each sector of the bitmap
and use bitmap operations to process it.
Writes are still dog slow!
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0ca0b0d5f8a87dbc6daa5095771d036d0e6dc5b4
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Tue Sep 3 15:49:39 2013 +0200
qmp: Documentation for BLOCK_IMAGE_CORRUPTED
Add an appropriate entry describing this event and its parameters into
qmp-events.txt.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fa510ebffa1fd509323e2e0888e369e23adbb508
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:51 2013 +0800
block: use BDS ref for block jobs
Block jobs used drive_get_ref(drive_get_by_blockdev(bs)) to avoid BDS
being deleted. Now we have BDS reference count, and block jobs don't
care about dinfo, so replace them to get cleaner code. It is also the
safe way when BDS has no drive info.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 38b54b6dc18ae7e2a32e5ae38b312fb13f0584c8
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:50 2013 +0800
nbd: use BlockDriverState refcnt
Previously, nbd calls drive_get_ref() on the drive of bs. A BDS doesn't
always have associated dinfo, which nbd doesn't care either. We already
have BDS ref count, so use it to make it safe for a BDS w/o blockdev.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit c0777fe18b08c3a6de0c53325d6b9b75ebb9de9a
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:49 2013 +0800
xen_disk: simplify blk_disconnect with refcnt
We call bdrv_attach_dev when initializing whether or not bs is created
locally, so call bdrv_detach_dev and let the refcnt handle the
lifecycle.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8442cfd0346de849264494c5adedbac12553867e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:48 2013 +0800
migration: omit drive ref as we have bdrv_ref now
block-migration.c does not actually use DriveInfo anywhere. Hence it's
safe to drive ref code, we really only care about referencing BDS.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4f6fd3491cf0f768b135ed2e242bd1d1d2a2efec
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:47 2013 +0800
block: make bdrv_delete() static
Manage BlockDriverState lifecycle with refcnt, so bdrv_delete() is no
longer public and should be called by bdrv_unref() if refcnt is
decreased to 0.
This is an identical change because effectively, there's no multiple
reference of BDS now: no caller of bdrv_ref() yet, only bdrv_new() sets
bs->refcnt to 1, so all bdrv_unref() now actually delete the BDS.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 9fcb025146676ab376e6159b58f5a5ddb67bf03c
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:46 2013 +0800
block: implement reference count for BlockDriverState
Introduce bdrv_ref/bdrv_unref to manage the lifecycle of
BlockDriverState. They are unused for now but will used to replace
bdrv_delete() later.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 13c91cb7e28b47f5c4227f7e88a1378570117704
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:45 2013 +0800
iscsi: use bdrv_new() instead of stack structure
BlockDriverState structure needs bdrv_new() to initialize refcnt, don't
allocate a local structure variable and memset to 0, becasue with coming
refcnt implementation, bdrv_unref will crash if bs->refcnt not
initialized to 1.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3d34c6cd99f434126365150c2535bbf93b94f891
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Fri Aug 23 09:14:44 2013 +0800
vvfat: use bdrv_new() to allocate BlockDriverState
we need bdrv_new() to properly initialize BDS, don't allocate memory
manually.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a94a3fac19c37c093203e9e01c3a54e92e1dc701
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Thu Aug 29 17:48:16 2013 +0100
aio / timers: fix build of test/test-aio.c on non-linux platforms
tests/test-aio.c used pipe2 which is Linux only. Use qemu_pipe
and qemu_set_nonblock for portabillity. Addition of O_CLOEXEC
is a harmless bonus.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 68dc036488dfea170627a55e6ee3dfd7f2c2063e
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>
commit b2e10493c71160d88bb823cae9a92e806a79b9d6
Author: Alexandre Derumier <aderumier@xxxxxxxxx>
Date: Mon Sep 2 19:07:24 2013 +0100
add qemu-img convert -n option (skip target volume creation)
Add a -n option to skip volume creation on qemu-img convert.
This is useful for targets such as rbd / ceph, where the
target volume may already exist; we cannot always rely on
qemu-img convert to create the image, as dependent on the
output format, there may be parameters which are not possible
to specify through the qemu-img convert command line.
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b3f3a30f387f34308b3e4d910a2824e69c34182f
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 2 16:36:15 2013 +0200
qemu-iotests: Adjust test result 039
The moved OFLAG_COPIED check in qcow2_check_refcounts results in a
different output from test 039 (mismatches are now found after the
general refcount check (as far as any remain)). This patch adjusts the
expected test result accordingly.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 2024c1df43eae0d2e35663da0c6e8c51290a386e
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:41 2013 +0200
block: Add iops_size to do the iops accounting for a given io size.
This feature can be used in case where users are avoiding the iops limit
by
doing jumbo I/Os hammering the storage backend.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 3e9fab690d59ac15956c3733fe0794ce1ae4c4af
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:40 2013 +0200
block: Add support for throttling burst max in QMP and the command line.
The max parameter of the leaky bucket throttling algorithm can be used to
allow the guest to do bursts.
The max value is a pool of I/O that the guest can use without being
throttled
at all. Throttling is triggered once this pool is empty.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cc0681c45430a1f1a4c2d06e9499b7775afc9a18
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:39 2013 +0200
block: Enable the new throttling code in the block layer.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f17cfe813c40792cc1622ba447581c906beb091e
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:38 2013 +0200
throttle: Add units tests
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5ddfffbdc5e024014b77816dab88d372ad95a5b0
Author: Benoît Canet <benoit@xxxxxxxxxxx>
Date: Mon Sep 2 14:14:37 2013 +0200
throttle: Add a new throttling API implementing continuous leaky bucket.
Implement the continuous leaky bucket algorithm devised on IRC as a
separate
module.
Signed-off-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit df7131623daf4823e087eb1128f6c1c351519774
Merge: 863a834 2641689
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Sep 5 13:38:53 2013 -0500
Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging
# By Jan Kiszka (2) and others
# Via Paolo Bonzini
* bonzini/iommu-for-anthony:
exec: do tcg_commit only when tcg_enabled
Revert "memory: Return -1 again on reads from unsigned regions"
memory: Provide separate handling of unassigned io ports accesses
exec: check offset_within_address_space for register subpage
exec: fix writing to MMIO area with non-power-of-two length
Message-id: 1378401455-583-1-git-send-email-pbonzini@xxxxxxxxxx
commit 2641689a37144b201814f39046e36eb285498cbe
Author: liguang <lig.fnst@xxxxxxxxxxxxxx>
Date: Wed Sep 4 14:37:33 2013 +0800
exec: do tcg_commit only when tcg_enabled
Signed-off-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 68a7439a150d6b4da99082ab454b9328b151bc25
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>
commit 3bb28b7208b349e7a1b326e3c6ef9efac1d462bf
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>
commit 88266249701032211c1d7449460d063fbc01bf12
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>
commit 098178f2749a63fbbb1a626dcc7d939d5cb2bde7
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>
commit 863a83415750a2ee75ac1fb31405c11e71bf990b
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Sep 5 09:40:02 2013 -0500
Update mailmap
This makes get_maintainers.pl behave a little better.
Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 386a5a1e0057e220f79c48fe3689e3dfb17f1b09
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Aug 28 15:24:05 2013 +0530
char: remove watch callback on chardev detach from frontend
If a frontend device releases the chardev (via unplug), the chr handlers
are set to NULL via qdev's exit callbacks invoking
qemu_chr_add_handlers(). If the chardev had a pending operation, a
callback will be invoked, which will try to access data in the
just-released frontend, causing a segfault.
Ensure the callbacks are disabled when frontends release chardevs.
This was seen when a virtio-serial port was unplugged when heavy
guest->host IO was in progress (causing a callback to be registered).
In the window in which the throttling was active, unplugging ports
caused a qemu segfault.
https://bugzilla.redhat.com/show_bug.cgi?id=985205
CC: <qemu-stable@xxxxxxxxxx>
Reported-by: Sibiao Luo <sluo@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 26da70c72524eb22c946ab19ec98a217b8252f7e
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Aug 28 15:23:37 2013 +0530
char: use common function to disable callbacks on chardev close
This deduplicates code used a lot of times.
CC: <qemu-stable@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit 7ba9addc165b37b764baa08c02518b15b2361707
Author: Amit Shah <amit.shah@xxxxxxxxxx>
Date: Wed Aug 28 15:18:29 2013 +0530
char: move backends' io watch tag to CharDriverState
All the backends implement an io watcher tag for callbacks. Move it to
CharDriverState from each backend's struct to make accessing the tag from
backend-neutral functions easier.
This will be used later to cancel a callback on chardev detach from a
frontend.
CC: <qemu-stable@xxxxxxxxxx>
Reviewed-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx>
commit aaa6a40194e9f204cb853f64ef3c1e170bb014e8
Merge: bb7d4d8 5e891bf
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:33:32 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* Conversion of global CPU list to QTAILQ - preparing for CPU hot-unplug
* Document X86CPU magic numbers for CPUID cache info
# gpg: Signature made Tue 03 Sep 2013 10:59:22 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (3) and Eduardo Habkost (1)
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
target-i386: Use #defines instead of magic numbers for CPUID cache info
cpu: Replace qemu_for_each_cpu()
cpu: Use QTAILQ for CPU list
a15mpcore: Use qemu_get_cpu() for generic timers
commit bb7d4d82b63bbde06c5584f94bfd9ba3b3e5ff3f
Merge: 5a93d5c ca0eca9
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:32:45 2013 -0500
Merge remote-tracking branch 'kwolf/for-anthony' into staging
# By Max Reitz (11) and others
# Via Kevin Wolf
* kwolf/for-anthony: (26 commits)
qemu-iotests: Overlapping cluster allocations
qcow2_check: Mark image consistent
qcow2-refcount: Repair shared refcount blocks
qcow2-refcount: Repair OFLAG_COPIED errors
qcow2-refcount: Move OFLAG_COPIED checks
qcow2: Employ metadata overlap checks
qcow2: Metadata overlap checks
qcow2: Add corrupt bit
qemu-iotests: Snapshotting zero clusters
qcow2-refcount: Snapshot update for zero clusters
option: Add assigned flag to QEMUOptionParameter
gluster: Abort on AIO completion failure
block: Remove old raw driver
switch raw block driver from "raw.o" to "raw_bsd.o"
raw_bsd: register bdrv_raw
raw_bsd: add raw_create_options
raw_bsd: introduce "special members"
raw_bsd: add raw_create()
raw_bsd: emit debug events in bdrv_co_readv() and bdrv_co_writev()
add skeleton for BSD licensed "raw" BlockDriver
...
Message-id: 1378111792-20436-1-git-send-email-kwolf@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 5a93d5c2abc719bd44f6c9fbeed88d3cae712606
Merge: 9ea0f58 fcdda21
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:31:43 2013 -0500
Merge remote-tracking branch 'mjt/trivial-patches' into staging
# By Stefan Weil (6) and others
# Via Michael Tokarev
* mjt/trivial-patches:
aio / timers: use g_usleep() not sleep()
adlib: sort offsets in portio registration
qmp: fix integer usage in examples
tci: Remove function tcg_out64 (fix broken build)
target-arm: Report unimplemented opcodes (LOG_UNIMP)
pflash_cfi02.c: fix debug macro
configure: Remove unneeded redirections of stderr (pkg-config --exists)
configure: Remove unneeded redirections of stderr (pkg-config --cflags,
--libs)
configure: Don't write .pyc files by default (python -B)
curl: qemu_bh_new() can never return NULL
slirp/arp_table.c: Avoid shifting into sign bit of signed integers
configure: disable clang -Wstring-plus-int warning
rdma: silly ipv6 bugfix
misc: Fix some typos in names and comments
slirp: Port redirection option behave differently on Linux and Windows
Message-id: 1378119695-14568-1-git-send-email-mjt@xxxxxxxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9ea0f58fc723daeb9e1dba9a762269e8cbbd1b73
Merge: 9889e04 31efd2e
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:31:30 2013 -0500
Merge remote-tracking branch 'kraxel/usb.88' into staging
# By Gerd Hoffmann (10) and Marcel Apfelbaum (1)
# Via Gerd Hoffmann
* kraxel/usb.88:
usb/dev-hid: Modified usb-tablet category from Misc to Input
Revert "usb-hub: report status changes only once"
usb-hub: add tracepoint for status reports
usb: parallelize usb3 streams
uas: add property for request logging
xhci: reset port when disabling slot
xhci: emulate intr endpoint intervals correctly
xhci: fix endpoint interval calculation
xhci: add port to slot_address tracepoint
xhci: add tracepoint for endpoint state changes
xhci: remove leftover debug printf
Message-id: 1378117055-29620-1-git-send-email-kraxel@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9889e04ac193cad7fa0526573ce0cc752dcabb99
Merge: 5cff81f 23fe2b3
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:31:07 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups and enhancements,
and a virtio bugfix for level interrupts.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Sun 01 Sep 2013 03:15:36 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Michael S. Tsirkin (3) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
virtio_pci: fix level interrupts with irqfd
pc: reduce duplication, fix PIIX descriptions
hw: Clean up bogus default boot order
pci: add config space access traces
pc: fix regression for 64 bit PCI memory
pci: Introduce helper to retrieve a PCI device's DMA address space
Message-id: 1378023590-11109-1-git-send-email-mst@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 5cff81f098a57762ab937bfbedb298e658af2c7f
Merge: 545825d 520902a
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Sep 3 12:30:51 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into
staging
QOM device refactorings
* Fix QOM and ISA documentation errors
* Extend object_initialize() et al. to check the instance size
# gpg: Signature made Fri 30 Aug 2013 02:19:48 PM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Andreas Färber (14) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony:
isa: Fix documentation of isa_register_portio_list()
qom: Assert instance size in object_initialize_with_type()
qom: Pass available size to object_initialize()
qdev: Pass size to qbus_create_inplace()
virtio-mmio: Pass size to virtio_mmio_bus_new()
virtio-ccw: Pass size to virtio_ccw_bus_new()
s390-virtio-bus: Pass size to virtio_s390_bus_new()
virtio-pci: Pass size to virtio_pci_bus_new()
usb: Pass size to usb_bus_new()
scsi: Pass size to scsi_bus_new()
pci: Pass size to pci_bus_new_inplace()
ide: Pass size to ide_bus_new()
ipack: Pass size to ipack_bus_new_inplace()
intel-hda: Pass size to hda_codec_bus_init()
qom: Fix object_initialize_with_type() argument name in documentation
virtio: Remove unnecessary OBJECT() casts
object: Fix typo in qom/object.h
commit 5e891bf8fd509c4d83cb95d352d88effb20720b1
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Tue Aug 27 12:24:37 2013 -0300
target-i386: Use #defines instead of magic numbers for CPUID cache info
This is an attempt to make the CPUID cache topology code clearer, by
replacing the magic numbers in the code with #defines, and moving all
the cache information to the same place in the file.
I took care of comparing the assembly output of compiling
target-i386/cpu.c before and after applying this change, to make sure
not a single bit was changed on cpu_x86_cpuid() before and after
applying this patch (unfortunately I had to manually check existing
differences, because of __LINE__ expansions on
object_class_dynamic_cast_assert() calls).
This even keeps the code bug-compatible with the previous version: today
the cache information returned on AMD cache information leaves (CPUID
0x80000005 & 0x80000006) do not match the information returned on CPUID
leaves 2 and 4. The L2 cache information on CPUID leaf 2 also doesn't
match the information on CPUID leaf 2. The new constants should make it
easier to eventually fix those inconsistencies. All inconsistencies I
have found are documented in code comments.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Reviewed-by: liguang <lig.fnst@xxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 38fcbd3f08375eb2986b9b63ccd4f593e71aa99d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sun Jul 7 19:50:23 2013 +0200
cpu: Replace qemu_for_each_cpu()
It was introduced to loop over CPUs from target-independent code, but
since commit 182735efaf956ccab50b6d74a4fed163e0f35660 target-independent
CPUState is used.
A loop can be considered more efficient than function calls in a loop,
and CPU_FOREACH() hides implementation details just as well, so use that
instead.
Suggested-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit bdc44640cb33c90809376a262df871a1144d339a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Jun 24 23:50:24 2013 +0200
cpu: Use QTAILQ for CPU list
Introduce CPU_FOREACH(), CPU_FOREACH_SAFE() and CPU_NEXT() shorthand
macros.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 27013bf20d5d93ac75d398aa3608604e8ad91b5a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Wed Aug 21 18:36:35 2013 +0200
a15mpcore: Use qemu_get_cpu() for generic timers
This simplifies the loop and aids with refactoring of CPU list.
Requested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 545825d4cda03ea292b7788b3401b99860efe8bc
Merge: 32f3bd6 6fb5874
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 01:35:43 2013 +0200
Merge branch 'tcg-next' of git://github.com/rth7680/qemu
* 'tcg-next' of git://github.com/rth7680/qemu: (29 commits)
tcg-i386: Make use of zero-extended memory helper routines
tcg: Introduce zero and sign-extended versions of load helpers
exec: Split softmmu_defs.h
target: Include softmmu_exec.h where forgotten
exec: Rename USUFFIX to LSUFFIX
tcg-i386: Don't perform GETPC adjustment in TCG code
exec: Reorganize the GETRA/GETPC macros
configure: Allow x32 as a host
tcg-i386: Adjust tcg_out_tlb_load for x32
tcg-i386: Use intptr_t appropriately
tcg: Fix jit debug for x32
tcg: Use appropriate types in tcg_reg_alloc_call
tcg: Change tcg_out_ld/st offset to intptr_t
tcg: Change tcg_gen_exit_tb argument to uintptr_t
tcg: Use uintptr_t in TCGHelperInfo
tcg: Change relocation offsets to intptr_t
tcg: Change memory offsets to intptr_t
tcg: Change frame pointer offsets to intptr_t
tcg: Define TCG_ptr properly
tcg: Define TCG_TYPE_PTR properly
...
commit 32f3bd6d4d6d6f835cbc2b9241fe8c32d2898d73
Merge: 3207bf2 7e47226
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Tue Sep 3 01:35:25 2013 +0200
Merge branch 'ppc-for-upstream' of git://github.com/agraf/qemu
* 'ppc-for-upstream' of git://github.com/agraf/qemu:
PPC: spapr: iommu: rework traces
spapr: add "stop-self" RTAS call required to support hot CPU unplug
PPC: KVM: Compile fix for qemu_notify_event
pseries: Add H_SET_MODE hcall to change guest exception endianness
xics: move registration of global state to realize()
spapr-pci: rework MSI/MSIX
target-ppc: Use #define instead of opencoding SLB valid bit
spapr-pci: fix config space access to support bridges
target-ppc: fix bit extraction for FPBF and FPL
ppc405_boards: Don't enforce presence of firmware for qtest
ppc405_uc: Disable debug output
ppc405_boards: Disable debug output
ppc: virtex_ml507: QEMU_OPTION_dtb support for this machine.
disas/ppc.c: Fix little endian disassembly
target-ppc: POWER7 supports the MSR_LE bit
target-ppc: USE LPCR_ILE to control exception endian on POWER7
pseries: Fix stalls on hypervisor virtual console
PPC: E500: Generate device tree on reset
commit 3207bf2549a1a84c577d2f6a481192566a059163
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Aug 15 17:57:59 2013 +0200
tcg/mips: only enable ext8s/ext16s ops on MIPS32R2
On MIPS ext8s and ext16s ops are implemented with a dedicated
instruction only on MIPS32R2, otherwise the same kind of implementation
than at TCG level (shift left followed by shift right) is used.
Change that by only implementing the ext8s and ext16s ops on MIPS32R2 so
that optimizations can be done by the optimizer. Use an inline version to
avoid having to test again for MIPS32R2 instructions. Keep the shift
implementation for the ld/st routines.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit df81ff51d50b22c52e609e13d5292d09e4634659
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Wed Aug 28 13:51:40 2013 +0200
tcg/mips: inline bswap16/bswap32 ops
Use an inline version for the bswap16 and bswap32 ops to avoid
testing for MIPS32R2 instructions availability, as these ops are
only available in that case.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 988902fc3bc599f7431461b790f3d63d3a2357f9
Author: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Date: Thu Aug 15 17:57:59 2013 +0200
tcg/mips: detect available host instructions at runtime
Now that TCG supports enabling and disabling ops at runtime, it's
possible to detect the available host instructions at runtime, and
enable the corresponding ops accordingly.
Unfortunately it's not easy to probe for available instructions on
MIPS, the information is partially available in /proc/cpuinfo, and
not available in AUXV. This patch therefore probes for the instructions
by trying to execute them and by catching a possible SIGILL signal.
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 6fb5874590589585cdcad4ca2431d9d8d4d491b1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 15:00:16 2013 -0700
tcg-i386: Make use of zero-extended memory helper routines
For 8 and 16-bit unsigned loads, rely on the zero-extension
from the helper and use a smaller 32-bit move insn.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c8f94df5934afd9b2011773aaee0fdef714ff573
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 14:09:14 2013 -0700
tcg: Introduce zero and sign-extended versions of load helpers
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e58eb534133f8ccaa957a33a06ccdb9129f2c842
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 13:13:44 2013 -0700
exec: Split softmmu_defs.h
The _cmmu helpers can be moved to exec-all.h. The helpers that are
used from TCG will shortly need access to tcg_target_long so move
their declarations into tcg.h.
This requires minor include adjustments to all TCG backends.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b1669e5e321a0a96a07ec1f7a82ce8f4b25ddfd5
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 13:03:27 2013 -0700
target: Include softmmu_exec.h where forgotten
Several targets forgot to include softmmu_exec.h, which would
break them with a header cleanup to follow.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 701e3a5cc02fd52ba59894781e78d433ec043772
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 11:31:48 2013 -0700
exec: Rename USUFFIX to LSUFFIX
In a following patch, there will be confusion between multiple "unsigned"
suffixes; rename this one so as to imply "load".
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 5bcebc253c1637d3a5b957abc7460c49a670c4de
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 10:47:49 2013 -0700
tcg-i386: Don't perform GETPC adjustment in TCG code
Since we now perform it inside the helper, no need to do it here.
This also lets us perform a tail-call from the store slow path to
the helper.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 0f842f8a246f2b5b51a11c13f933bf7a90ae8e96
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 27 10:22:54 2013 -0700
exec: Reorganize the GETRA/GETPC macros
Always define GETRA; use __builtin_extract_return_addr, rather than
having a special case for s390. Split GETPC_ADJ out of GETPC; use 2
universally, rather than having a special case for arm.
Rename GETPC_LDST to GETRA_LDST to indicate that it does not
contain the GETPC_ADJ value. Likewise with GETPC_EXT to GETRA_EXT.
Perform the GETPC_ADJ adjustment inside helper_ret_ld/st. This will
allow backends to pass along the "true" return address rather than
the massaged GETPC value. In the meantime, double application of
GETPC_ADJ does not hurt, since the call insn in all ISAs is at least
4 bytes long.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c72b26ec92eb93a92852ab1d23acb5a945de5062
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 12:20:05 2013 -0700
configure: Allow x32 as a host
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d5dad3be314dfec80ebb1c69266ae62edfea1850
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 16:50:38 2013 -0700
tcg-i386: Adjust tcg_out_tlb_load for x32
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 357e3d8a297003f9d79f08e45a79a73eb2d12f5b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:37:16 2013 -0700
tcg-i386: Use intptr_t appropriately
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit edee2579ae3722d28756ce04ec665ea9522d8600
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 17:20:30 2013 -0700
tcg: Fix jit debug for x32
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d3452f1f40956e50142d32afbc021c53026a1770
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 17:12:38 2013 -0700
tcg: Use appropriate types in tcg_reg_alloc_call
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a05b5b9be0fec96c89e00abaa964be7ce9e661ac
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 17:07:26 2013 -0700
tcg: Change tcg_out_ld/st offset to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8cfd04959a023f87e1e6727e608a20f168441370
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:53:10 2013 -0700
tcg: Change tcg_gen_exit_tb argument to uintptr_t
And update all users.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 48bc6bab479e5abb542119f3974603afd882c246
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:38:41 2013 -0700
tcg: Use uintptr_t in TCGHelperInfo
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2ba7fae29ec63acf2ce77d20d4146fa224bf2338
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:30:10 2013 -0700
tcg: Change relocation offsets to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2f2f244d02a2cb28db7ce790576ade08fc3a54bf
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:17:25 2013 -0700
tcg: Change memory offsets to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e2c6d1b42d34539120c3cee159dcd9e32cba7d3b
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:12:31 2013 -0700
tcg: Change frame pointer offsets to intptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8b73d49f53e1a1d1571ac783ec028ff27befd93e
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 15:07:08 2013 -0700
tcg: Define TCG_ptr properly
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit d289837eef3550ac156082d812231ec5dfe79501
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:48:46 2013 -0700
tcg: Define TCG_TYPE_PTR properly
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 78cd7b835e13bee4416782b6ed41e9bef76e3cfc
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:41:29 2013 -0700
tcg: Allow TCG_TARGET_REG_BITS to be specified independantly
There are several hosts for which it would be useful to use the
available 64-bit registers in a 32-bit pointer environment.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3e9bd63acf145bb2d3da277ee85167878ade53bd
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:40:25 2013 -0700
tcg: Fix next_tb type in cpu_exec
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 04d5a1da70dfe1a3a5ac5b5a8e7a7b8136d3a985
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:35:34 2013 -0700
tcg: Change tcg_qemu_tb_exec return to uintptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b93949ef6a5dea2b22987f2aa3028068e751a7e4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 14:22:50 2013 -0700
tcg: Change flush_icache_range arguments to uintptr_t
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 35aa3fb38753bd1557af8370994ce6c5b599e65c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Tue Aug 20 13:53:25 2013 -0700
qtest: Fix FMT_timeval vs time_t
Since FMT_timeval unconditionally uses %ld for both tv_sec and tv_usec,
and already casts tv_usec to long, also cast tv_sec to long.
Cc: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 01547f7f9283e416578323e5d5df3327ed4df3ee
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 15:22:46 2013 -0700
tcg: Constant fold div, rem
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 32f5717f07e5f801e482052311d21a4223fc78f1
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 14:46:08 2013 -0700
tcg-ppc64: Implement muluh, mulsh
Using these instead of mulu2 and muls2 lets us avoid having to argument
overlap analysis in the backend. Normal register allocation will DTRT.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 3c9a8f17560794ad23889318cc42894c6e592cc3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 14:41:43 2013 -0700
tcg-mips: Implement mulsh, muluh
With the optimization in tcg_liveness_analysis,
we can avoid the MFLO when it is unused.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 03271524b66dfc979cc0412bdb5d8d617426b644
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 14:35:56 2013 -0700
tcg: Add muluh and mulsh opcodes
Use them in places where mulu2 and muls2 are used.
Optimize mulx2 with dead low part to mulxh.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 31efd2e883018b4c079ad082105bc161fbb3fef8
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>
commit bdebd6ee81f4d849aa8541c289203e3992450db0
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>
commit b8cbc1374acdc1d8081f1dc57ef1249d263cf389
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 16:59:37 2013 +0200
usb-hub: add tracepoint for status reports
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit c96c41ed0d38d68a6c8b6f84751afebafeae31be
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>
commit 1556a8fc38dbf4e950c50427192a3a37cdea3cba
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 14:54:44 2013 +0200
uas: add property for request logging
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5c67dd7b4884979a2613a4702ac1ab68b0e6a16e
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>
commit 4d7a81c06f5f17e019a2d3a18300500bd64f6f40
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>
commit ca7162782a293f525633e5816470498dd86a51cf
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>
commit 65d81ed402d3b78b6ffbade36a09ea53e41614d2
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Aug 28 11:46:45 2013 +0200
xhci: add port to slot_address tracepoint
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 1c82392a158471355aa6d1922df2d1545bb16b95
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Wed Apr 24 15:01:25 2013 +0200
xhci: add tracepoint for endpoint state changes
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit 5219042274fa2f993c25202680eeaea42193389d
Author: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Date: Tue Aug 27 14:47:15 2013 +0200
xhci: remove leftover debug printf
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
commit ca0eca91b65c34d6e5f5c77d5c18ed3de5b26139
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:31 2013 +0200
qemu-iotests: Overlapping cluster allocations
A new test on corrupted images with overlapping cluster allocations.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 24530f3e060c71b6c57c7a70336f08a13a8b0a3d
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:30 2013 +0200
qcow2_check: Mark image consistent
If no corruptions remain after an image repair (and no errors have been
encountered), clear the corrupt flag in qcow2_check.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit afa50193cde574528a130a25544fd6f3aa8da069
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Mon Sep 2 09:25:10 2013 +0200
qcow2-refcount: Repair shared refcount blocks
If the refcount of a refcount block is greater than one, we can at least
try to repair that problem by duplicating the affected block.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7e472264e9e2727bc7d08fe6f012db76e1c1a193
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Thu Aug 29 18:05:00 2013 +1000
PPC: spapr: iommu: rework traces
This converts old style fprintf to traces.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
[agraf: change patch subject]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 59760f2dba6b5729bbbef113c0dc142bf9ec94d3
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Aug 30 16:11:56 2013 +1000
spapr: add "stop-self" RTAS call required to support hot CPU unplug
PAPR+ requires two RTAS calls to be supported by the hypervisor in
order to allow hotplugging VCPUs from the guest. The "start-cpu" RTAS
call was already there but "stop-self" was not.
This adds the "stop-self" RTAS call.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7bb438b6a102766ac58e1a2981f8749e4515aa01
Author: Alexander Graf <agraf@xxxxxxx>
Date: Thu Aug 29 02:00:16 2013 +0200
PPC: KVM: Compile fix for qemu_notify_event
The function qemu_notify_event is defined by a header that we don't
include in the PPC KVM code. Include it to get the code building
again.
target-ppc/kvm_ppc.c: In function 'kvmppc_timer_hack':
target-ppc/kvm_ppc.c:26:5: error: implicit declaration of function
'qemu_notify_event' [-Werror=implicit-function-declaration]
target-ppc/kvm_ppc.c:26:5: error: nested extern declaration of
'qemu_notify_event' [-Werror=nested-externs]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 42561bf2e464a2d682707af1640fc2db1e937c42
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Mon Aug 19 21:04:20 2013 +1000
pseries: Add H_SET_MODE hcall to change guest exception endianness
H_SET_MODE is used for controlling various partition settings. One
of these settings is the endianness a guest takes its exceptions in.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
[agraf: fix whitespace]
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 33a0e5d8c555091eef6944595d8787cb9274e451
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Mon Aug 19 15:55:21 2013 +1000
xics: move registration of global state to realize()
Registration of global state belongs into realize so move it there.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit f1c2dc7c866a939c39c14729290a21309a1c8a38
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Fri Jul 12 17:38:24 2013 +1000
spapr-pci: rework MSI/MSIX
On the sPAPR platform a guest allocates MSI/MSIX vectors via RTAS
hypercalls which return global IRQ numbers to a guest so it only
operates with those and never touches MSIMessage.
Therefore MSIMessage handling is completely hidden in QEMU.
Previously every sPAPR PCI host bridge implemented its own MSI window
to catch msi_notify()/msix_notify() calls from QEMU devices (virtio-pci
or vfio) and route them to the guest via qemu_pulse_irq().
MSIMessage used to be encoded as:
.addr - address within the PHB MSI window;
.data - the device index on PHB plus vector number.
The MSI MR write function translated this MSIMessage to a global IRQ
number and called qemu_pulse_irq().
However the total number of IRQs is not really big (at the moment it is
1024 IRQs starting from 4096) and even 16bit data field of MSIMessage
seems to be enough to store an IRQ number there.
This simplifies MSI handling in sPAPR PHB. Specifically, this does:
1. remove a MSI window from a PHB;
2. add a single memory region for all MSIs to sPAPREnvironment
and spapr_pci_msi_init() to initialize it;
3. encode MSIMessage as:
* .addr - a fixed address of SPAPR_PCI_MSI_WINDOW==0x40000000000ULL;
* .data as an IRQ number.
4. change IRQ allocator to align first IRQ number in a block for MSI.
MSI uses lower bits to specify the vector number so the first IRQ has to
be aligned. MSIX does not need any special allocator though.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit a3cedb541ca3ecc82040f597a4054419fdb22fa5
Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 20 16:19:24 2013 +0530
target-ppc: Use #define instead of opencoding SLB valid bit
Use SLB_ESID_V instead of (1 << 27) in the code
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 5dac82ce0d8716b54f73f96bf50811644a76e5c2
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Aug 21 16:02:15 2013 +1000
spapr-pci: fix config space access to support bridges
spapr-pci config space accessors use find_dev() to find a PCI device.
However find_dev() only searched on a primary bus and did not do
recursive search through secondary buses so config space access was not
possible for devices other that on a primary bus.
This fixed find_dev() by using the PCI API pci_find_device() function.
This effectively enabled pci bridges on spapr.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 779f659021d1754117bce1aab9370dc22f37ae07
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>
commit ad9990acc5ac29ce505fbb2b955928ce335eddfd
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 15:27:23 2013 +0200
ppc405_boards: Don't enforce presence of firmware for qtest
Adopt error_report() while at it.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 0d84382ed96cb2cfc3bc5be34d3a045eeb69c9dc
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 15:27:22 2013 +0200
ppc405_uc: Disable debug output
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bf2ed917d77489189e7bcfea629ca030c8e2639d
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Mon Aug 5 15:27:21 2013 +0200
ppc405_boards: Disable debug output
Also move one stray debug output into an #ifdef.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit daf285b6063f20c328f03d6185bbfe9b81ce5fe2
Author: Efimov Vasily <real@xxxxxxxxx>
Date: Wed Aug 14 17:26:08 2013 +0400
ppc: virtex_ml507: QEMU_OPTION_dtb support for this machine.
QEMU has 'dtb' option for specifing the device tree file for the kernel.
The patch adds support for this option to the 'virtex_ml507' machine
implementation.
Signed-off-by: Efimov Vasily <real@xxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 95f5b6e3af28a24f97b25649e12f586e19e8a4a1
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed Aug 7 10:47:03 2013 +1000
disas/ppc.c: Fix little endian disassembly
Use info->endian to select the endian of the instruction to
be disassembled.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit bb429d224733c263456c105eab93cd2b5e55add2
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed Aug 7 10:47:00 2013 +1000
target-ppc: POWER7 supports the MSR_LE bit
Add MSR_LE to the msr_mask for POWER7.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 1e0c7e554e449abb7bf759339ca2cf8cda232532
Author: Anton Blanchard <anton@xxxxxxxxx>
Date: Wed Aug 7 10:47:01 2013 +1000
target-ppc: USE LPCR_ILE to control exception endian on POWER7
On POWER7, LPCR_ILE is used to control what endian guests take
their exceptions in so use it instead of MSR_ILE.
Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>
Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit 7770b6f78a2d655e03852a5de238f5926c92be6a
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>
commit 28290f37e20cda27574f15be9e9499493e3d0fe8
Author: Alexander Graf <agraf@xxxxxxx>
Date: Fri Jul 19 12:56:24 2013 +0200
PPC: E500: Generate device tree on reset
Today we generate the device tree once on machine initialization and then
store the finalized blob in memory to reload it on reset.
This is bad for 2 reasons. First we potentially waste a bunch of RAM for
no
good reason, as we have all information required to regenerate the device
tree available anyways.
The second reason is even more important. On machine init when we generate
the device tree for the first time, we don't have all of the devices fully
initialized yet. But the device tree needs to potentially walk devices to
put information about them into the device tree.
Move the generation into a reset function. That way we just generate it
new
every time we reset, solving both of the above issues.
Signed-off-by: Alexander Graf <agraf@xxxxxxx>
commit fcdda211f9239f4218f96cdc336a482f7103d90b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Thu Aug 29 23:32:14 2013 +0100
aio / timers: use g_usleep() not sleep()
sleep() apparently doesn't exist under mingw. Use g_usleep for
portability.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 2b21fb57af305f17841d79e7e2e02ad1aec3f5ca
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>
commit 586b546657da7a762106abb5056d90a140d1a2f5
Author: Eric Blake <eblake@xxxxxxxxxx>
Date: Fri Aug 30 14:44:11 2013 -0600
qmp: fix integer usage in examples
Per the qapi schema, block_set_io_throttle takes most arguments
as ints, not strings.
* qmp-commands.hx (block_set_io_throttle): Use correct type. Fix
whitespace and a copy-paste bug in the process.
Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Benoit Canet <benoit@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit a32b12741bf45bf3f46bffe5a79cb2548a060cd8
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Aug 28 19:28:06 2013 +0200
tci: Remove function tcg_out64 (fix broken build)
Commit ac26eb69a311396668809eadbf7ff4e623447d4c added tcg_out64 to
tcg/tcg.c.
tcg/tci/tcg-target.c already had a nearly identical implementation which
is
now removed to fix a compiler error.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit e0c270d946dc8efd723129b6a9d956b3084b55b1
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Wed Aug 28 06:39:56 2013 +0200
target-arm: Report unimplemented opcodes (LOG_UNIMP)
These unimplemented opcodes are handled like illegal opcodes, but
they are used in existing code. We should at least report when they
are executed.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 56f99ea19b5ae71cfdc0bd147cba372da3b63c44
Author: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Date: Wed Aug 28 07:59:37 2013 +0400
pflash_cfi02.c: fix debug macro
If PFLASH_DEBUG is enabled then we have some build errors:
hw/block/pflash_cfi02.c: In function â??pflash_timerâ??:
hw/block/pflash_cfi02.c:128:5: error: expected â??)â?? before string
constant
hw/block/pflash_cfi02.c:128:5: error: too few arguments to function
â??fprintfâ??
This patch fixes the problem.
Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 65d5d3f92246f056a45e4ddc6f13487de39cd47c
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Aug 27 21:09:13 2013 +0200
configure: Remove unneeded redirections of stderr (pkg-config --exists)
Predicate options (--exists, --atleast-version, ...) of pkg-config dont't
print error messages to stderr, so redirecting stderr is not necessary.
Combining a predicate option with --modversion is not necessary for tests.
Instead of testing with --modversion, --exists can be used.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ca871ec8612cc0e95a02de83a3bdd01514e5733b
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Aug 27 21:09:12 2013 +0200
configure: Remove unneeded redirections of stderr (pkg-config --cflags,
--libs)
For existing libraries, pkg-config --cflags and pkg-config --libs won't
print error messages to stderr, so redirecting stderr is not necessary.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 1d984a67a95d88f3e708b077dab8adeb47c38c93
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Tue Aug 27 15:12:41 2013 +0200
configure: Don't write .pyc files by default (python -B)
When a Python script is run, Python normally writes bytecode into a .pyc
file.
QEMU's build process uses several Python scripts which are called from
configure or make.
The generated .pyc files take disk space without being of much use,
because
those scripts are short, not time critical and only called a few times.
Python's option -B disables writing of .pyc files. QEMU now uses "python
-B"
as default, but it is still possible to choose a different call by passing
--python=PYTHON to configure.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 5b21a2ae4dea72d9aa68e0385fc0548971e929f4
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Mon Aug 26 13:38:50 2013 +0200
curl: qemu_bh_new() can never return NULL
Drop error code path which cannot be taken since qemu_bh_new() does not
return NULL.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit ed6bc28e8a448b9005af50eed12893c5f7711c6e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:36:48 2013 +0100
slirp/arp_table.c: Avoid shifting into sign bit of signed integers
"0xf << 28" shifts right into the sign bit, since 0xf is a signed
integer. Use the 'U' suffix to force an unsigned shift to avoid
this undefined behaviour and a clang sanitizer warning.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 714290979abf551d5116346e4fbd3d54eb24bd12
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Mon Aug 5 20:16:40 2013 +0100
configure: disable clang -Wstring-plus-int warning
Some versions of clang will warn about adding integers to strings:
disas/i386.c:4753:23: error: adding 'char' to a string does not append
to the string [-Werror,-Wstring-plus-int]
oappend ("%es:" + intel_syntax);
~~~~~~~^~~~~~~~~~~~~~
disas/i386.c:4753:23: note: use array indexing to silence this warning
oappend ("%es:" + intel_syntax);
^
& [ ]
disas/i386.c uses this idiom to to skip a "%" prefix if using intel
rather than AT&T syntax. This seems like a reasonable thing to do,
and I don't think anybody contributing to QEMU is likely to believe
that '+' is a string concatenation operator in C, so just disable
-Wstring-plus-int.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit c89aa2f1851b08c3efa8a1070c0a6b9a36e1227f
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>
commit 4c293dc6e4cf0421e13870962e1e8ccbb810b2a6
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Aug 18 19:40:06 2013 +0200
misc: Fix some typos in names and comments
Most typos were found using a modified version of codespell:
accross -> across
issueing -> issuing
TICNT_THRESHHOLD -> TICNT_THRESHOLD
bandwith -> bandwidth
VCARD_7816_PROPIETARY -> VCARD_7816_PROPRIETARY
occured -> occurred
gaurantee -> guarantee
sofware -> software
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit efcb7e45290ecc8633f7c5bdf02ac86f6289fa7d
Author: Taimoor Mirza <tmirza@xxxxxxxxxxxxxxxx>
Date: Thu Aug 15 23:13:28 2013 +0500
slirp: Port redirection option behave differently on Linux and Windows
port redirection code uses SO_REUSEADDR socket option before binding to
host port. Behavior of SO_REUSEADDR is different on Windows and Linux.
Relaunching QEMU with same host and guest port redirection values on Linux
throws error but on Windows it does not throw any error.
Problem is discussed in
http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg03089.html
Signed-off-by: Taimoor Mirza <tmirza@xxxxxxxxxxxxxxxx>
Signed-off-by: Michael Tokarev <mjt@xxxxxxxxxx>
commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4
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>
commit a0dba644c139907ccf6735c505fbd254010d6938
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Tue Aug 27 09:48:06 2013 +0300
pc: reduce duplication, fix PIIX descriptions
We have a lot of code duplication between machine types,
this increases with each new machine type
and each new field.
This has already introduced a minor bug: description
for pc-1.3 says "Standard PC" while description for
pc-1.4 is "Standard PC (i440FX + PIIX, 1996)"
which makes you think 1.3 is somehow more standard,
or newer, while in fact it's a revision of the same PC.
This patch addresses this issue by using macros, along
the lines used by PC_COMPAT_X_X - only for
non-property options.
The approach can extend to non-PC machine types.
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 520902a656f21bdd4f212bfa55bc35c3e567affc
Author: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Date: Tue Aug 13 12:38:34 2013 +0200
isa: Fix documentation of isa_register_portio_list()
Commit b40acf9 (ioport: Switch dispatching to memory core layer,
2013-06-24) removed all instances of old_portio.
Signed-off-by: Hervé Poussineau <hpoussin@xxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5b9237f67c499fa4e20bb9bd29c7ce54afe79cb7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 30 18:28:37 2013 +0200
qom: Assert instance size in object_initialize_with_type()
This catches objects initializing beyond allocated memory, e.g.,
when subtypes get extended with instance state of their own.
Suggested-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 213f0c4f619dda7a56612353009e6f30d3348206
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 19:37:12 2013 +0200
qom: Pass available size to object_initialize()
To be passed on to object_initialize_with_type().
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> (virtio-ccw)
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit fb17dfe0575243a3f60dcefca37fa82ae682f146
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 24 00:02:27 2013 +0200
qdev: Pass size to qbus_create_inplace()
To be passed to object_initialize().
Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is
void*, so drop some superfluous (BusState *) casts or direct parent
field usages.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e5f720391e0628131cb6548b3d27be6aa56ae7d4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:33:55 2013 +0200
virtio-mmio: Pass size to virtio_mmio_bus_new()
To be passed to qbus_create_initialize().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 1bf4d7aad61f47b3da52c4aff239fd94be320727
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:27:30 2013 +0200
virtio-ccw: Pass size to virtio_ccw_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5d6c0c49136e2615c0cd60cda523e8dc8cd65ed7
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:25:57 2013 +0200
s390-virtio-bus: Pass size to virtio_s390_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ac7af1120f589a5385e39b3decc3d2d944a4d656
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:35:18 2013 +0200
virtio-pci: Pass size to virtio_pci_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c889b3a55d5d1d18042693cbe2f8f05465914ff4
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:32:04 2013 +0200
usb: Pass size to usb_bus_new()
To be passed to qbus_create_inplace().
Use DEVICE() cast to avoid a direct parent field access.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit b1187b51ff5563135da0a9e5c855d7876ab1a926
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:30:03 2013 +0200
scsi: Pass size to scsi_bus_new()
To be passed to qbus_create_inplace().
Use DEVICE() casts instead of direct parent field access.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit dd301ca607feddab3b44f927cd36aee004c40e1a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:23:55 2013 +0200
pci: Pass size to pci_bus_new_inplace()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit c6baf942e084e0bc40ee37c8d8672ac9c5ea270b
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:18:50 2013 +0200
ide: Pass size to ide_bus_new()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 77cbb28a5b90dbd183e1139734bcc2ac9ecbdd6a
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:07:28 2013 +0200
ipack: Pass size to ipack_bus_new_inplace()
To be passed to qbus_create_inplace().
Simplify DEVICE() cast to avoid parent field access.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit ab809e84a722f8fa1bcdeac5e3ebae10d90fb788
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Aug 23 20:05:16 2013 +0200
intel-hda: Pass size to hda_codec_bus_init()
To be passed to qbus_create_inplace().
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 53caad9a31bed10f59c70406001b9217bda2d111
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Sat Aug 24 01:12:33 2013 +0200
qom: Fix object_initialize_with_type() argument name in documentation
@obj -> @data.
Reviewed-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit e65177a87f22b98b3b82433d05a18a2c4a3714da
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 14:38:55 2013 +0100
virtio: Remove unnecessary OBJECT() casts
There's no need to cast the first argument of object_initialize()
to Object. Remove these unnecessary casts.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 70392912eddf4e19801b2e96c0156fea634b4e59
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Wed Aug 7 12:31:55 2013 +1000
object: Fix typo in qom/object.h
There's been a cut-and-paste error, it looks like, in the documentation
in qom/object.h.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 4ff78e0dbcd5c795962567fdc1b31e9e03c55b07
Merge: b95fdc0 7ca0e06
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Aug 30 12:26:04 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Wenchao Xia (15) and Stefan Weil (1)
# Via Luiz Capitulino
* luiz/queue/qmp:
monitor: improve auto complete of "help" for single command in sub group
monitor: allow "help" show message for single command in sub group
monitor: support sub command in auto completion
monitor: refine monitor_find_completion()
monitor: support sub command in help
monitor: refine parse_cmdline()
monitor: code move for parse_cmdline()
monitor: avoid direct use of global variable *mon_cmds
monitor: split off monitor_data_init()
monitor: call sortcmdlist() only one time
monitor: avoid use of global *cur_mon in readline_completion()
monitor: avoid use of global *cur_mon in monitor_find_completion()
monitor: avoid use of global *cur_mon in block_completion_it()
monitor: avoid use of global *cur_mon in file_completion()
monitor: avoid use of global *cur_mon in cmd_completion()
monitor: Add missing attributes to local function
Message-id: 1377865357-6742-1-git-send-email-lcapitulino@xxxxxxxxxx
commit b95fdc0e99e9b5c98bb8e2aee9eaffe160f1031b
Merge: b5d54bd 7f7f975
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Fri Aug 30 12:25:56 2013 -0500
Merge remote-tracking branch 'borntraeger/tags/kdump' into staging
This is a set of patches dealing with kdump support for s390x/kvm.
kdump on s390x uses subcode 1 of diagnose 0x308 to put the hardware
in a defined state. This is different from a full reset, since it
does not touch all CPU registers.
These patches define the cpu resets, the subsystem reset a load
function and also wires up the "nmi" command to issue a RESTART
interrupt as defined in the z/Architecture principles of operation.
This allows recent guest kernels with properly setup userspace
to trigger kdump:
- via guest crash
- via nmi from the host
# gpg: Signature made Fri 30 Aug 2013 07:19:18 AM CDT using RSA key ID
B5A61C7C
# gpg: Can't check signature: public key not found
# By Christian Borntraeger (5) and Eugene (jno) Dvurechenski (2)
# Via Christian Borntraeger
* borntraeger/tags/kdump:
s390: wire up nmi command to raise a RESTART interrupt on S390
s390: Implement load normal reset
s390/cpu: split CPU reset into architectured functions
s390: provide a cpu load normal function
s390: provide I/O subsystem reset
s390/kvm: basic implementation of diagnose 308 subcode 6
s390x/kvm: Fix switch/case indentation for handle_diag
Message-id: 1377810649-47484-1-git-send-email-borntraeger@xxxxxxxxxx
commit e23e400ec62a03dea58ddb38479b4f1ef86f556d
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:28 2013 +0200
qcow2-refcount: Repair OFLAG_COPIED errors
Since the OFLAG_COPIED checks are now executed after the refcounts have
been repaired (if repairing), it is safe to assume that they are correct
but the OFLAG_COPIED flag may be not. Therefore, if its value differs
from what it should be (considering the according refcount), that
discrepancy can be repaired by correctly setting (or clearing that flag.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 4f6ed88c03c4026e31ce152ea760a0da839f0dda
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:27 2013 +0200
qcow2-refcount: Move OFLAG_COPIED checks
Move the OFLAG_COPIED checks out of check_refcounts_l1 and
check_refcounts_l2 and after the actual refcount checks/fixes (since the
refcounts might actually change there).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cf93980e775b709ec8f33f55846e6dcf1c7a612c
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:26 2013 +0200
qcow2: Employ metadata overlap checks
The pre-write overlap check function is now called before most of the
qcow2 writes (aborting it on collision or other error).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit a40f1c2add4d5f58d594f810fe36cabcf32bc4b0
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:25 2013 +0200
qcow2: Metadata overlap checks
Two new functions are added; the first one checks a given range in the
image file for overlaps with metadata (main header, L1 tables, L2
tables, refcount table and blocks).
The second one should be used immediately before writing to the image
file as it calls the first function and, upon collision, marks the
image as corrupt and makes the BDS unusable, thereby preventing
further access.
Both functions take a bitmask argument specifying the structures which
should be checked for overlaps, making it possible to also check
metadata writes against colliding with other structures.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 69c98726537627e708abb8fcb33e3a2b10e40bf1
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 14:34:24 2013 +0200
qcow2: Add corrupt bit
This adds an incompatible bit indicating corruption to qcow2. Any image
with this bit set may not be written to unless for repairing (and
subsequently clearing the bit if the repair has been successful).
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 449df7063815489a0b091bcb3afa9ae80ae3acbf
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 10:40:15 2013 +0200
qemu-iotests: Snapshotting zero clusters
This test creates an image with unallocated zero clusters, then creates
a snapshot. Afterwards, there should be neither any errors nor leaks.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 8b81a7b6ba8686f35f9cb0acdd54004d63206f03
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Fri Aug 30 10:40:14 2013 +0200
qcow2-refcount: Snapshot update for zero clusters
Account for all cluster types in qcow2_update_snapshot_refcounts;
this prevents this function from updating the refcount of unallocated
zero clusters which effectively led to wrong adjustments of the refcount
of cluster 0 (the main qcow2 header). This in turn resulted in images
with (unallocated) zero clusters having a cluster 0 refcount greater
than one after creating a snapshot.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit d4ca092a423f1f853a99357bab01a168bb57d625
Author: Max Reitz <mreitz@xxxxxxxxxx>
Date: Thu Aug 29 11:15:44 2013 +0200
option: Add assigned flag to QEMUOptionParameter
Adds an "assigned" flag to QEMUOptionParameter which is cleared at the
beginning of parse_option_parameters and set on (successful)
set_option_parameter and set_option_parameter_int.
Signed-off-by: Max Reitz <mreitz@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9faa574f7d07109e2256c0b4b63e8711d650f2d8
Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 13:45:41 2013 +0530
gluster: Abort on AIO completion failure
Currently if gluster AIO callback thread fails to notify the QEMU thread
about
AIO completion, we try graceful recovery by marking the disk drive as
inaccessible. This error recovery code is race-prone as found by Asias and
Stefan. However as found out by Paolo, this kind of error is impossible
and
hence simplify the code that handles this error recovery.
Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e5b1d99f5528315dc77aab369ae060d7cbad1e2a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 15:15:52 2013 +0200
block: Remove old raw driver
This is unused code now.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 7a6d3fc594d1166ec78a6b74ba76753078de0de5
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:23 2013 +0200
switch raw block driver from "raw.o" to "raw_bsd.o"
"Incoming" function prototypes and "outgoing" function calls must match
reality. Implemented using the "struct BlockDriver" definition in
"include/block/block_int.h", and gcc errors & warnings.
v1->v2:
On 08/20/13 09:51, Kevin Wolf wrote:
> Am 18.08.2013 um 16:29 hat Paolo Bonzini geschrieben:
>> Il 16/08/2013 16:15, Laszlo Ersek ha scritto:
>>> +static int raw_reopen_prepare(BDRVReopenState *reopen_state,
>>> + BlockReopenQueue *queue, Error **errp)
>>> {
>>> - return bdrv_reopen_prepare(bs->file);
>>> + BDRVReopenState tmp = *reopen_state;
>>> +
>>> + tmp.bs = tmp.bs->file;
>>> + return bdrv_reopen_prepare(&tmp, queue, errp);
>>> }
>>
>> This should just return zero, my fault.
>
> Which is because bdrv_reopen_queue() already queues bs->file for reopen.
> The simple return 0; implementation is shared by all other format
drivers
> that support reopening images.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 775d6afd5cd66f2154a81f5de9d3dd7297a35072
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:22 2013 +0200
raw_bsd: register bdrv_raw
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 5) Formats are registered with bdrv_register (takes a BlockDriver*). You
> also need to pass the caller of bdrv_register to block_init.
Fill in the BlockDriver structure with the raw_*() functions that have
been added to "block/raw_bsd.c", in the order the fields are defined in
"include/block/block_int.h".
I needed more explanation / naming examples for registering the driver
than what Paolo gave me, so I copied / adapted from "block/qcow2.c". The
parts I took as basis for modification are blamed on
commit 5efa9d5a8b18841c9c62208a494d7f519238979a
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Sat May 9 17:03:42 2009 -0500
Convert block infrastructure to use new module init functionality
commit 20d97356c9df6d68fbd37d6334fdb7063f24eab6
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Fri Apr 23 20:19:47 2010 +0000
Fix OpenBSD build
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit ff369a483df89cc6ca510b0c3ab9afe9cf0bdfdc
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:21 2013 +0200
raw_bsd: add raw_create_options
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 4) There is another member, .create_options, which is an array of
> QEMUOptionParameter structs, terminated by an all-zero item. The only
> option you need is for the virtual disk size. You will find something
> to copy from in other block drivers, for example block/qcow2.c.
Code taken and adapted from "block/qcow2.c", as suggested. The code being
copied/modified is blamed on
commit 20d97356c9df6d68fbd37d6334fdb7063f24eab6
Author: Blue Swirl <blauwirbel@xxxxxxxxx>
Date: Fri Apr 23 20:19:47 2010 +0000
Fix OpenBSD build
and
commit 7c80ab3f21f0b1342f23057d4345ae266c7348d9
Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
Date: Fri Dec 17 16:02:39 2010 +0100
block/qcow2.c: rename qcow_ functions to qcow2_
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 01dd96d8f4f253ee29b4e0362a73c5f43bdc0b18
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:20 2013 +0200
raw_bsd: introduce "special members"
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 3) These members are special
>
> .format_name is the string "raw"
> .bdrv_open raw_open should set bs->sg to bs->file->sg and
return 0
> .bdrv_close raw_close should do nothing
> .bdrv_probe raw_probe should just return 1.
v1->v2:
On 08/20/13 10:11, Kevin Wolf wrote:
> Am 16.08.2013 um 16:15 hat Laszlo Ersek geschrieben:
>> +static int raw_probe(void)
>> +{
>> + return 1;
>> +}
>
> Maybe add a comment here like "smallest possible positive score so that
> raw is used if and only if no other block driver works".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 1565262c370195f1d7781d98f78fa002ab16b385
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:19 2013 +0200
raw_bsd: add raw_create()
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 2) This is also a simple forwarder function:
>
> .bdrv_create
>
> but there is no BlockDriverState argument so the forwarded-to function
> does not have a bs->file argument either. The forwarded-to function is
> bdrv_create_file.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9eaafd90d14b6049cc1d0e0b6c712459d447363c
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:18 2013 +0200
raw_bsd: emit debug events in bdrv_co_readv() and bdrv_co_writev()
On 08/05/13 15:03, Paolo Bonzini wrote:
>
> [...]
>
> 1) BlockDriver is a struct in which these function members are
> interesting:
>
> .bdrv_reopen_prepare
> .bdrv_co_readv
> .bdrv_co_writev
> .bdrv_co_is_allocated
> .bdrv_co_write_zeroes
> .bdrv_co_discard
> .bdrv_getlength
> .bdrv_get_info
> .bdrv_truncate
> .bdrv_is_inserted
> .bdrv_media_changed
> .bdrv_eject
> .bdrv_lock_medium
> .bdrv_ioctl
> .bdrv_aio_ioctl
> .bdrv_has_zero_init
>
> They should be implemented as simple forwarders (see above). There are
> 16 functions listed here, you can easily see how this already accounts
> for 100+ SLOC roughly...
>
> The implementations of bdrv_co_readv and bdrv_co_writev should also call
> BLKDBG_EVENT on bs->file too, before forwarding to bs->file. The events
> to be generated are BLKDBG_READ_AIO and BLKDBG_WRITE_AIO.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit e1c66c6d82fe5988d66531febc27ef8480c44c8a
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Wed Aug 21 12:41:17 2013 +0200
add skeleton for BSD licensed "raw" BlockDriver
On 08/05/13 15:03, Paolo Bonzini wrote:
>
>
> ----- Original Message -----
>> From: "Laszlo Ersek" <lersek@xxxxxxxxxx>
>> To: "Paolo Bonzini" <pbonzini@xxxxxxxxxx>
>> Sent: Monday, August 5, 2013 2:43:46 PM
>> Subject: Re: [PATCH 1/2] raw: add license header
>>
>> On 08/02/13 00:27, Paolo Bonzini wrote:
>>> On 08/01/2013 10:13 AM, Christoph Hellwig wrote:
>>>> On Wed, Jul 31, 2013 at 08:19:51AM +0200, Paolo Bonzini wrote:
>>>>> 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.
>>>>
>>>> The coded was intended to be GPLv2.
>>>
>>> Laszlo, would you be willing to do clean-room reverse engineering?
>>>
>>> (No rants, please. :))
>>
>> What's the scope exactly?
>
> It's quite small, it's a file full of forwarders like
>
> static void raw_foo(BlockDriverState *bs)
> {
> return bdrv_foo(bs->file);
> }
>
> It's 170 lines of code, all as boring as this. I only picked you
> because I'm quite certain you have never seen the file (and the answer
> confirmed it).
>
> Basically:
>
> 1) BlockDriver is a struct in which these function members are
> interesting:
>
> .bdrv_reopen_prepare
> .bdrv_co_readv
> .bdrv_co_writev
> .bdrv_co_is_allocated
> .bdrv_co_write_zeroes
> .bdrv_co_discard
> .bdrv_getlength
> .bdrv_get_info
> .bdrv_truncate
> .bdrv_is_inserted
> .bdrv_media_changed
> .bdrv_eject
> .bdrv_lock_medium
> .bdrv_ioctl
> .bdrv_aio_ioctl
> .bdrv_has_zero_init
>
> They should be implemented as simple forwarders (see above).
> There are 16 functions listed here, you can easily see how this
> already accounts for 100+ SLOC roughly...
>
> The implementations of bdrv_co_readv and bdrv_co_writev should also
> call BLKDBG_EVENT on bs->file too, before forwarding to bs->file. The
> events to be generated are BLKDBG_READ_AIO and BLKDBG_WRITE_AIO.
>
> 2) This is also a simple forwarder function:
>
> .bdrv_create
>
> but there is no BlockDriverState argument so the forwarded-to function
> does not have a bs->file argument either. The forwarded-to function
> is bdrv_create_file.
>
> 3) These members are special
>
> .format_name is the string "raw"
> .bdrv_open raw_open should set bs->sg to bs->file->sg and
return 0
> .bdrv_close raw_close should do nothing
> .bdrv_probe raw_probe should just return 1.
>
> 4) There is another member, .create_options, which is an array of
> QEMUOptionParameter structs, terminated by an all-zero item. The only
> option you need is for the virtual disk size. You will find something
> to copy from in other block drivers, for example block/qcow2.c.
>
> 5) Formats are registered with bdrv_register (takes a BlockDriver*).
> You also need to pass the caller of bdrv_register to block_init.
>
> 6) I'm not sure how to organize the patch series, so I'll leave this to
> your creativity. I guess in this case move/copy detection of git should
> be disabled. I would definitely include this spec in the commit
> message as a proof of clean-room reverse engineering.
>
> 7) Remember a BSD header like the one in block.c.
>
> Paolo
This patch implements the email up to the paragraph ending with "100+ SLOC
roughly". The skeleton is generated from the list there, with a simple
shell loop using "sed" and the raw_foo() template.
The BSD license block is copied (and reflowed) from
"util/qemu-progress.c".
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 127c84e1a52f11bf418cc2d3bf804da5091a190a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Fri Aug 23 17:35:45 2013 +0100
block/qcow2.h: Avoid "1LL << 63" (shifts into sign bit)
The expression "1LL << 63" tries to shift the 1 into the sign bit of a
'long long', which provokes a clang sanitizer warning:
runtime error: left shift of 1 by 63 places cannot be represented in type
'long long'
Use "1ULL << 63" as the definition of QCOW_OFLAG_COPIED instead
to avoid this. For consistency, we also update the other QCOW_OFLAG
definitions to use the ULL suffix rather than LL, though only the
shift by 63 is undefined behaviour.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit cccc30b4ad5d9835f5525d94210c8de26f4f5f94
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 16:12:20 2013 +0200
qemu-iotests: Update reference output for 051
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit c0447d870b25cd95af2630ab3d376321bd6e820a
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Wed Aug 28 09:50:40 2013 +0200
Revert "block: Disable driver-specific options for 1.6"
This reverts commit 8afaefb8919dc8746a57c450a758717c516c7b0a.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 015370301fd90ea5d17522eba00ae2797569ce8b
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Tue Jul 2 12:18:18 2013 +0200
qapi-types.py: Split off generate_struct_fields()
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 09da4a72926e2d0af0e5f0cb967ab0dd345311f4
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Apr 15 10:59:42 2013 +0200
block: Remove redundant assertion
The failing condition is checked immediately before the assertion, so
keeping the assertion is kind of redundant.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
commit 9117b47717ad208b12786ce88eacb013f9b3dd1c
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Aug 19 10:38:01 2013 +0200
qcow2: Change default for new images to compat=1.1
By the time that qemu 1.7 will be released, enough time will have passed
since qemu 1.1, which is the first version to understand version 3
images, that changing the default shouldn't hurt many people any more
and the benefits of using the new format outweigh the pain.
qemu-iotests already runs with compat=1.1 by default.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
commit 7f7f975295bc19829b3bd26cadc7f1c9eadb7c6b
Author: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Date: Wed Dec 5 15:50:07 2012 +0100
s390: wire up nmi command to raise a RESTART interrupt on S390
There is the 'nmi' command that is used to trigger a guest dump via kdump
feature on x86.
s390 uses RESTART interrupt to trigger kdump.
So, this patch provides a mean to use 'nmi' command on s390 to raise
RESTART interrupt.
The CPU to receive the RESTART interrupt is the "default" one.
There is an infrastructure to select the "default" CPU using 'cpu'
command.
The 'info cpus' command can be used to see which one is the "default".
In order to wire up the RESTART to 'nmi' command we had to:
1. implement the kvm_s390_cpu_restart function by exporting the existing
code
2. implement s390_cpu_restart function as kvm-aware wrapper
3. modify the qmp_inject_nmi function to enable (for s390) the scan for
"default" CPU and call s390_cpu_restart for it;
3. fix some messages.
Signed-off-by: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit f077847572708bbb3dd22bbc91ac6a277046e827
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Jul 25 16:57:45 2013 +0200
s390: Implement load normal reset
kdump on s390 uses a load normal reset to bring the system in a defined
state by doing a subsystem reset. The issuing CPUs will have an initial
CPU reset, all other CPUs will have a CPU reset as defined in POP (no
register content will change).
Implement this as architectured.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit f5ae2a4fd8d573cfebaf24220e2920bb5074d9a6
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Jun 28 10:51:09 2013 +0200
s390/cpu: split CPU reset into architectured functions
s390 provides several CPU resets:
- CPU reset, clears interrupts, stop processing, clears TLB, but does
not touch registers
- initial CPU reset, like CPU reset, but also clears PSW, prefix, FPC,
timer and control registers. It does not touch gprs, fprs and acrs (!)
- Power on reset: the full monty
wire up CPUClass reset to the full monty, but provide the lesser resets
as part of S390CPUClass.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit 7ca0e061044615e39eab2b22b8fc2791a4d77c34
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:27 2013 +0800
monitor: improve auto complete of "help" for single command in sub group
Now special case "help *" in auto completion can work with sub commands,
such as "help info u*".
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 129be006d63ba90b788de6b1610892e02ef5eaba
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:26 2013 +0800
monitor: allow "help" show message for single command in sub group
A new parameter type 'S' is introduced to allow user input any string.
"help info block" works normal now.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d903a779cf2f1fa5cd12076411a00b835f1b7b26
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:25 2013 +0800
monitor: support sub command in auto completion
This patch allows auto completion work normal for sub command case,
"info block [DEVICE]" can auto complete now, by re-enter the completion
function. In original code "info" is treated as a special case, now it
is treated as a sub command group, global variable info_cmds is not used
any more.
"help" command is still treated as a special case, since it is not a sub
command group but want to auto complete command in root command table.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c35b6400338897847bbab1b0f65d89552636579a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:24 2013 +0800
monitor: refine monitor_find_completion()
In order to support sub command in auto completion, a reentrant function
is needed, so monitor_find_completion() is split into two parts. The
first part does parsing of user input which need to be done only once,
the second part does the auto completion job according to the parsing
result, which contains the necessary code to support sub command and
works as the reentrant function. The global "info_cmds" is still used
in second part, which will be replaced by sub command code later.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 66855495fbcca9411a21e6eba6a3a0385007c96d
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:23 2013 +0800
monitor: support sub command in help
The old code in help_cmd() uses global 'info_cmds' and treats it as a
special case. Actually 'info_cmds' is a sub command group of 'mon_cmds',
in order to avoid direct use of it, help_cmd() needs to change its work
mechanism to support sub command and not treat it as a special case
any more.
To support sub command, help_cmd() will first parse the input and then
call
help_cmd_dump(), which works as a reentrant function. When it meets a sub
command, it simply enters the function again. Since help dumping needs to
know whole input to printf full help message include prefix, for example,
"help info block" need to printf prefix "info", so help_cmd_dump() takes
all
args from input and extra parameter arg_index to identify the progress.
Another function help_cmd_dump_one() is introduced to printf the prefix
and command's help message.
Now help supports sub command, so later if another sub command group is
added in any depth, help will automatically work for it. Still "help info
block" will show error since command parser reject additional parameter,
which can be improved later. "log" is still treated as a special case.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit dcc70cdf0932172fc5cf27617a3b033ca58d0176
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:22 2013 +0800
monitor: refine parse_cmdline()
Since this function will be used by help_cmd() later, so improve
it to make it more generic and easier to use. free_cmdline_args()
is added too as paired function to free the result.
One change of this function is that, when the valid args in input
exceed the limit of MAX_ARGS, it fails now, instead of return with
MAX_ARGS of parsed args in old code. This should not impact much
since it is rare that user input many args in monitor's "help" and
auto complete scenario.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f5438c0500bb22c97b30987d2e0eab953416c7c5
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:21 2013 +0800
monitor: code move for parse_cmdline()
help_cmd() need this function later, so move it. get_str() is called by
parse_cmdline() so it is moved also. Some code style error reported by
check script, is also fixed.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7717239dc1778e94a6210e62e1ec2ba720168eec
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:20 2013 +0800
monitor: avoid direct use of global variable *mon_cmds
New member *cmd_table is added in structure Monitor to avoid direct usage
of
*mon_cmds. Now monitor have an associated command table, when global
variable
*info_cmds is also discarded, structure Monitor would gain full control
about
how to deal with user input.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b01fe89e91268c6b02720735643020746610e6d8
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:19 2013 +0800
monitor: split off monitor_data_init()
In qmp_human_monitor_command(), the monitor need to initialized for
basic functionalities, and later more init code will be added, so
split off this function. Note that it is different with QMP mode
monitor which accept json string from monitor's input,
qmp_human_monitor_command() retrieve the human style command from
QMP input, then send the command to a normal mode monitor.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d038317c357efef9d8d362e526c5f5071f505a04
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:18 2013 +0800
monitor: call sortcmdlist() only one time
It doesn't need to be done for every monitor, so change it.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d1a9756ab8c2c2578cbcb325efffe0b0af916944
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:17 2013 +0800
monitor: avoid use of global *cur_mon in readline_completion()
Now all completion functions do not use *cur_mon any more, instead
they use rs->mon. In short, structure ReadLineState decide where
the complete action would be taken now.
Tested with the case that qemu have two telnet monitors, auto
completion function works normal.
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d2674b2cf7db7dce865f3c2b89f0e36d1657a3b5
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:16 2013 +0800
monitor: avoid use of global *cur_mon in monitor_find_completion()
Parameter *mon is added, and local variable *mon added in previous patch
is removed. The caller readline_completion(), pass rs->mon as value, which
should be initialized in readline_init() called by monitor_init().
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 599a926abcf581732d449163a96fd9a4cc80091a
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:15 2013 +0800
monitor: avoid use of global *cur_mon in block_completion_it()
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cb8f68b104f8d14f0ad856012cac7bd27f183799
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:14 2013 +0800
monitor: avoid use of global *cur_mon in file_completion()
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit cd5c6bba1b75d4faebb58345d2661d5e42600fab
Author: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Date: Tue Aug 27 20:38:13 2013 +0800
monitor: avoid use of global *cur_mon in cmd_completion()
A new local variable *mon is added in monitor_find_completion()
to make compile pass, which will be removed later in
conversion patch for monitor_find_completion().
Signed-off-by: Wenchao Xia <xiawenc@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 9c3175cc15fbe8d3528375d1389dad40b19b7665
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Thu Aug 22 21:30:09 2013 +0200
monitor: Add missing attributes to local function
Function expr_error gets a format string and variable arguments like
printf.
It also never returns. Add the necessary attributes.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 29c6157ca7bfa036a8c59805c1a1d76ba9a2a851
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Jul 25 16:45:51 2013 +0200
s390: provide a cpu load normal function
Some code needs to perform an IPL-like bootup that mimics the
ESA (31bit) restart. Provide a cpu class method that does so.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 4e872a3fb024f0d742ef6b48be3afaab2c4453fc
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Thu Jul 25 16:37:37 2013 +0200
s390: provide I/O subsystem reset
Provide a function that resets the I/O subsystem.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
commit 268846ba93de2529630d623b6ded72cee1221106
Author: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Date: Wed Jun 19 17:27:15 2013 +0200
s390/kvm: basic implementation of diagnose 308 subcode 6
Linux uses a check for subcode 6 to decide if other subcodes are
available. Provide a minimal implementation for subcode 6, as well
as for subcode 5.
Signed-off-by: Eugene (jno) Dvurechenski <jno@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
[Move code from kvm.c into misc_helper.c]
commit 39fbc5c62ce83f34e7f5b62238305d83ce8b4489
Author: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Date: Fri Aug 30 11:06:56 2013 +0200
s390x/kvm: Fix switch/case indentation for handle_diag
This alignes case statements to switch statements in the handle_diag
function as mandated by coding style.
Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
commit b5d54bd42158b90b239bb6ce9c13072eb3a53fd2
Merge: e560992 821c808
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 29 17:21:51 2013 -0500
Merge remote-tracking branch 'qemu-kvm/uq/master' into stable-1.5
* qemu-kvm/uq/master:
kvm-stub: fix compilation
kvm: shorten the parameter list for get_real_device()
kvm: i386: fix LAPIC TSC deadline timer save/restore
kvm-all.c: max_cpus should not exceed KVM vcpu limit
kvm: Simplify kvm_handle_io
kvm: x86: fix setting IA32_FEATURE_CONTROL with nested VMX disabled
kvm: add KVM_IRQFD_FLAG_RESAMPLE support
kvm: migrate vPMU state
target-i386: remove tabs from target-i386/cpu.h
Initialize IA32_FEATURE_CONTROL MSR in reset and migration
Conflicts:
target-i386/cpu.h
target-i386/kvm.c
aliguori: fixup trivial conflicts due to whitespace and added cpu
argument
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e560992f21437380857ae490c907810d99459df5
Merge: 3e998a7 92f1623
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 29 17:20:17 2013 -0500
Merge remote-tracking branch 'sweil/mingw' into stable-1.5
# By Stefan Weil
# Via Stefan Weil
* sweil/mingw:
gtk: Remove unused include statements which are not portable
w32: Add an icon resource
w32: Fix broken out-of-tree builds (missing version.o)
Message-id: 1377607132-21336-1-git-send-email-sw@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 3e998a778846de4ea24188278f18e4191a56412e
Merge: 584950f 1ae2757
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 29 17:19:19 2013 -0500
Merge remote-tracking branch 'mst/tags/for_anthony' into stable-1.5
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups, future-proofing of ROM files,
and a virtio bugfix correcting splice on virtio console.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
# gpg: Signature made Mon 26 Aug 2013 01:34:20 AM CDT using RSA key ID
D28D5469
# gpg: Can't check signature: public key not found
# By Markus Armbruster (5) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony:
virtio: virtqueue_get_avail_bytes: fix desc_pa when loop over the
indirect descriptor table
pc_piix: Kill pc_init1() memory region args
pc: pc_compat_1_4() now can call pc_compat_1_5()
pc: Create pc_compat_*() functions
pc: Kill pc_init_pci_1_0()
pc: Don't explode QEMUMachineInitArgs into local variables needlessly
pc: Don't prematurely explode QEMUMachineInitArgs
ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params
ppc: Don't explode QEMUMachineInitArgs into local variables needlessly
sun4: Don't prematurely explode QEMUMachineInitArgs
q35: Add PCIe switch to example q35 configuration
loader: store FW CFG ROM files in RAM
arch_init: align MR size to target page size
pc: cleanup 1.4 compat support
Message-id: 1377535318-30491-1-git-send-email-mst@xxxxxxxxxx
commit 584950fd4e4d6ca580800e46f1b41cf1b0b4236c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Aug 29 08:21:37 2013 -0700
tcg-i386: Remove abort from GETPC_LDST
Indeed, remove it entirely and remove the is_tcg_gen_code check
from GETPC_EXT.
Fixes https://bugs.launchpad.net/qemu/+bug/1218098 wherein a call
to a "normal" helper function performed a sequence of tail calls
all the way into the memory helper functions, leading to a stack
frame in which the memory helper function appeared to be called
directly from tcg.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 951fab990db05d47ab9da5e72521e406c73a3eb9
Author: James Hogan <james.hogan@xxxxxxxxxx>
Date: Tue Aug 27 17:48:36 2013 +0100
target-mips: fix get_physical_address() #if 0 build error
In get_physical_address() is a qemu_log() call inside an #if 0 block.
When enabled the following build error is hit:
target-mips/helper.c In function â??get_physical_addressâ??:
target-mips/helper.c:220:13: error: format â??%xâ?? expects argument of
type â??unsigned intâ??, but argument 5 has type â??hwaddrâ?? [-Werror=format]
Fix the *physical (hwaddr) formatting by using "%"HWADDR_PRIx instead of
TARGET_FMT_lx.
Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx>
Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Yongbok Kim <yongbok.kim@xxxxxxxxxx>
Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
commit 821c808bd1863efc2c1e977800ae77db633a185c
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Tue Aug 27 17:13:44 2013 +0200
kvm-stub: fix compilation
Non-KVM targets fail compilation on the uq/master branch.
Fix the prototype of kvm_irqchip_add_irqfd_notifier to match
the one in kvm-all.c.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
commit c16547326988cc321c9bff43ed91cbe753e52892
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:50 2013 +0200
hw: Clean up bogus default boot order
We set default boot order "cad" in every single machine definition
except "pseries" and "moxiesim", even though very few boards actually
care for boot order, and "cad" makes sense for even fewer.
Machines that care:
* pc and its variants
Accept up to three letters 'a', 'b' (undocumented alias for 'a'),
'c', 'd' and 'n'. Reject all others (fatal with -boot).
* nseries (n800, n810)
Check whether order starts with 'n'. Silently ignored otherwise.
* prep, g3beige, mac99
Extract the first character the machine understands (subset of
'a'..'f'). Silently ignored otherwise.
* spapr
Accept an arbitrary string (vl.c restricts it to contain only
'a'..'p', no duplicates).
* sun4[mdc]
Use the first character. Silently ignored otherwise.
Strip characters these machines ignore from their default boot order.
For all other machines, remove the unused default boot order
alltogether.
Note that my rename of QEMUMachine member boot_order to
default_boot_order and QEMUMachineInitArgs member boot_device to
boot_order has a welcome side effect: it makes every use of boot
orders visible in this patch, for easy review.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3bf4dfdd1110de84ca0cecff0679cf7da90bfbfe
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Wed Aug 21 14:42:06 2013 +1000
pci: add config space access traces
This adds pci_cfg_read and pci_cfg_write traces for config spaces
accesses.
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 92f1623663a8797e68a043ec401a740746439f29
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sun Aug 18 09:26:34 2013 +0200
gtk: Remove unused include statements which are not portable
These include files don't exist for MinGW and are not needed for Linux
(and hopefully for other hosts as well), so remove them.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 487cddb2bf3f429953dc5b3252d2a3b83d7200c5
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Sat Aug 17 09:32:04 2013 +0200
w32: Add an icon resource
The QEMU mascot which was already used for the NSIS installer
is now used for all QEMU executables.
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
commit 7e75e33e7886314490305f181065b8b4ec916a8a
Author: Stefan Weil <sw@xxxxxxxxxxx>
Date: Fri Aug 16 21:51:53 2013 +0200
w32: Fix broken out-of-tree builds (missing version.o)
Commit 0b516ef0dfad9a7b34c675c98e8ec92ab4d38466 added version.o to all
executables, but broke out-of-tree builds: for those builds the pattern
rule %.o: %.rc from rules.mak does not match, so version.o was no longer
built.
Adding explicit build rules fixes this.
Reported-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Weil <sw@xxxxxxxxxxx>
Tested-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
commit 1466cef32dd5e7ef3c6477e96d85d92302ad02e3
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>
commit 9eda7d373e9c691c070eddcbe3467b991f67f6bd
Author: Alexey Kardashevskiy <aik@xxxxxxxxx>
Date: Sat Aug 10 01:09:08 2013 +1000
pci: Introduce helper to retrieve a PCI device's DMA address space
A PCI device's DMA address space (possibly an IOMMU) is returned by a
method on the PCIBus. At the moment that only has one caller, so the
method is simply open coded. We'll need another caller for VFIO, so
this patch introduces a helper/wrapper function.
If IOMMU is not set, the pci_device_iommu_address_space() function
returns the parent's IOMMU skipping the "bus master" address space as
otherwise proper emulation would require more effort for no benefit.
Signed-off-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>
[aik: added inheritance from parent if iommu is not set for the current
bus]
Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 401c227b0a1134245ec61c6c5a9997cfc963c8e4
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 07:16:52 2013 -1000
tcg-i386: Use new return-argument ld/st helpers
Discontinue the jump-around-jump-to-jump scheme, trading it for a single
immediate move instruction. The two extra jumps always consume 7 bytes,
whereas the immediate move is either 5 or 7 bytes depending on where the
code_gen_buffer gets located.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit aac1fb0576e5bea72681e91c38caffc17741eb80
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 08:29:15 2013 -1000
tcg: Tidy softmmu_template.h
Avoid a loop in the tlb_fill path; the fill will either succeed or
generate an exception.
Inline the slow_ld/st function; it was a complete copy of the main
helper except for the actual cross-page unaligned code, and the
compiler was inlining it anyway.
Add unlikely markers optimizing for the most common case of simple
tlb miss.
Make sure the compiler can optimize away the unaligned paths for a
1 byte access.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit e25c3887e6ac50e7a0c42a2f597b088a27d5bb5d
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Jul 24 14:54:12 2013 -1000
tcg: Add mmu helpers that take a return address argument
Allow the code that tcg generates to be less obtuse, passing in
the return address directly instead of computing it in the helper.
Maintain the old entrance point unchanged as an alternate entry point.
Delete the helper_st*_cmmu prototypes; the implementations did not exist.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit c6f29ff096d9e956df94db20fe49275c35f601fb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 06:33:33 2013 -1000
tcg-i386: Tidy qemu_ld/st slow path
Use existing stack space for arguments; don't push/pop.
Use less ifdefs and more C ifs.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 8023ccda079624221e618efeb537b41c70407469
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 10:00:41 2013 -1000
tcg-i386: Try pc-relative lea for constant formation
Use a 7 byte lea before the ultimate 10 byte movq.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ac26eb69a311396668809eadbf7ff4e623447d4c
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Thu Jul 25 09:42:17 2013 -1000
tcg-i386: Add and use tcg_out64
No point in splitting the write into 32-bit pieces.
Reviewed-by: Aurelien Jarno <aurelien@xxxxxxxxxxx>
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 2bb8656dadcaa521a9699ab2a2632b68da36c998
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Wed Aug 14 09:46:38 2013 -0700
tcg: Tidy generated code for tcg_outN
Aliasing was forcing s->code_ptr to be re-read after the store.
Keep the pointer in a local variable to help the compiler.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit f7ad538e1ea130c8b6f3abb06ad6c856242c799e
Merge: e3f024a b10577d
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Aug 26 09:19:50 2013 -0500
Merge remote-tracking branch 'stefanha/block' into staging
# By Alex Bligh (32) and others
# Via Stefan Hajnoczi
* stefanha/block: (42 commits)
win32-aio: drop win32_aio_flush_cb()
aio-win32: replace incorrect AioHandler->opaque usage with ->e
aio / timers: remove dummy_io_handler_flush from tests/test-aio.c
aio / timers: Remove legacy interface
aio / timers: Switch entire codebase to the new timer API
aio / timers: Add scripts/switch-timer-api
aio / timers: Add test harness for AioContext timers
aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API
aio / timers: Convert rtc_clock to be a QEMUClockType
aio / timers: Remove main_loop_timerlist
aio / timers: Rearrange timer.h & make legacy functions call non-legacy
aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms
aio / timers: Remove legacy qemu_clock_deadline &
qemu_timerlist_deadline
aio / timers: Remove alarm timers
aio / timers: Add documentation and new format calls
aio / timers: Use all timerlists in icount warp calculations
aio / timers: Introduce new API timer_new and friends
aio / timers: On timer modification, qemu_notify or aio_notify
aio / timers: Convert mainloop to use timeout
aio / timers: Convert aio_poll to use AioContext timers' deadline
...
Message-id: 1377202298-22896-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit e3f024aec29a2e3eff46138687e2ecba7631c645
Merge: 42eed42 73c30df
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Aug 26 09:19:36 2013 -0500
Merge remote-tracking branch 'afaerber/tags/0.15-maintainer-for-anthony'
into staging
MAINTAINERS update for stable-0.15
# gpg: Signature made Thu 22 Aug 2013 10:59:31 AM 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/0.15-maintainer-for-anthony:
MAINTAINERS: Take over 0.15 maintenance
commit 1ae2757c6c4525c9b42f408c86818f843bad7418
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>
commit 42eed424e1ea6469ce73cb2fdddb0d31bebb686a
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 16 23:29:47 2013 -0700
disas-objdump: Pass --adjust-vma to objdump
This gives the dumped blob its correct address during disassembly,
which makes pc-relative insns much easier to interpret.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 8dc6d24091edc34be1f989a2d92703130760401f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 16 23:29:46 2013 -0700
disas: Add disas-objdump.pl
The script massages the output produced for architectures that are
not supported internally by qemu though an external objdump program
for disassembly.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit c46ffd57a3e2c36c241b4c676aa7d9c706eb2dc3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Aug 16 23:29:45 2013 -0700
disas: Implement fallback to dump object code as hex
The OBJD-[HT] tags will be used by a script to run the hex blob
through objdump --disassemble.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
commit 867c47cbba5d5ff8f27cc22634f30da56d09c2c4
Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Thu Aug 22 18:40:12 2013 +0200
kvm: shorten the parameter list for get_real_device()
get_real_device() has 5 parameters with the last 4 is contained in the
first
structure.
This patch removes the last 4 parameters and directly use them from the
first
parameter.
Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit b10577df13fa4a1b38ea6c1ea7b66c6dfd90a07a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 15:28:36 2013 +0200
win32-aio: drop win32_aio_flush_cb()
The io_flush argument to qemu_aio_set_event_notifier() has been removed
since the block layer learnt to drain requests by itself. Fix the
Windows build for win32-aio.o by updating the
qemu_aio_set_event_notifier() call and dropping win32_aio_flush_cb().
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 8b2d42d273ed0df2a34cfa29f47bc1f8cc3abb26
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Aug 22 15:28:35 2013 +0200
aio-win32: replace incorrect AioHandler->opaque usage with ->e
The AioHandler->opaque field does not exist in aio-win32.c. The code
that uses it was incorrectly copied from aio-posix.c. For Windows we
can use AioHandler->e to match against AioContext->notifier.
This patch fixes the Windows build for aio-win32.o.
Reviewed-by: Stefan Weil <sw@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 91c68f143d6e707c5783b162292dce38ae358c19
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Thu Aug 22 19:59:16 2013 +0100
aio / timers: remove dummy_io_handler_flush from tests/test-aio.c
Remove dummy_io_handler_flush from tests/test-aio.c as it does
nothing now.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b4049b74b97f30fe944c63b5f158ec9e87bd2593
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:09 2013 +0100
aio / timers: Remove legacy interface
Remove the legacy interface from include/qemu/timers.h.
Ensure struct QEMUClock is not exposed at all.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bc72ad67543f5c5d39c005ff0ca72da37642a1fb
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:08 2013 +0100
aio / timers: Switch entire codebase to the new timer API
This is an autogenerated patch using scripts/switch-timer-api.
Switch the entire code base to using the new timer API.
Note this patch may introduce some line length issues.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit fe10ab540bcc2c5e4ac15ae686008c4a17a95c69
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:07 2013 +0100
aio / timers: Add scripts/switch-timer-api
Add scripts/switch-timer-api to programatically rewrite source
files to use the new timer system.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b53edf971f060389179b2935ca09e2cd9f9a728b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:06 2013 +0100
aio / timers: Add test harness for AioContext timers
Add a test harness for AioContext timers. The g_source equivalent is
unsatisfactory as it suffers from false wakeups.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7483d1e54700156e4c22e2e1b5d85de6eb92fdcf
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:05 2013 +0100
aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API
Convert block_job_sleep_ns and co_sleep_ns to use the new timer
API.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 884f17c235095af99b92dd8cd10bb824a5b0f777
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:04 2013 +0100
aio / timers: Convert rtc_clock to be a QEMUClockType
Convert rtc_clock to be a QEMUClockType
Move rtc_clock users to use the new API
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7bf8fbde449600926370f744b2b3d9cc819ca74f
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:03 2013 +0100
aio / timers: Remove main_loop_timerlist
Now we have timerlistgroups implemented and main_loop_tlg, we
no longer need the concept of a default timer list associated
with each clock. Remove it and simplify initialisation of
clocks and timer lists.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 40daca54cd94678273c81dca8c0adefa297da5ea
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:02 2013 +0100
aio / timers: Rearrange timer.h & make legacy functions call non-legacy
Rearrange timer.h so it is in order by function type.
Make legacy functions call non-legacy functions rather than vice-versa.
Convert cpus.c to use new API.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 55a197dab4d26e6dcd2b539320b7daf68cf8c967
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:01 2013 +0100
aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms
Add utility functions qemu_clock_get_ms and qemu_clock_get_us
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 63111b69cce420886ba7bfb8e367bd6c6969c1b6
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:03:00 2013 +0100
aio / timers: Remove legacy qemu_clock_deadline & qemu_timerlist_deadline
Remove qemu_clock_deadline and qemu_timerlist_deadline now we are using
the ns functions throughout.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6d327171551a12b937c5718073b9848d0274c74d
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:59 2013 +0100
aio / timers: Remove alarm timers
Remove alarm timers from qemu-timers.c now we use g_poll / ppoll
instead.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 54904d2a9165bd34dee0f076826b308be2498fe0
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:58 2013 +0100
aio / timers: Add documentation and new format calls
Add documentation for existing qemu timer calls. Add new format
calls of the format timer_XXX rather than qemu_XXX_timer
for consistency.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ac70aafc28bec4d1014082f0c6659a368c5a95bd
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:57 2013 +0100
aio / timers: Use all timerlists in icount warp calculations
Notify all timerlists derived from vm_clock in icount warp
calculations.
When calculating timer delay based on vm_clock deadline, use
all timerlists.
For compatibility, maintain an apparent bug where when using
icount, if no vm_clock timer was set, qemu_clock_deadline
would return INT32_MAX and always set an icount clock expiry
about 2 seconds ahead.
NB: thread safety - when different timerlists sit on different
threads, this will need some locking.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit a3a726ae09cdf6d277ac88cd725cf50d5849db2c
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:56 2013 +0100
aio / timers: Introduce new API timer_new and friends
Introduce new API for creating timers - timer_new and
_ns, _ms, _us derivatives.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b1bbfe72ec1ebf302d97f886cc646466c0abd679
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:55 2013 +0100
aio / timers: On timer modification, qemu_notify or aio_notify
On qemu_mod_timer_ns, ensure qemu_notify or aio_notify is called to
end the appropriate poll(), irrespective of use_icount value.
On qemu_clock_enable, ensure qemu_notify or aio_notify is called for
all QEMUTimerLists attached to the QEMUClock.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7b595f35d89d73bc69c35bf3980a89c420e8a44b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:54 2013 +0100
aio / timers: Convert mainloop to use timeout
Convert mainloop to use timeout from default timerlist group
(i.e. the current 3 static timers)
main-loop.c produces a (possibly spurious) warning about
multiple iterations. Adapt the way this works for a signed
timeout and make the warning a bit safer.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 438e1f47e7db042a10458f70aaa6197aff5d84df
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:53 2013 +0100
aio / timers: Convert aio_poll to use AioContext timers' deadline
Convert aio_poll to use deadline based on AioContext's timers.
aio_poll has been changed to return accurately whether progress
has occurred. Prior to this commit, aio_poll always returned
true if g_poll was entered, whether or not any progress was
made. This required a change to tests/test-aio.c where an
assert was backwards.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4e29e8311a53025a06433382768b82111c0bb80c
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:52 2013 +0100
aio / timers: Add aio_timer_init & aio_timer_new wrappers
Add aio_timer_init and aio_timer_new wrapper functions.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 533a8cf3506172fe1966abc6875c65494378321e
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:51 2013 +0100
aio / timers: aio_ctx_prepare sets timeout from AioContext timers
Calculate the timeout in aio_ctx_prepare taking into account
the timers attached to the AioContext.
Alter aio_ctx_check similarly.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d5541d86806acc2e1a3cf9e1402370ba884e9fe1
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:50 2013 +0100
aio / timers: Add a notify callback to QEMUTimerList
Add a notify pointer to QEMUTimerList so it knows what to notify
on a timer change.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit dae21b98b973e8d878a92b44f70a51aa8d4c739b
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:49 2013 +0100
aio / timers: Add QEMUTimerListGroup to AioContext
Add a QEMUTimerListGroup each AioContext (meaning a QEMUTimerList
associated with each clock is added) and delete it when the
AioContext is freed.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 754d6a544d044bddeef87e9a63b4f511f59f3c4e
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:48 2013 +0100
aio / timers: Add QEMUTimerListGroup and helper functions
Add QEMUTimerListGroup and helper functions, to represent
a QEMUTimerList associated with each clock. Add a default
QEMUTimerListGroup representing the default timer lists
which are not associated with any other object (e.g.
an AioContext as added by future patches).
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 6a1751b7aad6e38e9d1ae6bcea72fa28bf6cc5fb
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:47 2013 +0100
aio / timers: Untangle include files
include/qemu/timer.h has no need to include main-loop.h and
doing so causes an issue for the next patch. Unfortunately
various files assume including timers.h will pull in main-loop.h.
Untangle this mess.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ff83c66eccf5b5f6b6530d504e3be41559250dcb
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:46 2013 +0100
aio / timers: Split QEMUClock into QEMUClock and QEMUTimerList
Split QEMUClock into QEMUClock and QEMUTimerList so that we can
have more than one QEMUTimerList associated with the same clock.
Introduce a main_loop_timerlist concept and make existing
qemu_clock_* calls that actually should operate on a QEMUTimerList
call the relevant QEMUTimerList implementations, using the clock's
default timerlist. This vastly reduces the invasiveness of this
change and means the API stays constant for existing users.
Introduce a list of QEMUTimerLists associated with each clock
so that reenabling the clock can cause all the notifiers
to be called. Note the code to do the notifications is added
in a later patch.
Switch QEMUClockType to an enum. Remove global variables vm_clock,
host_clock and rt_clock and add compatibility defines. Do not
fix qemu_next_alarm_deadline as it's going to be deleted.
Add qemu_clock_use_for_deadline to indicate whether a particular
clock should be used for deadline calculations. When use_icount
is true, vm_clock should not be used for deadline calculations
as it does not contain a nanosecond count. Instead, icount
timeouts come from the execution thread doing aio_notify or
qemu_notify as appropriate. This function is used in the next
patch.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f9a976b7408f061fc7fc48b14d16797ed6f8fd97
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:45 2013 +0100
aio / timers: Make qemu_run_timers and qemu_run_all_timers return progress
Make qemu_run_timers and qemu_run_all_timers return progress
so that aio_poll etc. can determine whether a timer has been
run.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit cd758dd0acaaf1f76f9727d4409915f3293db07a
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:44 2013 +0100
aio / timers: Add prctl(PR_SET_TIMERSLACK, 1, ...) to reduce timer slack
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) to
set one nanosecond timer slack to increase precision of timer
calls.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4e0c6529fcb5ccbed5eb2c4f094264eb447d49ea
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:43 2013 +0100
aio / timers: add ppoll support with qemu_poll_ns
Add qemu_poll_ns which works like g_poll but takes a nanosecond
timeout.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 73c30df69ce1f6767a7dba29b2411329de102847
Author: Andreas Färber <afaerber@xxxxxxx>
Date: Fri Apr 13 17:54:02 2012 +0200
MAINTAINERS: Take over 0.15 maintenance
SUSE is shipping qemu-kvm 0.15.1 with SLES 11 SP2 so we will be actively
tracking all KVM-related issues. Therefore upgrade to Supported.
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 5211333bf77d5199d5f27cd306b2798d90a4c8fc
Merge: 9fe4806 21e0043
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 22 09:29:25 2013 -0500
Merge remote-tracking branch 'luiz/queue/qmp' into staging
# By Laszlo Ersek (8) and others
# Via Luiz Capitulino
* luiz/queue/qmp:
scripts/qapi.py: Avoid syntax not supported by Python 2.4
monitor: print the invalid char in error message
OptsVisitor: introduce unit tests, with test cases for range flattening
add "test-int128" and "test-bitops" to .gitignore
OptsVisitor: don't try to flatten overlong integer ranges
OptsVisitor: opts_type_uint64(): recognize intervals when LM_IN_PROGRESS
OptsVisitor: rebase opts_type_uint64() to parse_uint_full()
OptsVisitor: opts_type_int(): recognize intervals when LM_IN_PROGRESS
OptsVisitor: introduce list modes for interval flattening
OptsVisitor: introduce basic list modes
Convert stderr message calling error_get_pretty() to error_report()
Message-id: 1377015041-6567-1-git-send-email-lcapitulino@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 9fe480695ad8c9126ac8f318a0241e10aad7a25b
Merge: ecfe10c 7717f24
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Thu Aug 22 09:29:13 2013 -0500
Merge remote-tracking branch 'jliu/or32' into staging
# By Jia Liu
# Via Jia Liu
* jliu/or32:
hw/openrisc: Avoid undefined shift in openrisc_pic_cpu_handler()
hw/openrisc: Fix masking in openrisc_pic_cpu_handler()
hw/openrisc: Avoid using uninitialised variable 'entry'
Message-id: 1377050811-11116-1-git-send-email-proljc@xxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 043a7e1f8f66f3089ef0158aea00203e4591ba8d
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:42 2013 +0100
aio / timers: Consistent treatment of disabled clocks for deadlines
Make treatment of disabled clocks consistent in deadline calculation
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 02a03a9f12ec2fe68c9fed84fa8607a5326e2b65
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:41 2013 +0100
aio / timers: add qemu-timer.c utility functions
Add utility functions to qemu-timer.c for nanosecond timing.
Add qemu_clock_deadline_ns to calculate deadlines to
nanosecond accuracy.
Add utility function qemu_soonest_timeout to calculate soonest deadline.
Add qemu_timeout_ns_to_ms to convert a timeout in nanoseconds back to
milliseconds for when ppoll is not used.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 58ac56b9ad53b006396523639bb7d7043edc56bf
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:40 2013 +0100
aio / timers: Rename qemu_new_clock and expose clock types
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e93379b039030c68d85693a4bee2b76f814108d2
Author: Alex Bligh <alex@xxxxxxxxxxx>
Date: Wed Aug 21 16:02:39 2013 +0100
aio / timers: Rename qemu_timer_* functions
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired
Rename qemu_timer_expire_time_ns to timer_expire_time_ns
Rename qemu_timer_pending to timer_pending
Rename qemu_timer_expired_ns to timer_expired_ns
Signed-off-by: Alex Bligh <alex@xxxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 04d542c8b826a1196ca4f03f5a35d83035976bd1
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Mon Aug 19 18:54:28 2013 +0800
vmdk: support vmfs files
VMware ESX hosts also use different create and extent types for flat
files, respectively "vmfs" and "VMFS". This is not documented, but it
can be found at http://kb.vmware.com/kb/10002511 (Recreating a missing
virtual machine disk (VMDK) descriptor file).
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit daac8fdc68c5f0118ce24fcac5873ddaa0d0c9f9
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Aug 19 18:54:27 2013 +0800
vmdk: support vmfsSparse files
VMware ESX hosts use a variant of the VMDK3 format, identified by the
vmfsSparse create type ad the VMFSSPARSE extent type.
It has 16 KB grain tables (L2) and a variable-size grain directory (L1).
In addition, the grain size is always 512, but that is not a problem
because it is included in the header.
The format of the extents is documented in the VMDK spec. The format
of the descriptor file is not documented precisely, but it can be
found at http://kb.vmware.com/kb/10026353 (Recreating a missing virtual
machine disk (VMDK) descriptor file for delta disks).
With these patches, vmfsSparse files only work if opened through the
descriptor file. Data files without descriptor files, as far as I
could understand, are not supported by ESX.
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
--
v2: Rebase to patch 01.
Change le64_to_cpu to le32_to_cpu.
Rename vmdk_open_vmdk3 to vmdk_open_vmfs_sparse, which represents the
current usage of this format.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f6b61e54bdd5b9ef46837c15547e1819b3bb4f37
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Aug 19 18:54:26 2013 +0800
vmdk: fix L1 and L2 table size in vmdk3 open
VMDK3 header has the field l1dir_size, but vmdk_open_vmdk3 hardcoded the
value. This patch honors the header field.
And the L2 table size is 4096 according to VMDK spec[1], instead of
1 << 9 (512).
[1]:
http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit b0651b8c246d0d9e6ad0831b3e34fd756016ad7e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Mon Aug 19 18:54:25 2013 +0800
vmdk: Move l1_size check into vmdk_add_extent()
This header check is common to VMDK3 and VMDK4, so move it into
vmdk_add_extent().
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 7780d47211bde838c7f7e9330608e5397219066e
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Thu Aug 22 15:36:59 2013 +0800
block: better error message for read only format name
When user tries to use read-only whitelist format in the command line
option, failure message was "'foo' invalid format". It might be invalid
only for writable, but valid for read-only, so it is confusing. Give the
user easier to understand information.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 893a8f6220368a9ebff9a74bd48359928545cf6a
Author: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Date: Tue Aug 6 09:53:40 2013 +0800
block: Produce zeros when protocols reading beyond end of file
While Asias is debugging an issue creating qcow2 images on top of
non-file protocols. It boils down to this example using NBD:
$ qemu-io -c 'open -g nbd+unix:///?socket=/tmp/nbd.sock' -c 'read -v 0
512'
Notice the open -g option to set bs->growable. This means you can
read/write beyond end of file. Reading beyond end of file is supposed
to produce zeroes.
We rely on this behavior in qcow2_create2() during qcow2 image
creation. We create a new file and then write the qcow2 header
structure using bdrv_pwrite(). Since QCowHeader is not a multiple of
sector size, block.c first uses bdrv_read() on the empty file to fetch
the first sector (should be all zeroes).
Here is the output from the qemu-io NBD example above:
$ qemu-io -c 'open -g nbd+unix:///?socket=/tmp/nbd.sock' -c 'read -v 0
512'
00000000: ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
................
00000010: ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
................
00000020: ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
................
...
We are not zeroing the buffer! As a result qcow2 image creation on top
of protocols is not guaranteed to work even when file creation is
supported by the protocol.
[Adapted this patch to use bs->zero_beyond_eof.
-- Stefan]
Signed-off-by: MORITA Kazutaka <morita.kazutaka@xxxxxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 0d51b4debee6fb322751a57097a1d675c7a7c38d
Author: Asias He <asias@xxxxxxxxxx>
Date: Thu Aug 22 15:24:14 2013 +0800
block: Introduce bs->zero_beyond_eof
In 4146b46c42e0989cb5842e04d88ab6ccb1713a48 (block: Produce zeros when
protocols reading beyond end of file), we break qemu-iotests ./check
-qcow2 022. This happens because qcow2 temporarily sets ->growable = 1
for vmstate accesses (which are stored beyond the end of regular image
data).
We introduce the bs->zero_beyond_eof to allow qcow2_load_vmstate() to
disable ->zero_beyond_eof temporarily in addition to enable ->growable.
[Since the broken patch "block: Produce zeros when protocols reading
beyond end of file" has not been merged yet, I have applied this fix
*first* and will then apply the next patch to keep the tree bisectable.
-- Stefan]
Suggested-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Signed-off-by: Asias He <asias@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1e0995561959645e218bb5e4afb6ad3d47b33396
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:45 2013 -0300
pc_piix: Kill pc_init1() memory region args
All callers always use the same values (get_system_memory(),
get_system_io()), so the parameters are pointless.
If one day we decide to eliminate get_system_memory() and
get_system_io(), we will be able to do that more easily by adding the
values to struct QEMUMachineInitArgs.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 396f79f45ea75bd1c421522f29b4f91d490df7cc
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:44 2013 -0300
pc: pc_compat_1_4() now can call pc_compat_1_5()
It just needs to set has_pvpanic=false after calling it. This way, it
won't be a special case anymore.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 89b439f3136644b07c2e25bb4ceeb9466ae23fe5
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:43 2013 -0300
pc: Create pc_compat_*() functions
Making the older compat functions call the newer compat functions at the
beginning allows the older functions undo what's done by newer compat
functions. e.g.: pc_compat_1_4() will be able to call pc_compat_1_5()
and then set has_pvpanic=false.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 43a52ce65736adf9def7c2a9e5ba409814eb5dae
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Aug 21 15:14:42 2013 -0300
pc: Kill pc_init_pci_1_0()
The pc_init_pci_1_2()/pc_init_pci_1_0() split was made on commit
6fd028f64f662c801fd5a54d0e3a1d2baeee93ea, in preparation for commit
9953f8822cc316eec9962f0a2858c3439a80adec. The latter was reverted, so
there's
no reason to keep two separate functions that do exactly the same,
anymore.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Cc: Markus Armbruster <armbru@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 3b6fb9cab2e64804cdab5a61d1298ffd8b8dff85
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Aug 21 15:14:41 2013 -0300
pc: Don't explode QEMUMachineInitArgs into local variables needlessly
Don't explode when the variable is used just a few times, and never
changed.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 5650f5f48bfe2a684138505aae008dc4440202f1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Wed Aug 21 15:14:40 2013 -0300
pc: Don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before passing it to pc_init1().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 92238367450d26eced103736ae555997ea3162c2
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:49 2013 +0200
ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params
Pass on the generic arguments unadulterated, and the machine-specific
ones as separate argument.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit ee87e32f830b4e22c02038de963bb9f72b55896f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:48 2013 +0200
ppc: Don't explode QEMUMachineInitArgs into local variables needlessly
Don't explode when the variable is used just once, and never changed.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Acked-by: Alexander Graf <agraf@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 6b63ef4d0f225810b74281e6689a4d5695860c08
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Aug 16 13:13:47 2013 +0200
sun4: Don't prematurely explode QEMUMachineInitArgs
Don't explode QEMUMachineInitArgs before passing it to
sun4m_hw_init(), sun4uv_init().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 8ad1898cf1f5314731123afce057e5cf74fd2f01
Author: Kevin Wolf <kwolf@xxxxxxxxxx>
Date: Mon Aug 19 10:38:01 2013 +0200
qcow2: Change default for new images to compat=1.1
By the time that qemu 1.7 will be released, enough time will have passed
since qemu 1.1, which is the first version to understand version 3
images, that changing the default shouldn't hurt many people any more
and the benefits of using the new format outweigh the pain.
qemu-iotests already runs with compat=1.1 by default.
Signed-off-by: Kevin Wolf <kwolf@xxxxxxxxxx>
Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 4b38e989b43e84c485f676f2039f21b15da439fe
Author: Alex Williamson <alex.williamson@xxxxxxxxxx>
Date: Tue Aug 20 12:21:57 2013 -0600
q35: Add PCIe switch to example q35 configuration
Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
commit 7717f248eebdcfe6de400404d0cf65dcb3633308
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Wed Aug 21 09:31:36 2013 +0800
hw/openrisc: Avoid undefined shift in openrisc_pic_cpu_handler()
In C99 signed shift (1 << 31) is undefined behavior, since the result
exceeds INT_MAX. Use 1U instead and move the shift after the check.
Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx>
Acked-by: Jia Liu <proljc@xxxxxxxxx>
commit ed396e2b2d256c1628de7c11841b509455a76c03
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Wed Aug 21 09:23:10 2013 +0800
hw/openrisc: Fix masking in openrisc_pic_cpu_handler()
Consider the masking of PICSR and PICMR:
((cpu->env.picsr && (1 << i)) && (cpu->env.picmr && (1 << i)))
To correctly mask bits, we should use the bitwise AND "&" rather than
the logical AND "&&". Also, the loop is not necessary for masking.
Simply use (cpu->env.picsr & cpu->env.picmr).
Signed-off-by: Xi Wang <xi.wang@xxxxxxxxx>
Acked-by: Jia Liu <proljc@xxxxxxxxx>
commit b6d9766ddf5453e79e0c66c9348728ba44ba115f
Author: Jia Liu <proljc@xxxxxxxxx>
Date: Wed Aug 21 08:54:29 2013 +0800
hw/openrisc: Avoid using uninitialised variable 'entry'
clang warns that cpu_openrisc_load_kernel() can use 'entry' uninitialized:
hw/openrisc/openrisc_sim.c:69:9: error: variable 'entry' is used
uninitialized
whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
if (kernel_filename && !qtest_enabled()) {
^~~~~~~~~~~~~~~
hw/openrisc/openrisc_sim.c:91:19: note: uninitialized use occurs here
cpu->env.pc = entry;
^~~~~
Fix this by not attempting to change the CPU's starting PC unless
we actually loaded a kernel.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Jia Liu <proljc@xxxxxxxxx>
commit 04920fc0faa4760f9c4fc0e73b992b768099be70
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Aug 19 17:26:55 2013 +0300
loader: store FW CFG ROM files in RAM
ROM files that are put in FW CFG are copied to guest ram, by BIOS, but
they are not backed by RAM so they don't get migrated.
Each time we change two bytes in such a ROM this breaks cross-version
migration: since we can migrate after BIOS has read the first byte but
before it has read the second one, getting an inconsistent state.
Future-proof this by creating, for each such ROM,
an MR serving as the backing store.
This MR is never mapped into guest memory, but it's registered
as RAM so it's migrated with the guest.
Naturally, this only helps for -M 1.7 and up, older machine types
will still have the cross-version migration bug.
Luckily the race window for the problem to trigger is very small,
which is also likely why we didn't notice the cross-version
migration bug in testing yet.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit 0851c9f75ccb0baf28f5bf901b9ffe3c91fcf969
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Mon Aug 19 17:26:52 2013 +0300
arch_init: align MR size to target page size
Migration code assumes that each MR is a multiple of TARGET_PAGE_SIZE:
MR size is divided by TARGET_PAGE_SIZE, so if it isn't migration
never completes.
But this isn't really required for regions set up with
memory_region_init_ram, since that calls qemu_ram_alloc
which aligns size up using TARGET_PAGE_ALIGN.
Align MR size up to full target page sizes, this way
migration completes even if we create a RAM MR
which is not a full target page size.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
commit c0b4cc1f9f4df9d7459dc778e64f00a4e781fd88
Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
Date: Sun Aug 18 16:50:02 2013 +0300
pc: cleanup 1.4 compat support
Make 1.4 compat code call the 1.6 one, reducing
code duplication. Add comment explaining why we can't
make 1.4 call 1.5 as usual.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
Reviewed-by: Andreas Färber <afaerber@xxxxxxx>
Reviewed-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
commit 7477cd3897082d2650d520a4e9aa7f8affa3dd5d
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Mon Aug 19 14:13:42 2013 -0300
kvm: i386: fix LAPIC TSC deadline timer save/restore
The configuration of the timer represented by MSR_IA32_TSCDEADLINE
depends on:
- APIC LVT Timer register.
- TSC value.
Change the order to respect the dependency.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 7dc52526850849e8e0fe56ced809d0798481a2f6
Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
Date: Mon Aug 12 16:56:31 2013 -0300
kvm-all.c: max_cpus should not exceed KVM vcpu limit
maxcpus, which specifies the maximum number of hotpluggable CPUs,
should not exceed KVM's vcpu limit.
Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx>
[Reword message. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 354678c5ce162649906e4e1be2859f3df372668f
Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Date: Tue Aug 13 14:43:57 2013 +0200
kvm: Simplify kvm_handle_io
Now that cpu_in/out is just a wrapper around address_space_rw, we can
also call the latter directly. As host endianness == guest endianness,
there is no need for the memory access helpers st*_p/ld*_p as well.
Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit df67696e97d3edd0cb1683bf2eb3b3236bd9a5ed
Author: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Date: Mon Aug 19 09:33:30 2013 +0800
kvm: x86: fix setting IA32_FEATURE_CONTROL with nested VMX disabled
This patch is to fix the bug
https://bugs.launchpad.net/qemu-kvm/+bug/1207623
IA32_FEATURE_CONTROL is pointless if not expose VMX or SMX bits to
cpuid.1.ecx of vcpu. Current qemu-kvm will error return when kvm_put_msrs
or kvm_get_msrs.
Signed-off-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit ecfe10c9a6f9bc77d0e4b7eb5d0f5d61e8fbaed8
Merge: 9176e8f 2300581
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 11:23:52 2013 -0500
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130820'
into staging
target-arm queue
# gpg: Signature made Tue 20 Aug 2013 08:56:28 AM CDT using RSA key ID
14360CDE
# gpg: Can't check signature: public key not found
# By Peter Maydell (20) and Peter Chubb (1)
# Via Peter Maydell
* pmaydell/tags/pull-target-arm-20130820: (21 commits)
hw/timer/imx_epit: Simplify and fix imx_epit implementation
default-configs: Fix A9MP and A15MP config names
hw/cpu/a15mpcore: Wire generic timer outputs to GIC inputs
target-arm: Implement the generic timer
target-arm: Support coprocessor registers which do I/O
target-arm: Allow raw_read() and raw_write() to handle 64 bit regs
hw/arm/pic_cpu: Remove the now-unneeded arm_pic_init_cpu()
hw/arm/xilinx_zynq: Don't use arm_pic_init_cpu()
hw/arm/vexpress: Don't use arm_pic_init_cpu()
hw/arm/versatilepb: Don't use arm_pic_init_cpu()
hw/arm/strongarm: Don't use arm_pic_init_cpu()
hw/arm/realview: Don't use arm_pic_init_cpu()
hw/arm/omap*: Don't use arm_pic_init_cpu()
hw/arm/musicpal: Don't use arm_pic_init_cpu()
hw/arm/kzm: Don't use arm_pic_init_cpu()
hw/arm/integratorcp: Don't use arm_pic_init_cpu()
hw/arm/highbank: Don't use arm_pic_init_cpu()
hw/arm/exynos4210: Don't use arm_pic_init_cpu()
hw/arm/armv7m: Don't use arm_pic_init_cpu()
target-arm: Make IRQ and FIQ gpio lines on the CPU object
...
Message-id: 1377007680-4934-1-git-send-email-peter.maydell@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 21e0043bada1a24ae2ba6cd0051e104c0cbf9634
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>
commit 277acfe8b38de35be8cb6e274678b5a7919c2d44
Author: Fam Zheng <famz@xxxxxxxxxx>
Date: Tue Aug 20 10:58:21 2013 +0800
monitor: print the invalid char in error message
It's more friendly to print which char is invalid to user, especially
when user tries to input a float value and expect the monitor to round
it to int. Since we don't round float number when we look for a integer,
telling which char is invalid is less confusing.
Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 3953e3a5d34fa7caffc3e32eae4270b2d810d966
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:40 2013 +0200
OptsVisitor: introduce unit tests, with test cases for range flattening
According to commit 4f193e34
("tests: Use qapi-schema-test.json as schema parser test")
the "tests/qapi-schema/qapi-schema-test.out" file must be updated as well.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 99351c8472f76552c059a5dd382860229d647c4f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:39 2013 +0200
add "test-int128" and "test-bitops" to .gitignore
"test-int128" was probably missed in commit 6046c620
("int128: optimize and add test cases").
"test-bitops" was probably missed in commit 3464700f
("tests: Add test-bitops.c with some sextract tests").
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 15a849be100b54776bcf63193c3fea598666030f
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:38 2013 +0200
OptsVisitor: don't try to flatten overlong integer ranges
Prevent mistyped command line options from incurring high memory and CPU
usage at startup. 64K elements in a range should be enough for everyone
(TM).
The OPTS_VISITOR_RANGE_MAX macro is public so that unit tests can
construct corner cases with it.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 581a8a800070500527f6c75e5d6b75134c2b5a9d
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:37 2013 +0200
OptsVisitor: opts_type_uint64(): recognize intervals when LM_IN_PROGRESS
When a well-formed range value, bounded by unsigned integers, is
encountered while processing a repeated option, enter LM_UNSIGNED_INTERVAL
and return the low bound.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 62d090e23fc17e4e60725ead0dff8902f8e66b52
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:36 2013 +0200
OptsVisitor: rebase opts_type_uint64() to parse_uint_full()
Simplify the code in preparation for the next patch.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 1e1c555a49175e2298eaa156e008a92d207bf812
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:35 2013 +0200
OptsVisitor: opts_type_int(): recognize intervals when LM_IN_PROGRESS
When a well-formed range value, bounded by signed integers, is encountered
while processing a repeated option, enter LM_SIGNED_INTERVAL and return
the low bound.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d8754f40acb2d30e4735cdcd21a16e7ac29264a3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:34 2013 +0200
OptsVisitor: introduce list modes for interval flattening
The new modes are equal-rank, exclusive alternatives of LM_IN_PROGRESS.
Teach opts_next_list(), opts_type_int() and opts_type_uint64() to handle
them.
Also enumerate explicitly what functions are valid to call in what modes:
- opts_next_list() is valid to call while flattening a range,
- opts_end_list(): ditto,
- lookup_scalar() is invalid to call during flattening; generated qapi
traversal code must continue asking for the same kind of signed/unsigned
list element until the interval is fully flattened,
- processed(): ditto.
List mode restrictions are always formulated in positive / inclusive
sense. The restrictions for lookup_scalar() and processed() are
automatically satisfied by current qapi traversals if the schema to build
is compatible with OptsVisitor.
The new list modes are not entered yet.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit d95704341280fc521dc2b16bbbc5858f6647e2c3
Author: Laszlo Ersek <lersek@xxxxxxxxxx>
Date: Tue Aug 20 00:35:33 2013 +0200
OptsVisitor: introduce basic list modes
We're going to need more state while processing a list of repeated
options. This change eliminates "repeated_opts_first" and adds a new state
variable:
list_mode repeated_opts repeated_opts_first
-------------- ------------- -------------------
LM_NONE NULL false
LM_STARTED non-NULL true
LM_IN_PROGRESS non-NULL false
Additionally, it is documented that lookup_scalar() and processed(), both
called by opts_type_XXX(), are invalid in LM_STARTED -- generated qapi
code calls opts_next_list() to allocate the very first link before trying
to parse a scalar into it. List mode restrictions are expressed in
positive / inclusive form.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Tested-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4a44d85e28bd282f53ccf0fa933dd71b8744a229
Author: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Date: Mon Aug 5 15:40:44 2013 -0400
Convert stderr message calling error_get_pretty() to error_report()
Convert stderr messages calling error_get_pretty()
to error_report().
Timestamp is prepended by -msg timstamp option with it.
Per Markus's comment below, A conversion from fprintf() to
error_report() is always an improvement, regardless of
error_get_pretty().
http://marc.info/?l=qemu-devel&m=137513283408601&w=2
But, it is not reasonable to convert them at one time
because fprintf() is used everwhere in qemu.
So, it should be done step by step with avoiding regression.
Signed-off-by: Seiji Aguchi <seiji.aguchi@xxxxxxx>
Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx>
Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 9176e8fb8f78206bd4039f001aca0d931a47d663
Merge: 72420ce f2e5dca
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 09:52:18 2013 -0500
Merge remote-tracking branch 'stefanha/block-next' into staging
# By Stefan Hajnoczi
# Via Stefan Hajnoczi
* stefanha/block-next:
aio: drop io_flush argument
tests: drop event_active_cb()
thread-pool: drop thread_pool_active()
dataplane/virtio-blk: drop flush_true() and flush_io()
block/ssh: drop return_true()
block/sheepdog: drop have_co_req() and aio_flush_request()
block/rbd: drop qemu_rbd_aio_flush_cb()
block/nbd: drop nbd_have_request()
block/linux-aio: drop qemu_laio_completion_cb()
block/iscsi: drop iscsi_process_flush()
block/gluster: drop qemu_gluster_aio_flush_cb()
block/curl: drop curl_aio_flush()
aio: stop using .io_flush()
tests: adjust test-thread-pool to new aio_poll() semantics
tests: adjust test-aio to new aio_poll() semantics
dataplane/virtio-blk: check exit conditions before aio_poll()
block: stop relying on io_flush() in bdrv_drain_all()
block: ensure bdrv_drain_all() works during bdrv_delete()
Message-id: 1376921877-9576-1-git-send-email-stefanha@xxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 72420ce9f0bafef7d55563a8bd14237a5fe88a87
Merge: 237e4f9 b83c4db
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 09:52:07 2013 -0500
Merge remote-tracking branch 'rth/axp-next' into staging
# By Richard Henderson
# Via Richard Henderson
* rth/axp-next:
target-alpha: Implement the typhoon iommu
target-alpha: Consider the superpage when threading and ending TBs
target-alpha: Use goto_tb in call_pal
target-alpha: Implement call_pal without an exception
Message-id: 1376720412-2165-1-git-send-email-rth@xxxxxxxxxxx
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 237e4f92a81696e5359766a7f19a77a9ff1d02e5
Merge: bc02fb3 321bc0b
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Tue Aug 20 09:51:53 2013 -0500
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into
staging
QOM CPUState refactorings / X86CPU
* gdbstub coprocessor register count bugfix
* QOM instance_post_init infrastructure to override dynamic properties
* X86CPU HyperV preparations for CPU subclasses
# gpg: Signature made Fri 16 Aug 2013 11:49:02 AM CDT using RSA key ID
3E7E013F
# gpg: Can't check signature: public key not found
# By Eduardo Habkost (3) and others
# Via Andreas Färber
* afaerber/tags/qom-cpu-for-anthony:
cpus: Use cpu_is_stopped() efficiently
target-i386: Move hyperv_* static globals to X86CPU
qdev: Set globals in instance_post_init function
qom: Introduce instance_post_init hook
tests: Unit tests for qdev global properties handling
gdbstub: Fix gdb_register_coprocessor() register counting
commit 230058106ab26de9b876158dbe27d60719f01f51
Author: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Date: Tue Aug 20 14:54:32 2013 +0100
hw/timer/imx_epit: Simplify and fix imx_epit implementation
When imx_epit.c was last refactored, a common usecase (comparison
register zero) broke. This patch fixes that, and simplifies the code
yet more. It also fixes a major thinko in the reset path --- the
wrong bits in the control register were being cleared.
Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
Reviewed-by: Jean-Christophe DUBOIS <jcd@xxxxxxxxxxxxxxx>
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 66aae5e1ecc38e8658c5cc69a0b3ceeb4967619c
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:32 2013 +0100
default-configs: Fix A9MP and A15MP config names
When individual CONFIG_ switches for the A9MPcore and A15MPcore
devices were created, they were inadvertently given incorrect names
(CONFIG_ARM9MPCORE and CONFIG_ARM15MPCORE). These CPUs are
"Cortex-A9MP" and "Cortex-A15MP", and in particular the ARM9 is
a different (rather older) CPU than the Cortex-A9. Rename the
CONFIG_ switches to bring them into line with the source file
names and CPU names.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1376056215-26391-1-git-send-email-peter.maydell@xxxxxxxxxx
commit 6033e840c7b1db1055d02199fa3a28a4fd7b2386
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:32 2013 +0100
hw/cpu/a15mpcore: Wire generic timer outputs to GIC inputs
Now our A15 CPU implements the generic timers, we can wire them
up to the appropriate inputs on the GIC.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Message-id: 1376065080-26661-5-git-send-email-peter.maydell@xxxxxxxxxx
commit 55d284af8e31bbdf4d545cb2d6481cd0367680fb
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
target-arm: Implement the generic timer
The ARMv7 architecture specifies a 'generic timer' which is implemented
via cp15 registers. Newer kernels will prefer to use this rather than
a devboard-level timer. Implement the generic timer for TCG; for KVM
we will already use the hardware's virtualized timer for this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Message-id: 1376065080-26661-4-git-send-email-peter.maydell@xxxxxxxxxx
commit 2452731c883cb0acd4e47b23039c46cd880cf2c6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
target-arm: Support coprocessor registers which do I/O
Add an ARM_CP_IO flag which an ARMCPRegInfo definition can use to
indicate that the register's implementation does I/O and thus
its accesses need to be surrounded by gen_io_start()/gen_io_end()
in order for icount to work. Most notably, cp registers which
implement clocks or timers need this.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1376065080-26661-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 22d9e1a986a671ebfacb21555b7533336f3e8259
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
target-arm: Allow raw_read() and raw_write() to handle 64 bit regs
Extend the raw_read() and raw_write() helper accessors so that
they can be used for 64 bit registers as well as 32 bit registers.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Tested-by: Laurent Desnogues <laurent.desnogues@xxxxxxxxx>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xxxxxxxxx>
Message-id: 1376065080-26661-2-git-send-email-peter.maydell@xxxxxxxxxx
commit b643e4b90bb0b70adde97a09349d8ca7067309d9
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:31 2013 +0100
hw/arm/pic_cpu: Remove the now-unneeded arm_pic_init_cpu()
Now all the boards have been converted arm_pic_init_cpu()
is unused and can just be deleted.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-15-git-send-email-peter.maydell@xxxxxxxxxx
commit e4a6540dedc6ec109a9ece3f8d83a143b7bde4e6
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/xilinx_zynq: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-14-git-send-email-peter.maydell@xxxxxxxxxx
commit fe9120a5d1117523282b44e8aa0027ab2b8a4408
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/vexpress: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-13-git-send-email-peter.maydell@xxxxxxxxxx
commit bace999f8a03c226eecad3c170def644f0551c50
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/versatilepb: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-12-git-send-email-peter.maydell@xxxxxxxxxx
commit 4f071cf9b53a236469500f08033335cc726db9b0
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/strongarm: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-11-git-send-email-peter.maydell@xxxxxxxxxx
commit 033ee5a5ac5dd01bcea76a6427d95f5390af43ca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:30 2013 +0100
hw/arm/realview: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-10-git-send-email-peter.maydell@xxxxxxxxxx
commit 437f0f10a42dc2a0236a79e0bba39a32af4d73f8
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/omap*: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-9-git-send-email-peter.maydell@xxxxxxxxxx
commit fcef61ec6bfaf96eeee0fb3024dd7ec8437ffa65
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/musicpal: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-8-git-send-email-peter.maydell@xxxxxxxxxx
commit 2f69ba1736e9460aa04c46790c1d34edfbee563a
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/kzm: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-7-git-send-email-peter.maydell@xxxxxxxxxx
commit 99d228d6e9b08488d62029c438f8381b8c72d109
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/integratorcp: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-6-git-send-email-peter.maydell@xxxxxxxxxx
commit 9188dbf71accf9d97f2e434380ea210ba75705ca
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:29 2013 +0100
hw/arm/highbank: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-5-git-send-email-peter.maydell@xxxxxxxxxx
commit ad666d91f43574fb200c738bc793023ae23d24a5
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
hw/arm/exynos4210: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-4-git-send-email-peter.maydell@xxxxxxxxxx
commit de3a658f5b1d4ea290cb4369c55e83fdead81933
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
hw/arm/armv7m: Don't use arm_pic_init_cpu()
Drop the now-deprecated arm_pic_init_cpu() in favour of directly
getting the IRQ line from the ARMCPU object.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-3-git-send-email-peter.maydell@xxxxxxxxxx
commit 7c1840b686e34ed138414ff0fe395a63f031387e
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
target-arm: Make IRQ and FIQ gpio lines on the CPU object
Now that ARMCPU is a subclass of DeviceState, we can make the
CPU's inbound IRQ and FIQ lines be simply gpio lines, which
means we can remove the odd arm_pic shim.
We retain the arm_pic_init_cpu() function as a backwards
compatibility shim layer so we can convert the board models
to get the IRQ and FIQ lines directly from the ARMCPU
object one at a time.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Message-id: 1375977856-25046-2-git-send-email-peter.maydell@xxxxxxxxxx
commit 3f1beaca88bffa4828cc86beb89ff70474516d91
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Aug 20 14:54:28 2013 +0100
target-arm: Implement 'int' loglevel
The 'int' loglevel for recording interrupts and exceptions
requires support in the target-specific code. Implement
it for ARM. This improves debug logging in some situations
that were otherwise pretty opaque, such as when we fault
trying to execute at an exception vector address, which
would otherwise cause an infinite loop of taking exceptions
without any indication in the debug log of what was going on.
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
Message-id: 1375700771-21665-1-git-send-email-peter.maydell@xxxxxxxxxx
commit f2e5dca46b5ba4588c0756c5f272123585cbbf23
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:26:25 2013 +0200
aio: drop io_flush argument
The .io_flush() handler no longer exists and has no users. Drop the
io_flush argument to aio_set_fd_handler() and related functions.
The AioFlushEventNotifierHandler and AioFlushHandler typedefs are no
longer used and are dropped too.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 1b9ecdb16475485dffbcac7ff7f36dafa9e3cfd2
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 16:46:15 2013 +0200
tests: drop event_active_cb()
Drop the io_flush argument to aio_set_event_notifier().
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bb52b14be163cc91409017639b8df32c99c1563a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:22:08 2013 +0200
thread-pool: drop thread_pool_active()
.io_flush() is no longer called so drop thread_pool_active(). The block
layer is the only thread-pool.c user and it already tracks in-flight
requests, therefore we do not need thread_pool_active().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit ce689368bb453b0b21e73c77182a9d9bef8c0b84
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:20:03 2013 +0200
dataplane/virtio-blk: drop flush_true() and flush_io()
.io_flush() is no longer called so drop flush_true() and flush_io().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit f0d35765998bb527013b7f06521fa4b3de352f58
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 13:12:28 2013 +0200
block/ssh: drop return_true()
.io_flush() is no longer called so drop return_true().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit d6d94c678503fd1eceb51b9652b4e0dfd9543475
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:18:18 2013 +0200
block/sheepdog: drop have_co_req() and aio_flush_request()
.io_flush() is no longer called so drop have_co_req() and
aio_flush_request().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 5d289cc7243be53d409ee3b79dd4fd363806f8b6
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:16:29 2013 +0200
block/rbd: drop qemu_rbd_aio_flush_cb()
.io_flush() is no longer called so drop qemu_rbd_aio_flush_cb().
qemu_aio_count is unused now so drop it too.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bed2e759eb642931e0ebb95ea99580c27f57560e
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:15:03 2013 +0200
block/nbd: drop nbd_have_request()
.io_flush() is no longer called so drop nbd_have_request(). We cannot
drop in_flight since it is still used by other block/nbd.c code.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 94473d0c0624822f6325918eb5bfe2d8a001206a
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:12:33 2013 +0200
block/linux-aio: drop qemu_laio_completion_cb()
.io_flush() is no longer called so drop qemu_laio_completion_cb(). It
turns out that count is now unused so drop that too.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 70ecdc6e4e7f91e7d88540f19fb0f56f9e6f54a0
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:09:59 2013 +0200
block/iscsi: drop iscsi_process_flush()
.io_flush() is no longer called so drop iscsi_process_flush().
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 372835fbc3f288671cfc926c9e438a4659c9125f
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:07:43 2013 +0200
block/gluster: drop qemu_gluster_aio_flush_cb()
Since .io_flush() is no longer called we do not need
qemu_gluster_aio_flush_cb() anymore. It turns out that qemu_aio_count
is unused now and can be dropped.
Thanks to Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> for catching a
build failure with CONFIG_GLUSTERFS_DISCARD, which has been fixed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bc02fb304c6cc0f1dd0809545d226df2d6f5c093
Author: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Date: Mon Aug 19 08:49:37 2013 -0500
Change email address
My IBM email address will be unaccessible after August 23rd, 2013.
Signed-off-by: Anthony Liguori <anthony@xxxxxxxxxxxxx>
commit 0d1460226fb05c92fa3ad869ca39090ff13cf6bc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:04:23 2013 +0200
block/curl: drop curl_aio_flush()
.io_flush() is no longer called so drop curl_aio_flush(). The acb[]
array that the function checks is still used in other parts of
block/curl.c. Therefore we cannot remove acb[], it is needed.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 164a101f28a53cd3db60ed874e7c3630e7988ed8
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 16:56:50 2013 +0200
aio: stop using .io_flush()
Now that aio_poll() users check their termination condition themselves,
it is no longer necessary to call .io_flush() handlers.
The behavior of aio_poll() changes as follows:
1. .io_flush() is no longer invoked and file descriptors are *always*
monitored. Previously returning 0 from .io_flush() would skip this file
descriptor.
Due to this change it is essential to check that requests are pending
before calling qemu_aio_wait(). Failure to do so means we block, for
example, waiting for an idle iSCSI socket to become readable when there
are no requests. Currently all qemu_aio_wait()/aio_poll() callers check
before calling.
2. aio_poll() now returns true if progress was made (BH or fd handlers
executed) and false otherwise. Previously it would return true whenever
'busy', which means that .io_flush() returned true. The 'busy' concept
no longer exists so just progress is returned.
Due to this change we need to update tests/test-aio.c which asserts
aio_poll() return values. Note that QEMU doesn't actually rely on these
return values so only tests/test-aio.c cares.
Note that ctx->notifier, the EventNotifier fd used for aio_notify(), is
now handled as a special case. This is a little ugly but maintains
aio_poll() semantics, i.e. aio_notify() does not count as 'progress' and
aio_poll() avoids blocking when the user has not set any fd handlers yet.
Patches after this remove .io_flush() handler code until we can finally
drop the io_flush arguments to aio_set_fd_handler() and friends.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 35ecde26018207fe723bec6efbd340db6e9c2d53
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Tue Apr 16 17:49:42 2013 +0200
tests: adjust test-thread-pool to new aio_poll() semantics
aio_poll(ctx, true) will soon block when fd handlers have been set.
Previously aio_poll() would return early if all .io_flush() returned
false. This means we need to check the equivalent of the .io_flush()
condition *before* calling aio_poll(ctx, true) to avoid deadlock.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 24d1a6d9d5f5b3da868724dd3c6f56893e0693da
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Wed Apr 17 11:01:02 2013 +0200
tests: adjust test-aio to new aio_poll() semantics
aio_poll(ctx, true) will soon block if any fd handlers have been set.
Previously it would only block when .io_flush() returned true.
This means that callers must check their wait condition *before*
aio_poll() to avoid deadlock.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit bf0da4df83e8af7ec02e3809f3dd30cc0a42e4bc
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 17:24:08 2013 +0200
dataplane/virtio-blk: check exit conditions before aio_poll()
Check exit conditions before entering blocking aio_poll(). This is
mainly for consistency since it's unlikely that we are stopping in the
first event loop iteration.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit 88266f5aa70fa71fd5cc20aa4dbeb7a7bd8d2e92
Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Date: Thu Apr 11 15:41:13 2013 +0200
block: stop relying on io_flush() in bdrv_drain_all()
If a block driver has no file descriptors to monitor but there are still
active requests, it can return 1 from .io_flush(). This is used to spin
during synchronous I/O.
Stop relying on .io_flush() and instead check
QLIST_EMPTY(&bs->tracked_requests) to decide whether there are active
requests.
This is the first step in removing .io_flush() so that event loops no
longer need to have the concept of synchronous I/O. Eventually we may
be able to kill synchronous I/O completely by running everything in a
coroutine, but that is future work.
Note this patch moves bs->throttled_reqs initialization to bdrv_new() so
that bdrv_requests_pending(bs) can safely access it. In practice bs is
g_malloc0() so the memory is already zeroed but it's safer to initialize
the queue properly.
We also need to fix up block/stream.c:close_unused_images() to prevent
traversing a dangling pointer while it rearranges the backing file
chain. This is necessary since the new bdrv_drain_all() traverses the
backing file chain.
Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
commit e1b5c52e04d04bb93546c6e37e8884889d047cb1
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>
commit b83c4db89561e78ca5a1808329cbf937c6d75cc3
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Sun Aug 4 15:27:13 2013 -1000
target-alpha: Implement the typhoon iommu
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit b114b68adf12a5333bb95b252aed6309cf0c0e5f
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 14:05:08 2013 -1000
target-alpha: Consider the superpage when threading and ending TBs
This allows significantly more threading, and occasionally larger TBs,
when processing code for the kernel and PALcode.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit a9ead832617195a9b0727557c94dda776f8e8074
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 12:00:32 2013 -1000
target-alpha: Use goto_tb in call_pal
With appropriate flushing when the PALBR changes, the target of
a CALL_PAL is so predictable we can chain to it.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit ba96394e20ad033a10eb790fdf2377e2a8892feb
Author: Richard Henderson <rth@xxxxxxxxxxx>
Date: Fri Jul 26 11:22:21 2013 -1000
target-alpha: Implement call_pal without an exception
The destination of the call_pal, and the cpu state, is very predictable;
there's no need for exiting the cpu loop.
Signed-off-by: Richard Henderson <rth@xxxxxxxxxxx>
commit 321bc0b2b27aa2dd64bf12e0e2a0f323a4903ecf
Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Date: Fri Aug 2 09:43:09 2013 +0800
cpus: Use cpu_is_stopped() efficiently
It makes more sense and will make things simpler later.
Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 92067bf4bfa144ea3967a9951808f5e587bdab18
Author: Igor Mammedov <imammedo@xxxxxxxxxx>
Date: Wed Jun 5 15:18:40 2013 +0200
target-i386: Move hyperv_* static globals to X86CPU
- since hyperv_* helper functions are used only in target-i386/kvm.c
move them there as static helpers
Requested-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 99a0b03650176340ab6667fa1e5711a4552d4494
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jul 10 17:08:42 2013 -0300
qdev: Set globals in instance_post_init function
This way, properties registered in the instance_init function of
child classes will be handled properly by qdev_prop_set_globals(), too.
Includes a unit test for the new functionality.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 8231c2dd220336bbc7522c490d95742f6ba0adae
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jul 10 17:08:41 2013 -0300
qom: Introduce instance_post_init hook
This will allow classes to specify a function to be called after all
instance_init functions were called.
This will be used by DeviceState to call qdev_prop_set_globals() at the
right moment.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 747b0cb4b51296e85add0a23d5fc1d24e250ec08
Author: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Date: Wed Jul 10 17:08:40 2013 -0300
tests: Unit tests for qdev global properties handling
This tests the qdev global-properties handling code.
Signed-off-by: Eduardo Habkost <ehabkost@xxxxxxxxxx>
Signed-off-by: Andreas Färber <afaerber@xxxxxxx>
commit 35143f0164e6933a85c7c2b8a89a040d881a9151
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>
commit f202039811d8746b0586d2fd5f61de6c8cf68056
Author: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Thu Aug 15 15:41:13 2013 -0500
Open up 1.7 development branch
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
commit ca916d3729564d0eb3c2374a96903f7e8aced8a7
Author: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Date: Mon Jul 22 11:51:33 2013 +0200
kvm: add KVM_IRQFD_FLAG_RESAMPLE support
Added an EventNotifier* parameter to
kvm-all.c:kvm_irqchip_add_irqfd_notifier(), in order to give KVM
another eventfd to be used as "resamplefd". See the documentation
in the linux kernel sources in Documentation/virtual/kvm/api.txt
(section 4.75) for more details.
When the added parameter is passed NULL, the behaviour of the
function is unchanged with respect to the previous versions.
Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Vincenzo Maffione <v.maffione@xxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0d89436786b02a9e7d561c4d7dc4982e4a2739db
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jul 25 17:05:22 2013 +0200
kvm: migrate vPMU state
Reviewed-by: Gleb Natapov <gnatapov@xxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit e4a09c9637f13a744ad7e2bc5223df05ac582c0d
Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Date: Thu Jul 25 17:05:21 2013 +0200
target-i386: remove tabs from target-i386/cpu.h
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
commit 0779caeb1a17f4d3ed14e2925b36ba09b084fb7b
Author: Arthur Chunqi Li <yzt356@xxxxxxxxx>
Date: Sun Jul 7 23:13:37 2013 +0800
Initialize IA32_FEATURE_CONTROL MSR in reset and migration
The recent KVM patch adds IA32_FEATURE_CONTROL support. QEMU needs
to clear this MSR when reset vCPU and keep the value of it when
migration. This patch add this feature.
Signed-off-by: Arthur Chunqi Li <yzt356@xxxxxxxxx>
Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx>
Revision graph left in
/home/xc_osstest/results/bisect.linux-3.10.test-amd64-i386-freebsd10-amd64.guest-saverestore.{dot,ps,png,html}.
----------------------------------------
27148: tolerable ALL FAIL
flight 27148 linux-3.10 real-bisect [real]
http://www.chiark.greenend.org.uk/~xensrcts/logs/27148/
Failures :-/ but no regressions.
Tests which did not succeed,
including tests which could not be run:
test-amd64-i386-freebsd10-amd64 10 guest-saverestore fail baseline untested
jobs:
test-amd64-i386-freebsd10-amd64 fail
------------------------------------------------------------
sg-report-flight on osstest.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images
Logs, config files, etc. are available at
http://www.chiark.greenend.org.uk/~xensrcts/logs
Test harness code can be found at
http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |